Sha256: 590e7e4433f41a295b776e87fcb021b6bfb2b84fa69ec6202cae77cfa140df59
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module Quandl::Cassinatra::Dataset::Attributes extend ActiveSupport::Concern module ClassMethods end included do attributes :id, :data, :trim_start, :trim_end, :columns, :frequency, :rows_count, :type, :updated_at, :created_at end def column_units @column_units ||= columns.collect{|c| c['units'] } if columns.present? end def column_names @column_names ||= columns.collect{|c| c['name'] } if columns.present? end def column_ids @column_ids ||= columns.collect{|c| c['id'] } if columns.present? end def trim_start @trim_start ||= parse_julian_date( read_attribute(:trim_start) ) end def trim_end @trim_end ||= parse_julian_date( read_attribute(:trim_end) ) end def created_at @created_at ||= Time.parse(read_attribute(:created_at)) rescue nil end def updated_at @updated_at ||= Time.parse(read_attribute(:updated_at)) rescue nil end def reload # reset instance variables [:column_units, :column_names, :column_ids, :count_data, :scope, :updated_at, :created_at, :trim_start, :trim_end ].each{|n| instance_variable_set("@#{n}", nil) } # onwards super end protected def parse_julian_date(date) date = date.to_i unless date.is_a?(Integer) date = ( date > 0 ) ? Date.jd(date) : nil date end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quandl_cassinatra-0.2.3 | lib/quandl/cassinatra/models/dataset/attributes.rb |