class Bgg::User
Attributes
avatar_link[R]
country[R]
first_name[R]
id[R]
last_login[R]
last_name[R]
name[R]
state[R]
year_registered[R]
Public Class Methods
find_by_id(user_id)
click to toggle source
# File lib/bgg/user.rb, line 20 def self.find_by_id(user_id) user_id = Integer(user_id) if user_id < 1 raise ArgumentError.new('user_id must be greater than zero!') end user_data = BggApi.user({id: user_id}) if user_data['id'].empty? raise ArgumentError.new('User does not exist') end Bgg::User.new(user_data) end
find_by_name(user_name)
click to toggle source
# File lib/bgg/user.rb, line 34 def self.find_by_name(user_name) if user_name !~ /^\w+$/ raise ArgumentError.new('find_by_name must be passed a string!') end user_data = BggApi.user({name: user_name}) if user_data['id'].empty? raise ArgumentError.new('User does not exist') end Bgg::User.new(user_data) end
new(user_data)
click to toggle source
# File lib/bgg/user.rb, line 7 def initialize(user_data) @id = user_data['id'] @first_name = user_data['firstname'][0]['value'] @last_name = user_data['lastname'][0]['value'] @name = user_data['name'] @avatar_link = user_data['avatarlink'][0]['value'] @country = user_data['country'][0]['value'] @last_login = user_data['lastlogin'][0]['value'] @state = user_data['stateorprovince'][0]['value'] @year_registered = user_data['yearregistered'][0]['value'] end
Public Instance Methods
collection()
click to toggle source
# File lib/bgg/user.rb, line 52 def collection Bgg::Collection.find_by_username(self.name) end
play_count()
click to toggle source
# File lib/bgg/user.rb, line 47 def play_count some_plays = BggApi.plays({username: self.name, page: 1}) some_plays.fetch('total', 0).to_i end
plays()
click to toggle source
# File lib/bgg/user.rb, line 56 def plays Bgg::Plays.find_by_username(self.name) end