class BombBomb::API

Public Class Methods

new(email, pw) click to toggle source
# File lib/bomb_bomb.rb, line 7
def initialize(email, pw)
  @email = email
  @pw    = pw
end

Public Instance Methods

call(method, args) click to toggle source
# File lib/bomb_bomb.rb, line 12
def call(method, args)
  parsed_response = make_call(method, args)
  parsed_response
end
method_missing(method, *args) click to toggle source
# File lib/bomb_bomb.rb, line 17
def method_missing(method, *args)
  method = camelize_method(method)
  call(method, args)
end

Private Instance Methods

camelize_method(method) click to toggle source
# File lib/bomb_bomb.rb, line 36
def camelize_method(method)
  method = method.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
  testmethod = method[0].chr.upcase + method[1..-1]
end
make_call(method, args) click to toggle source
# File lib/bomb_bomb.rb, line 31
def make_call(method, args)
  response = Curl.post("https://app.bombbomb.com/app/api/api.php?method=#{method}", param_fields(args))
  JSON.load("[#{response.body_str}]").first
end
param_fields(args) click to toggle source
# File lib/bomb_bomb.rb, line 23
def param_fields(args)
  params          = {}
  params["email"] = @email
  params["pw"]    = @pw
  params          = args.first.merge(params) if args.first
  params
end