Class: Quandl::Cassandra::Models::Column::Write::GroupDataByColumn
- Inherits:
-
Quandl::Cassandra::Models::Column::Write
- Object
- Strategy::Strategize
- Quandl::Cassandra::Models::Column::Write
- Quandl::Cassandra::Models::Column::Write::GroupDataByColumn
- Defined in:
- lib/quandl/cassandra/models/column/write/group_data_by_column.rb
Instance Method Summary collapse
- #column_id(index) ⇒ Object
- #group_by_statement_values ⇒ Object
-
#perform ⇒ Object
INPUTS { source: [ [1,2,3], [2,4,8], … ], weekly: … }.
Methods inherited from Quandl::Cassandra::Models::Column::Write
Instance Method Details
#column_id(index) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/quandl/cassandra/models/column/write/group_data_by_column.rb', line 29 def column_id(index) # ensure column_ids is defined self.column_ids ||= Quandl::Cassandra::Models::Dataset.find_column_ids_by_id(id) # ensure column_ids[index] is present self.column_ids[index] ||= Cql::Uuid.new(SecureRandom.uuid) end |
#group_by_statement_values ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/quandl/cassandra/models/column/write/group_data_by_column.rb', line 10 def group_by_statement_values # for each [ [date, val, val], ... ] self.statement_values = [] frequency_data.each do |frequency, rows| frequency = frequency.to_s rows.each do |row| # extract date date = row[0] # for each [ val, val, ... ] row[1..-1].each_with_index do |value, index| # ensure array cid = column_id(index) # add to values self.statement_values << [ cid, frequency, date, value] unless value.blank? end end end end |
#perform ⇒ Object
INPUTS { source: [ [1,2,3], [2,4,8], … ], weekly: … }
6 7 8 |
# File 'lib/quandl/cassandra/models/column/write/group_data_by_column.rb', line 6 def perform group_by_statement_values end |