Class: MtgApiRequest

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

Constant Summary collapse

URL =
'https://api.magicthegathering.io/v1/cards'
PARALLEL_COUNT =
40

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMtgApiRequest

Returns a new instance of MtgApiRequest.



13
14
15
# File 'lib/mtg_api_request.rb', line 13

def initialize
  @results = []
end

Instance Attribute Details

#resultsObject (readonly)

Returns the value of attribute results.



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

def results
  @results
end

Instance Method Details

#makeObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/mtg_api_request.rb', line 17

def make
  while unfetched_pages.any?
    @temp_results = []
    connection.in_parallel do
      unfetched_pages.sample(PARALLEL_COUNT).each do |page|
        fetch_page(page)
      end
    end

    process_results(@temp_results)
  end
end