Class: Quandl::Cassandra::Models::Multiset
- Inherits:
-
Dataset
- Object
- Base
- Dataset
- Quandl::Cassandra::Models::Multiset
show all
- Defined in:
- lib/quandl/cassandra/models/multiset.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Dataset
#data, #data=, #reload, #trim_end, #trim_start
#column_attributes=, #column_names, #column_units, #columns
Class Method Details
.with_columns(datasets_columns) ⇒ Object
9
10
11
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 9
def with_columns(datasets_columns)
self.new( datasets_columns: datasets_columns )
end
|
Instance Method Details
#column_frequencies ⇒ Object
19
20
21
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 19
def column_frequencies
@column_frequencies ||= columns.collect(&:frequency)
end
|
#column_ids ⇒ Object
23
24
25
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 23
def column_ids
@column_ids ||= column_ids_from_datasets_columns
end
|
#column_ids_from_datasets_columns ⇒ Object
27
28
29
30
31
32
33
34
35
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 27
def column_ids_from_datasets_columns
ids = []
datasets_columns.to_s.split(',').each do |dataset_column|
dataset_id, column = dataset_column.split('.')
datasets[dataset_id] ||= Quandl::Cassandra::Models::Dataset.find(dataset_id).try(:column_ids)
ids << datasets[dataset_id][ column.to_i - 1 ] if datasets[dataset_id].is_a?(Array)
end
ids
end
|
#data_scope ⇒ Object
15
16
17
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 15
def data_scope
Quandl::Cassandra::Models::Data.collapse(:source).column_ids( column_ids ).column_frequencies( column_frequencies )
end
|
#dataset_attribute ⇒ Object
#datasets ⇒ Object
37
38
39
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 37
def datasets
@datasets ||= {}
end
|
#frequency ⇒ Object
41
42
43
44
45
46
47
48
|
# File 'lib/quandl/cassandra/models/multiset.rb', line 41
def frequency
return @frequency if @frequency
uniq_freqs = column_frequencies.compact.uniq
Quandl::Operation::Collapse.valid_collapses.each do |collapse|
@frequency = collapse.to_s if uniq_freqs.include?(collapse.to_s)
end
@frequency
end
|