class Quandl::Client::Superset
Public Class Methods
example()
click to toggle source
# File lib/quandl/client/models/superset.rb, line 27 def self.example self.new( code: "SUPERSET_EXAMPLE", name: "Superset Name", description: "Superset description", column_codes: ['NSE.OIL.1'], column_names: ['Column Name'] ) end
find_or_build( attributes={} )
click to toggle source
# File lib/quandl/client/models/superset.rb, line 13 def self.find_or_build( attributes={} ) attrs = attributes.symbolize_keys! # by id record = self.find(attrs[:id]) if attrs[:id].present? # by source_code/code record = self.find(File.join(attrs[:source_code], attrs[:code])) if !record.try(:exists?) && attrs[:source_code].present? && attrs[:code].present? # by code record = self.find(attrs[:code]) if !record.try(:exists?) && attrs[:code].present? # build record = self.new unless record.try(:exists?) record.assign_attributes(attrs) record end
Public Instance Methods
data()
click to toggle source
# File lib/quandl/client/models/superset.rb, line 31 def data @data ||= Quandl::Client::Dataset::Data.with_id(id) end
full_code()
click to toggle source
# File lib/quandl/client/models/superset.rb, line 39 def full_code File.join(self.source_code.to_s, self.code.to_s) end
full_url()
click to toggle source
# File lib/quandl/client/models/superset.rb, line 35 def full_url File.join(Quandl::Client::Base.url.gsub(/api\/?/, ''), full_code) end
Protected Instance Methods
column_codes_should_be_valid!()
click to toggle source
# File lib/quandl/client/models/superset.rb, line 45 def column_codes_should_be_valid! # must be an array unless column_codes.respond_to?(:each) # failure self.errors.add( :column_codes, "expected an array, but got #{column_codes.class}.") # nothing more to do return false end # check each code column_codes.each do |code| # is the code valid? next if code =~ /#{Quandl::Pattern.code}\.#{Quandl::Pattern.code}\.[0-9]+/ # otherwise report error self.errors.add( :column_codes, "Code '#{code}' is invalid. Expected: /#{Quandl::Pattern.code.to_example}.#{Quandl::Pattern.code.to_example}.INTEGER/" ) # nothing more to do here return false end # success true end