Installation
gem 'quandl_client'
Configuration
require 'quandl/client'
Quandl::Client.use 'http://localhost:3000/api/'
Usage
Quandl::Client::Dataset
Search
search_scope :rows, :exclude_data, :exclude_headers, :trim_start, :trim_end, :transform, :collapse
datasets = Quandl::Client::Dataset.query('cobalt').source_code('ofdp').all
=> [#<Quandl::Client::Dataset(datasets) source_code="OFDP" code="COBALT_51">, ...]
Show
attributes :data, :source_code, :code, :name, :urlize_name, :description, :updated_at, :frequency, :from_date, :to_date, :column_names, :private, :type
d = Quandl::Client::Dataset.find('OFDP/COBALT_51')
d.full_code
d.data_table
d = Quandl::Client::Dataset.collapse('weekly').trim_start("2012-03-31").trim_end("2013-06-30").find('OFDP/COBALT_51')
d.data_table
d = Quandl::Client::Dataset.exclude_data('true').find('OFDP/COBALT_51')
d.data_table
Create
attributes = {
code: "TEST_12345",
source_code: 'OFDP',
name: "Test Upload #{Time.now.to_i}",
frequency: 'daily',
locations:
[
{
type: 'http',
url: 'http://test.com',
post_data: '[magic]',
cookie_url: 'http://cookies.com'
}
]
}
d = Dataset.create( attributes )
Errors
d = Dataset.create(code: 'TEST', source_code: 'OFDP', locations_attributes: [{ type: 'http', url: 'test.com' }] )
d.errors
=> {"locations.post_data"=>["can't be blank"], "locations.cookie_url"=>["can't be blank"], "name"=>["can't be blank"], "frequency"=>["is not included in the list"]}
Update
d = Dataset.find("OFDP/TEST_12345")
d.name = 'New Name'
d.data = Quandl::Data::Random.table.to_csv
d.save
d = Dataset.collapse(:weekly).find("OFDP/TEST_12345")
d.data
=> [[...],...]
Quandl::Client::Source
Search
sources = Quandl::Client::Source.query('canada').page(2).all
=> [#<Quandl::Client::Source(sources) code="STATCAN1" title="Stat Can">,...]
Show
sheet = Quandl::Client::Source.find('STATCAN1')
Quandl::Client::Sheet
Search
sheets = Quandl::Client::Sheet.query('canada').all
=> [[#<Quandl::Client::Sheet(sheets) title="La Canada Flintridge>,...]
Show
sheet = Quandl::Client::Sheet.find('housing/hood')
Create
include Quandl::Client
s = Sheet.create( title: 'ocean' )
s = Sheet.create( full_url_title: 'ocean/river', title: 'River' )
s = Sheet.create( full_url_title: 'ocean/river/lake', title: 'Lake!' )
Sheet.find('ocean').children.first.title
=> River
Update
Quandl::Client.token = 'xyz'
s = Quandl::Client::Sheet.find_by_url_title('hi_there')
s.title = 'another title'
s.save
Authentication
require 'quandl/client'
Quandl::Client.use 'http://localhost:3000/api/'
Quandl::Client.token = 'xyz'
s = Quandl::Client::Sheet.find_by_url_title('testing')
s.title = 'more testing'
s.save
=> true