Class: CanadianMergers::MergerList

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

Overview

Instantiate list from merger objects

Class Method Summary collapse

Class Method Details

.format_merger(merger) ⇒ Object



28
29
30
# File 'lib/canadian_mergers/merger_list.rb', line 28

def self.format_merger(merger)
  merger.gsub(',', ",\n")
end

.table(year, month) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/canadian_mergers/merger_list.rb', line 4

def self.table(year, month)
  # Constructs table from array of merger objects using terminal-table
  CanadianMergers::Scrape.new(year, month).table_data
  headings = ['Parties to Transaction', 'Industry', 'Result']

  table = Terminal::Table.new headings: headings do |t|
    CanadianMergers::Merger.all.each do |merger|
      parties = format_merger(merger.parties)
      t.add_row [parties, merger.industry, merger.result]
    end
    t.style = { all_separators: true, alignment: :center }
  end
  puts table
end

.to_csv(year, month) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/canadian_mergers/merger_list.rb', line 19

def self.to_csv(year, month)
  CSV.open("#{month}_#{year}_mergers.csv", 'w') do |csv|
    CanadianMergers::Merger.all.each do |merger|
      csv << [merger.parties, merger.industry, merger.result]
    end
  end
  puts 'CSV created!'
end