Class: Gitrob::Github::Organization

Inherits:
Object
  • Object
show all
Defined in:
lib/gitrob/github/organization.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, http_client) ⇒ Organization

Returns a new instance of Organization.



6
7
8
# File 'lib/gitrob/github/organization.rb', line 6

def initialize(name, http_client)
  @name, @http_client = name, http_client
end

Instance Attribute Details

#http_clientObject (readonly)

Returns the value of attribute http_client.



4
5
6
# File 'lib/gitrob/github/organization.rb', line 4

def http_client
  @http_client
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/gitrob/github/organization.rb', line 4

def name
  @name
end

Instance Method Details

#avatar_urlObject



34
35
36
# File 'lib/gitrob/github/organization.rb', line 34

def avatar_url
  info['avatar_url']
end

#display_nameObject



10
11
12
# File 'lib/gitrob/github/organization.rb', line 10

def display_name
  info['name'].to_s.empty? ? info['login'] : info['name']
end

#emailObject



26
27
28
# File 'lib/gitrob/github/organization.rb', line 26

def email
  info['email']
end

#locationObject



22
23
24
# File 'lib/gitrob/github/organization.rb', line 22

def location
  info['location']
end

#loginObject



14
15
16
# File 'lib/gitrob/github/organization.rb', line 14

def 
  info['login']
end

#membersObject



42
43
44
# File 'lib/gitrob/github/organization.rb', line 42

def members
  @members ||= recursive_members
end

#repositoriesObject



38
39
40
# File 'lib/gitrob/github/organization.rb', line 38

def repositories
  @repositories ||= recursive_repositories
end

#save_to_database!Object



58
59
60
# File 'lib/gitrob/github/organization.rb', line 58

def save_to_database!
  self.to_model.tap { |m| m.save }
end

#to_modelObject



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/gitrob/github/organization.rb', line 46

def to_model
  Gitrob::Organization.new(
    :name       => self.display_name,
    :login      => self.,
    :website    => self.website,
    :location   => self.location,
    :email      => self.email,
    :avatar_url => self.avatar_url,
    :url        => self.url
  )
end

#urlObject



30
31
32
# File 'lib/gitrob/github/organization.rb', line 30

def url
  "https://github.com/#{name}"
end

#websiteObject



18
19
20
# File 'lib/gitrob/github/organization.rb', line 18

def website
  info['blog']
end