class GitNetworkitis::Repository
Attributes
description[RW]
forks[RW]
has_downloads[RW]
has_wiki[RW]
homepage[RW]
name[RW]
open_issues[RW]
owner[RW]
private[RW]
size[RW]
url[RW]
watchers[RW]
Public Instance Methods
find(options={})
click to toggle source
# File lib/gitnetworkitis/repository.rb, line 28 def find(options={}) if options.has_key?(:owner) & options.has_key?(:repo) resp = get("/repos/#{options[:owner]}/#{options[:repo]}") parse_attributes(parse_json(resp.body.to_s), Repository.new(token)) end end
find_all(options={})
click to toggle source
TODO use options to handle the optional filter params that github v3 supports
# File lib/gitnetworkitis/repository.rb, line 7 def find_all(options={}) include_orgs = options.delete(:include_orgs) resp = get("/user/repos", type: (options[:type] || 'all')) user_repos = parse_json(resp.body.to_s).inject([]) do |repos, repo| repos << parse_attributes(repo, Repository.new(token)) end include_orgs ? user_repos + org_member_repos : user_repos end
org_member_repos()
click to toggle source
# File lib/gitnetworkitis/repository.rb, line 17 def org_member_repos resp = get("/user/orgs") org_names = parse_json(resp.body.to_s).map {|o| o['login'] } org_names.inject([]) do |org_repos, org_name| resp = get("/orgs/#{org_name}/repos", type: 'member') org_repos += parse_json(resp.body.to_s).inject([]) do |this_org_repos, repo| this_org_repos << parse_attributes(repo, Repository.new(token)) end end end
remote_id()
click to toggle source
# File lib/gitnetworkitis/repository.rb, line 35 def remote_id return "#{self.owner['login']}/#{self.name}" end