Class: Quandl::Cassandra::Models::Dataset

Inherits:
Base
  • Object
show all
Includes:
Columns
Defined in:
lib/quandl/cassandra/models/dataset.rb

Direct Known Subclasses

Multiset

Defined Under Namespace

Modules: Columns

Instance Method Summary collapse

Methods included from Columns

#column_attributes=, #column_frequencies, #column_ids, #column_names, #column_units, #columns

Instance Method Details

#dataObject



32
33
34
35
36
37
38
# File 'lib/quandl/cassandra/models/dataset.rb', line 32

def data
  repair_columns
  # data set?
  return read_attribute(:data) if data?
  # read data
  @attributes[:data] ||= data_scope
end

#data=(rows) ⇒ Object



40
41
42
43
44
45
# File 'lib/quandl/cassandra/models/dataset.rb', line 40

def data=(rows)
  rows = Quandl::Data.new(rows) unless rows.is_a?(Quandl::Data)
  rows = rows.to_jd
  data_will_change!
  @attributes[:data] = rows
end

#data_scopeObject



47
48
49
# File 'lib/quandl/cassandra/models/dataset.rb', line 47

def data_scope
  Quandl::Cassandra::Models::Data.dataset(self)
end

#dataset_attributeObject



51
52
53
# File 'lib/quandl/cassandra/models/dataset.rb', line 51

def dataset_attribute
  @dataset_attribute ||= Quandl::Cassandra::Models::DatasetAttribute.find_or_build(id)
end

#reloadObject



55
56
57
# File 'lib/quandl/cassandra/models/dataset.rb', line 55

def reload
  clear_attributes!
end

#trim_endObject



26
27
28
29
30
# File 'lib/quandl/cassandra/models/dataset.rb', line 26

def trim_end
  @trim_end ||= Date.jd( data.scoped.limit(1).order(:desc)[0][0] )
rescue
  nil
end

#trim_startObject



20
21
22
23
24
# File 'lib/quandl/cassandra/models/dataset.rb', line 20

def trim_start
  @trim_start ||= Date.jd( data.scoped.limit(1).order(:asc)[0][0] )
rescue
  nil
end