Class: Ahub::User
Class Method Summary collapse
Instance Method Summary collapse
- #answers ⇒ Object
-
#initialize(attrs) ⇒ User
constructor
A new instance of User.
- #questions ⇒ Object
Methods included from APIResource
Constructor Details
#initialize(attrs) ⇒ User
Returns a new instance of User.
22 23 24 25 |
# File 'lib/ahub/user.rb', line 22 def initialize(attrs) super @groups = attrs[:groups].map{|group| Ahub::Group.new(group)} if attrs[:groups] end |
Class Method Details
.create(username:, email:, password: nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/ahub/user.rb', line 5 def self.create(username:, email:, password:nil) url = "#{base_url}.json" payload = { email: email, username: username, password: password || Ahub::DEFAULT_PASSWORD, } create_resource(url: url, payload: payload, headers: admin_headers) end |
.find_by_username(username) ⇒ Object
17 18 19 20 |
# File 'lib/ahub/user.rb', line 17 def self.find_by_username(username) matches = find_all(params: {q: username}) matches.find{|user| user.username.downcase.strip == username.downcase.strip} end |
Instance Method Details
#answers ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/ahub/user.rb', line 36 def answers unless @answers url = "#{self.class.base_url}/#{id}/answer.json" @answers = self.class.get_resources(url: url, headers: self.class.admin_headers, klass: Ahub::Answer) end @answers end |
#questions ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/ahub/user.rb', line 27 def questions unless @questions url = "#{self.class.base_url}/#{id}/question.json" @questions = self.class.get_resources(url: url, headers: self.class.admin_headers, klass: Ahub::Question) end @questions end |