Class: GitMassDo::RepositoryFetcher

Inherits:
Object
  • Object
show all
Defined in:
lib/git_mass_do/repository_fetcher.rb

Constant Summary collapse

REPOS_URI =
'https://api.github.com/users/%{username}/repos'

Class Method Summary collapse

Class Method Details

.get_all_repos_from_user(username) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/git_mass_do/repository_fetcher.rb', line 8

def self.get_all_repos_from_user(username)
  uri_str = REPOS_URI % { username: username }
  uri = URI(uri_str)

  response = Net::HTTP.get_response(uri)
  repos = JSON.parse(response.body)

  repos.map { |hash| make_struct(hash) }
end

.get_repo(url) ⇒ Object



18
19
20
21
# File 'lib/git_mass_do/repository_fetcher.rb', line 18

def self.get_repo(url)
  response = Net::HTTP.get_response(URI(url))
  make_struct(JSON.parse(response.body))
end

.make_struct(hash) ⇒ Object



23
24
25
# File 'lib/git_mass_do/repository_fetcher.rb', line 23

def self.make_struct(hash)
  RecursiveOpenStruct.new(hash, recurse_over_arrays: true)
end