class MailRU::API::DSL
Public Class Methods
new(api, group, &block)
click to toggle source
# File lib/mailru/api/dsl.rb, line 4 def initialize api, group, &block @api = api @group = group instance_eval(&block) if block_given? end
Public Instance Methods
api(name, method = :get, secure = Request::Secure::Any)
click to toggle source
# File lib/mailru/api/dsl.rb, line 10 def api name, method = :get, secure = Request::Secure::Any raise Error.create(0, 'HTTP method must be GET or POST!') unless [:get, :post].include?(method) __send__(:define_singleton_method, underscore(name)) do |params = {}| return @api.get("#{@group}.#{name}", params, secure) if method == :get return @api.post("#{@group}.#{name}", params, secure) if method == :post end end
Private Instance Methods
underscore(s)
click to toggle source
# File lib/mailru/api/dsl.rb, line 21 def underscore s s.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end