Sha256: 4c49346a2bf17fc9ead7f796ad4d239f0359951196ec2d55a0c6e6d4a4b49de1

Contents?: true

Size: 889 Bytes

Versions: 2

Compression:

Stored size: 889 Bytes

Contents

module Quandl
class Data
module Attributes
  
  extend ActiveSupport::Concern
  
  module ClassMethods
    
    def with_type(type)
      type = type.to_s.downcase.to_sym
      case type
      when :dirty, :babelfish then Quandl::Babelfish::Data
      else 
        Quandl::Data 
      end
    end
    
  end
  
  def initialize(*args)
    self.pristine_data = args.first
    self.attributes = args.extract_options!
  end
  
  def headers=(value)
    # only assign arrays
    @headers = value.flatten if value.kind_of?(Array)
  end
  def headers
    @headers
  end
  def headers?
    headers.present?
  end
  
  def attributes
    @attributes ||= {}
  end
  def attributes=(attrs)
    assign_attributes(attrs)
    attributes
  end
  def assign_attributes(attrs)
    attrs.each do |name, value|
      self.send("#{name}=", value) if self.respond_to?("#{name}=")
    end
  end
  
end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quandl_data-1.3.2 lib/quandl/data/attributes.rb
quandl_data-1.3.1 lib/quandl/data/attributes.rb