class UserAgentParser::Cli

Public Class Methods

new(user_agent, options = {}) click to toggle source
# File lib/user_agent_parser/cli.rb, line 5
def initialize(user_agent, options = {})
  @user_agent = user_agent
  @options = options
end

Public Instance Methods

run!() click to toggle source
# File lib/user_agent_parser/cli.rb, line 10
def run!
  if @options[:family]
    @user_agent.family
  elsif @options[:name]
    @user_agent.name
  elsif @options[:version]
    with_version(&:to_s)
  elsif @options[:major]
    major
  elsif @options[:minor]
    minor
  elsif @options[:os]
    @user_agent.os.to_s
  elsif (format = @options[:format])
    format
      .gsub('%f', @user_agent.family)
      .gsub('%n', @user_agent.name)
      .gsub('%v', version.to_s)
      .gsub('%M', major.to_s)
      .gsub('%m', minor.to_s)
      .gsub('%o', @user_agent.os.to_s)
  else
    @user_agent.to_s
  end
end

Private Instance Methods

major() click to toggle source
# File lib/user_agent_parser/cli.rb, line 38
def major
  with_version(&:major)
end
minor() click to toggle source
# File lib/user_agent_parser/cli.rb, line 42
def minor
  with_version(&:minor)
end
version() click to toggle source
# File lib/user_agent_parser/cli.rb, line 46
def version
  @version ||= @user_agent.version
end
with_version() { |version| ... } click to toggle source
# File lib/user_agent_parser/cli.rb, line 50
def with_version
  yield(version) if version
end