class Quandl::List
Attributes
meta[R]
values[R]
Public Class Methods
new(klass, values, meta)
click to toggle source
# File lib/quandl/model/list.rb, line 5 def initialize(klass, values, meta) @klass = klass @values = values.map { |v| klass.new(v, meta: meta) } @meta = meta end
Public Instance Methods
inspect()
click to toggle source
# File lib/quandl/model/list.rb, line 32 def inspect { meta: @meta, values: @values }.to_s end
more_results?()
click to toggle source
# File lib/quandl/model/list.rb, line 11 def more_results? raise(QuandlError, "#{@klass} does not support pagination yet") if !@meta.key?('total_pages') && !@meta.key?('current_page') @meta['total_pages'] > @meta['current_page'] end
to_a()
click to toggle source
# File lib/quandl/model/list.rb, line 17 def to_a @values.map(&:to_a) end
to_csv()
click to toggle source
# File lib/quandl/model/list.rb, line 21 def to_csv raise(QuandlError, 'No values to export') if @values.empty? CSV.generate do |csv| csv << @values.first.column_names @values.each do |row| csv << row.to_a end end end
Private Instance Methods
method_missing(method_name, *args, &block)
click to toggle source
Calls superclass method
# File lib/quandl/model/list.rb, line 38 def method_missing(method_name, *args, &block) return @meta[method_name.to_s] if @meta.key?(method_name.to_s) return @meta[*args] if method_name.to_s == '[]' && @meta.key?(args[0].to_s) return @values.method(method_name).call(*args, &block) if @values.respond_to?(method_name) super end