Sha256: 220595cefdc17b7ef5081bccb19f1941434e788ddbc68aec45010024790bfa3c

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

module Quandl
module Cassinatra
module Model

class Multiset

  include Model::Dataset::Searchable
  include Concerns::Properties
  
  
  search_helper :to_dataset, -> { dataset }
  search_helper :dataset, -> { find('multiset') }
  
  search_scope :columns, ->(v){ where( columns: format_columns(v) ) }
  
  search_helper :format_columns, ->(cols){
    cols.split(',').collect do |column|
      id_position = column.split('.')
      id = id_position.first.to_i
      position = id_position.last.to_i
      position = position - 1 if position > 0
      "#{id}.#{position}"
    end.join(',')
  }

  attributes :id, :column_ids, :data

  delegate :columns_count, :created_at, :frequency, :rows_count, :type, :updated_at, to: :dataset_attribute

  def data_table
    Data::Table.new( self.data || [] )
  end
  def dataset_attribute(*args)
    return @dataset_attribute if @dataset_attribute
    # options
    options = args.extract_options!
    count = options[:count] == true
    # grab dataset_attribute
    @dataset_attribute = DatasetAttribute.where( count: count ).find(id)
  end
  
end

end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quandl_cassinatra-0.1.10 lib/quandl/cassinatra/model/multiset.rb
quandl_cassinatra-0.1.9 lib/quandl/cassinatra/model/multiset.rb