Class: Quandl::Client::Superset
- Inherits:
-
Base
- Object
- Base
- Quandl::Client::Superset
show all
- Defined in:
- lib/quandl/client/models/superset.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
her_api, models, models_use_her_api!, url_with_version, use
Class Method Details
.example ⇒ Object
21
22
23
|
# File 'lib/quandl/client/models/superset.rb', line 21
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 = {}) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/quandl/client/models/superset.rb', line 13
def self.find_or_build( attributes={} )
record = self.find(attributes[:id]) if attributes[:id].present?
record = self.where( attributes.slice(:code, :source_code).merge( owner: 'myself' ) ).first unless record.try(:exists?)
record = self.new unless record.try(:exists?)
record.assign_attributes(attributes)
record
end
|
Instance Method Details
#column_codes_should_be_valid! ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/quandl/client/models/superset.rb', line 39
def column_codes_should_be_valid!
unless column_codes.respond_to?(:each)
self.errors.add( :column_codes, "expected an array, but got #{column_codes.class}.")
return false
end
column_codes.each do |code|
next if code =~ /#{Quandl::Pattern.code}\.#{Quandl::Pattern.code}\.[0-9]+/
self.errors.add( :column_codes, "Code '#{code}' is invalid. Expected: /#{Quandl::Pattern.code.to_example}.#{Quandl::Pattern.code.to_example}.INTEGER/" )
return false
end
true
end
|
#data ⇒ Object
25
26
27
|
# File 'lib/quandl/client/models/superset.rb', line 25
def data
@data ||= Quandl::Client::Dataset::Data.with_id(id)
end
|
#full_code ⇒ Object
33
34
35
|
# File 'lib/quandl/client/models/superset.rb', line 33
def full_code
File.join(self.source_code.to_s, self.code.to_s)
end
|
#full_url ⇒ Object
29
30
31
|
# File 'lib/quandl/client/models/superset.rb', line 29
def full_url
File.join(Quandl::Client::Base.url.gsub(/api\/?/, ''), full_code)
end
|