Class: CbNitride::DiamondNumberSet

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

Constant Summary collapse

NEW_RELEASES_URL =
"http://www.previewsworld.com/Home/1/1/71/952"
UPCOMING_RELEASES_URL =
"http://www.previewsworld.com/Home/1/1/71/954"
MONTH_CODES =
['JAN', 'FEB', 'MAR', 'APR', 'JUN', 'MAY', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
YEAR_CODES =
['96', '97', '98', '99', '00', '01', '02', '03', '04', '05' '06','07','08','09','10','11','12','13']
POSSIBLE_DIAMOND_NUMBERS =
(1...9999)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.generate_all_diamond_numbersObject



17
18
19
# File 'lib/cb_nitride/diamond_number_set.rb', line 17

def self.generate_all_diamond_numbers
  new.brute_force_formatted_numbers
end

.generate_for(years: years) ⇒ Object



21
22
23
# File 'lib/cb_nitride/diamond_number_set.rb', line 21

def self.generate_for(years: years)
  new.brute_force_formatted_numbers(year_range: years)
end

.generate_imminent_diamond_numbersObject



9
10
11
# File 'lib/cb_nitride/diamond_number_set.rb', line 9

def self.generate_imminent_diamond_numbers
  new.imminent_numbers
end

.generate_recent_diamond_numbersObject



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

def self.generate_recent_diamond_numbers
  generate_for(years: ['10', '11', '12', '13', '14'])
end

Instance Method Details

#brute_force_formatted_numbers(year_range: YEAR_CODES, month_range: MONTH_CODES) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/cb_nitride/diamond_number_set.rb', line 31

def brute_force_formatted_numbers(year_range: YEAR_CODES, month_range: MONTH_CODES)
  year_range.map do |year|
    month_range.map do |month|
      generate_numbers(year, month)
    end
  end.flatten
end

#imminent_numbersObject



25
26
27
28
29
# File 'lib/cb_nitride/diamond_number_set.rb', line 25

def imminent_numbers
  [new_releases_page, upcoming_releases_page].map do |page|
    extract_diamond_numbers(page)
  end.flatten
end