Class: RubyLLM::MCP::Auth::Browser::Opener

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/mcp/auth/browser/opener.rb

Overview

Browser opening utilities for different operating systems Handles cross-platform browser launching

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger: nil) ⇒ Opener

Returns a new instance of Opener.



12
13
14
# File 'lib/ruby_llm/mcp/auth/browser/opener.rb', line 12

def initialize(logger: nil)
  @logger = logger || MCP.logger
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



10
11
12
# File 'lib/ruby_llm/mcp/auth/browser/opener.rb', line 10

def logger
  @logger
end

Instance Method Details

#open_browser(url) ⇒ Boolean

Open browser to URL

Parameters:

  • url (String)

    URL to open

Returns:

  • (Boolean)

    true if successful



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ruby_llm/mcp/auth/browser/opener.rb', line 19

def open_browser(url)
  case RbConfig::CONFIG["host_os"]
  when /darwin/
    system("open", url)
  when /linux|bsd/
    system("xdg-open", url)
  when /mswin|mingw|cygwin/
    system("start", url)
  else
    @logger.warn("Unknown operating system, cannot open browser automatically")
    false
  end
rescue StandardError => e
  @logger.warn("Failed to open browser: #{e.message}")
  false
end