lib/pilha/stack_overflow/user.rb in pilha-0.1.2 vs lib/pilha/stack_overflow/user.rb in pilha-0.1.3

- old
+ new

@@ -11,28 +11,38 @@ :user_questions_url, :user_answers_url, :user_favorites_url, :user_tags_url, :user_badges_url, :user_timeline_url, :user_mentioned_url, :user_comments_url, :user_reputation_url, :badge_counts - def initialize(hash) - @struct = OpenStruct.new hash - end - - def id - @struct.user_id - end - class << self attr_reader :client + def all(options = {}) + response = client.request('/users', options) + OpenStruct.new(parse response) + end + def find_by_badge_id(id, options = {}) options.merge! :id => id response = client.request('/badges/:id', options) - users = response['users'].map { |user| User.new(user) } - response['users'] = users - OpenStruct.new response + OpenStruct.new(parse response) end + + private + def parse(response) + users = response['users'].map { |user| User.new(user) } + response['users'] = users + response + end + end + + def initialize(hash) + @struct = OpenStruct.new hash + end + + def id + @struct.user_id end end end end