Class: SaasPulse::ArgParser

Inherits:
Object
  • Object
show all
Defined in:
lib/saas_pulse/arg_parser.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.named_argsObject (readonly)

Returns the value of attribute named_args.



6
7
8
# File 'lib/saas_pulse/arg_parser.rb', line 6

def named_args
  @named_args
end

Class Method Details

.parse(args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/saas_pulse/arg_parser.rb', line 8

def parse(args)
  new.tap do |parser|
    args.each do |arg, val|
      param = registered_args[arg]
      raise InvalidParamError, "'#{arg}' does not map to a valid param" unless param

      parser[param] = val
    end
  end
end

Instance Method Details

#[](arg) ⇒ Object



51
52
53
# File 'lib/saas_pulse/arg_parser.rb', line 51

def [](arg)
  instance_variable_get :"@#{arg}"
end

#[]=(arg, val) ⇒ Object



55
56
57
# File 'lib/saas_pulse/arg_parser.rb', line 55

def []=(arg, val)
  instance_variable_set :"@#{arg}", val
end

#to_paramsObject



45
46
47
48
49
# File 'lib/saas_pulse/arg_parser.rb', line 45

def to_params
  ArgParser.named_args.map do |arg|
    [arg, CGI.escape(self[arg].to_s)].join("=")
  end.join("&")
end