Module: Quandl::Data::Table::Operations
- Extended by:
- ActiveSupport::Concern
- Includes:
- Operation
- Included in:
- Quandl::Data::Table
- Defined in:
- lib/quandl/data/table/operations.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #collapse(*args) ⇒ Object
- #collapse=(collapse) ⇒ Object
- #frequency ⇒ Object
- #frequency=(value) ⇒ Object
- #parse(data) ⇒ Object
- #sort_ascending ⇒ Object
- #sort_ascending! ⇒ Object
- #sort_descending ⇒ Object
- #sort_descending! ⇒ Object
- #sort_order(dir) ⇒ Object
- #to_csv ⇒ Object
- #to_date ⇒ Object
- #to_date! ⇒ Object
- #to_h ⇒ Object
- #to_jd ⇒ Object
- #to_jd! ⇒ Object
- #transform(*args) ⇒ Object
- #transform=(value) ⇒ Object
Instance Method Details
#collapse(*args) ⇒ Object
82 83 84 85 86 |
# File 'lib/quandl/data/table/operations.rb', line 82 def collapse(*args) return @collapse unless args.first.present? self.collapse = args.first self end |
#collapse=(collapse) ⇒ Object
87 88 89 90 91 |
# File 'lib/quandl/data/table/operations.rb', line 87 def collapse=(collapse) @collapse = collapse @frequency = collapse @data_array = Collapse.perform( data_array, collapse ) end |
#frequency ⇒ Object
93 94 95 |
# File 'lib/quandl/data/table/operations.rb', line 93 def frequency @frequency ||= Collapse.frequency?( data_array ) end |
#frequency=(value) ⇒ Object
96 97 98 |
# File 'lib/quandl/data/table/operations.rb', line 96 def frequency=(value) @frequency = value.to_sym end |
#parse(data) ⇒ Object
100 101 102 103 |
# File 'lib/quandl/data/table/operations.rb', line 100 def parse(data) data = Parse.perform( data ) data end |
#sort_ascending ⇒ Object
56 57 58 |
# File 'lib/quandl/data/table/operations.rb', line 56 def sort_ascending Table.new( Parse.sort( data_array, :asc ), frequency: frequency ) end |
#sort_ascending! ⇒ Object
59 60 61 62 |
# File 'lib/quandl/data/table/operations.rb', line 59 def sort_ascending! @data_array = Parse.sort( data_array, :asc ) self end |
#sort_descending ⇒ Object
64 65 66 |
# File 'lib/quandl/data/table/operations.rb', line 64 def sort_descending Table.new( Parse.sort( data_array, :desc ), frequency: frequency ) end |
#sort_descending! ⇒ Object
67 68 69 70 |
# File 'lib/quandl/data/table/operations.rb', line 67 def sort_descending! @data_array = Parse.sort( data_array, :desc ) self end |
#sort_order(dir) ⇒ Object
52 53 54 |
# File 'lib/quandl/data/table/operations.rb', line 52 def sort_order(dir) dir == :asc ? sort_ascending! : sort_descending! end |
#to_csv ⇒ Object
32 33 34 |
# File 'lib/quandl/data/table/operations.rb', line 32 def to_csv data_array.collect(&:to_csv).join end |
#to_date ⇒ Object
44 45 46 |
# File 'lib/quandl/data/table/operations.rb', line 44 def to_date Parse.julian_to_date data_array end |
#to_date! ⇒ Object
47 48 49 50 |
# File 'lib/quandl/data/table/operations.rb', line 47 def to_date! @data_array = Parse.julian_to_date data_array self end |
#to_h ⇒ Object
25 26 27 28 29 30 |
# File 'lib/quandl/data/table/operations.rb', line 25 def to_h data_array.inject({}) do |memo, row| memo[row[0]] = row[1..-1] memo end end |
#to_jd ⇒ Object
36 37 38 |
# File 'lib/quandl/data/table/operations.rb', line 36 def to_jd Table.new( Parse.date_to_julian( data_array ), frequency: frequency ) end |
#to_jd! ⇒ Object
39 40 41 42 |
# File 'lib/quandl/data/table/operations.rb', line 39 def to_jd! @data_array = Parse.date_to_julian( data_array ) self end |
#transform(*args) ⇒ Object
72 73 74 75 76 |
# File 'lib/quandl/data/table/operations.rb', line 72 def transform(*args) return @transform unless args.first.present? self.transform = args.first self end |
#transform=(value) ⇒ Object
77 78 79 80 |
# File 'lib/quandl/data/table/operations.rb', line 77 def transform=(value) @transform = value @data_array = Transform.perform( data_array, value ) end |