class StackExchange::StackOverflow::Base

Attributes

api_methods[R]

Public Class Methods

client() click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 28
def client
  StackExchange::StackOverflow::Client.instance
end
new(hash) click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 33
def initialize(hash)
  @struct = OpenStruct.new hash
end
parse_with_class(hash, key, klass) click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 14
def parse_with_class(hash, key, klass)
  case hash[key]
  when Hash
    hash[key] = klass.new(hash[key])
  when Array
    hash[key] = hash[key].map { |value| klass.new(value) }
  end
end
request(path_pattern, id, options) click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 23
def request(path_pattern, id, options)
  options.merge! :id => id if id
  parse client.request(path_pattern, options)
end
setup_delegators(*delegators) click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 9
def setup_delegators(*delegators)
  @api_methods = delegators
  def_delegators *delegators
end

Public Instance Methods

api_methods() click to toggle source
# File lib/pilha/stack_overflow/base.rb, line 37
def api_methods
  self.class.api_methods 
end