Class: Quandl::Cassandra::Models::Column::Read::Transform
Instance Method Summary
collapse
#column_collapses, #column_ids, #column_ids=, #count?, perform
Instance Method Details
#apply_cumul ⇒ Object
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 10
def apply_cumul
return unless transform?( :cumul ) && limit.present?
attributes[:data_table] = Quandl::Cassandra::Models::Column::Read::Offset.call(attributes)
attributes[:row] = nil
attributes[:limit] = nil
attributes[:offset] = nil
end
|
#apply_rdiff ⇒ Object
21
22
23
24
25
26
27
28
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 21
def apply_rdiff
return unless transform? :rdiff, :diff
attributes[:limit] = attributes[:limit] + 1 if attributes[:limit]
self.trim_start = trim_start.occurrences_of_frequency_ago( 1, collapse ) if trim_start? && order == :desc
self.trim_end = trim_end.occurrences_of_frequency_ahead( 1, collapse ) if trim_end? && order == :asc
end
|
#limit ⇒ Object
37
38
39
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 37
def limit
attributes[:limit]
end
|
#order ⇒ Object
41
42
43
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 41
def order
@order ||= attributes[:order] == :asc ? :asc : :desc
end
|
3
4
5
6
7
8
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 3
def perform
return unless attributes[:transform].present?
apply_rdiff
apply_cumul
end
|
30
31
32
33
34
35
|
# File 'lib/quandl/cassandra/models/column/read/transform.rb', line 30
def transform?(*keys)
keys.each do |key|
return true if key == attributes[:transform]
end
false
end
|