Class: Gh::Trending::Developers

Inherits:
Object
  • Object
show all
Defined in:
lib/gh_trending/developers.rb

Overview

Returns an array of representation of the trending developers in github. Usage example: Gh::Trending::Developers.new.get(language: ‘ruby’)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parser: nil) ⇒ Developers

Returns a new instance of Developers.



13
14
15
16
# File 'lib/gh_trending/developers.rb', line 13

def initialize(parser: nil)
  @parser = parser || Gh::Trending::Parsers::DevelopersParser.new
  @developers_list = []
end

Instance Attribute Details

#developers_listObject (readonly)

Returns the value of attribute developers_list.



11
12
13
# File 'lib/gh_trending/developers.rb', line 11

def developers_list
  @developers_list
end

Instance Method Details

#[](idx) ⇒ Object



25
26
27
# File 'lib/gh_trending/developers.rb', line 25

def [](idx)
  developers_list[idx]
end

#get(*args) ⇒ Object



18
19
20
21
22
23
# File 'lib/gh_trending/developers.rb', line 18

def get(*args)
  parse_args = Gh::Trending::Parsers::ParserArguments.new(*args)
  developers_list.clear
  developers_list << @parser.parse(parse_args).to_a.compact
  developers_list.flatten!
end

#to_hObject



29
30
31
# File 'lib/gh_trending/developers.rb', line 29

def to_h
  developers_list.map(&:to_h)
end