Class: RubyStackoverflow::Client::User

Inherits:
Resource
  • Object
show all
Defined in:
lib/ruby-stackoverflow/client/resource/user.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes_hash) ⇒ User

Returns a new instance of User.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 8

def initialize(attributes_hash)
  @badges =  []
  @answers = []
  @comments = []
  @questions = []
  @reputations = []
  @suggested_edits=[]
  @tags = []
  @posts = []
  @permissions = []
  super
end

Instance Attribute Details

#answersObject (readonly)

Returns the value of attribute answers.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def answers
  @answers
end

#badgesObject (readonly)

Returns the value of attribute badges.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def badges
  @badges
end

#commentsObject (readonly)

Returns the value of attribute comments.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def comments
  @comments
end

#permissionsObject (readonly)

Returns the value of attribute permissions.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def permissions
  @permissions
end

#postsObject (readonly)

Returns the value of attribute posts.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def posts
  @posts
end

#questionsObject (readonly)

Returns the value of attribute questions.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def questions
  @questions
end

#reputationsObject (readonly)

Returns the value of attribute reputations.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def reputations
  @reputations
end

#suggested_editsObject (readonly)

Returns the value of attribute suggested_edits.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def suggested_edits
  @suggested_edits
end

#tagsObject (readonly)

Returns the value of attribute tags.



4
5
6
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 4

def tags
  @tags
end

Class Method Details

.parse_data(data) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/ruby-stackoverflow/client/resource/user.rb', line 22

def parse_data(data)
  users = []
  data.each do|attr_hash|
    if data_has_badge?(attr_hash)
      user = create_user(attr_hash, users, :user)
      user.badges.push(Badge.new(attr_hash))
    elsif data_has_answer?(attr_hash)
      user = create_user(attr_hash, users)
      user.answers.push(Answer.new(attr_hash))
    elsif data_has_comment?(attr_hash)
      user = create_user(attr_hash, users)
      user.comments.push(Comment.new(attr_hash))
    elsif data_has_question?(attr_hash)
      user = create_user(attr_hash, users)
      user.questions.push(Question.new(attr_hash))
    elsif data_has_reputation?(attr_hash)
      user = create_user(attr_hash, users, :user_id)
      user.reputations.push(Reputation.new(attr_hash))
    elsif data_has_suggested_edit?(attr_hash)
      user = create_user(attr_hash, users, :proposing_user)
      user.suggested_edits.push(SuggestedEdit.new(attr_hash))
    elsif data_has_tag_name?(attr_hash)
      user = create_user(attr_hash, users, :user_id)
      user.tags.push(Tag.new(attr_hash))
    elsif data_has_timeline?(attr_hash)
      user = create_user(attr_hash, users, :user_id)
      user.posts.push(Post.new(attr_hash))
    elsif data_has_permission_object?(attr_hash)
      user = create_user(attr_hash, users, :user_id)
      user.permissions.push(Permission.new(attr_hash))
    elsif data_has_notification?(attr_hash)
      users << Notification.new(attr_hash)
    else
      users << new(attr_hash)
    end
  end
  users
end