quandl_cassinatra 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -43,7 +43,7 @@ require 'quandl/cassinatra'
43
43
 
44
44
  d = Quandl::Cassinatra::Model::Dataset.new
45
45
  d.id = 5893853
46
- d.data = Quandl::Data::Random.table(rows: 10, columns: 4, nils: false).to_csv
46
+ d.data = Quandl::Fabricate::Data::Table.rand(rows: 10, columns: 4, nils: false).to_csv
47
47
  d.save
48
48
 
49
49
  d = Quandl::Cassinatra::Model::Dataset.find(5893853)
data/UPGRADE.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.2.1
2
+
3
+ * add Dataset#delete_rows(*dates)
4
+ * add Dataset#delete_data
5
+ * replace Data::Random with Quandl::Fabricate
6
+
7
+
1
8
  ## 0.2.0
2
9
 
3
10
  * add support column Dataset#columns, #column_names, #column_units
@@ -7,11 +14,13 @@
7
14
 
8
15
  * parse_json responds with more informative error
9
16
 
17
+
10
18
  ## 0.1.15
11
19
 
12
20
  * add status, blank?, saved?, exists?
13
21
  * fail gracefully when parse_json receives nil body due to api throwing 500 error
14
22
 
23
+
15
24
  ## 0.1.14
16
25
 
17
26
  * add Dataset#trim_start, Dataset#trim_end
@@ -27,7 +27,7 @@ class Dataset
27
27
  def data_table=(value)
28
28
  self.data = Data::Table.new(value).to_csv
29
29
  end
30
-
30
+
31
31
  def dataset_attribute(*args)
32
32
  return @dataset_attribute if @dataset_attribute
33
33
  # options
@@ -37,6 +37,15 @@ class Dataset
37
37
  @dataset_attribute = DatasetAttribute.where( count: count ).find(id)
38
38
  end
39
39
 
40
+ def delete_data
41
+ Dataset.delete("/datasets/#{id.to_i}/data").status
42
+ end
43
+
44
+ def delete_rows(*dates)
45
+ query = { dates: Array(dates).flatten }.to_query
46
+ Dataset.delete("/datasets/#{id.to_i}/data/rows?#{query}").status
47
+ end
48
+
40
49
  end
41
50
  end
42
51
  end
@@ -1,5 +1,5 @@
1
1
  module Quandl
2
2
  module Cassinatra
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
5
5
  end
@@ -2,7 +2,7 @@ FactoryGirl.define do
2
2
 
3
3
  factory :dataset do
4
4
  sequence(:id) { |n| (Time.now.to_f * 1000).to_i + n }
5
- data_table{ Quandl::Data::Random.table( rows: 730, columns: 3, nils: false ) }
5
+ data_table{ Quandl::Fabricate::Data::Table.rand( rows: 730, columns: 3, nils: false ) }
6
6
  end
7
7
 
8
8
  end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe Dataset do
5
+
6
+ let(:dataset){ create(:dataset) }
7
+ subject{ Dataset.find(dataset.id) }
8
+
9
+ its(:data){ should be_present }
10
+
11
+ describe "#delete_data" do
12
+ before(:each){ subject.delete_data }
13
+ it "data should be blank" do
14
+ Dataset.find(dataset.id).data.should be_blank
15
+ end
16
+ end
17
+
18
+ describe "#delete_rows" do
19
+
20
+ let(:dates_slice){ dataset.data_table.to_h.keys[10..19] }
21
+
22
+ before(:each){ subject.delete_rows( dates_slice ) }
23
+
24
+ its(:status){ should eq 200 }
25
+
26
+ it "data count should be 720" do
27
+ Dataset.find( dataset.id ).data_table.count.should eq 720
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -2,14 +2,13 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Multiset do
5
- let(:d1){ create(:dataset, data_table: Quandl::Data::Random.table( rows: 10, columns: 4, nils: false ) ) }
6
- let(:d2){ create(:dataset, data_table: Quandl::Data::Random.table( rows: 10, columns: 4, nils: false ) ) }
5
+ let(:d1){ create(:dataset, data_table: Quandl::Fabricate::Data::Table.rand( rows: 10, columns: 4, nils: false ) ) }
6
+ let(:d2){ create(:dataset, data_table: Quandl::Fabricate::Data::Table.rand( rows: 10, columns: 4, nils: false ) ) }
7
7
 
8
8
  context "given ascending columns" do
9
9
 
10
10
  it "should return the expected column_ids" do
11
11
  [d1, d2]
12
- sleep 0.2
13
12
  m = Multiset.columns("#{d2.id.to_i}.1,#{d1.id.to_i}.1,#{d2.id.to_i}.3,#{d1.id.to_i}.2").to_dataset
14
13
  m.column_ids.should eq [
15
14
  Dataset.find(d2.id).column_ids[0],
@@ -18,7 +17,7 @@ describe Multiset do
18
17
  Dataset.find(d1.id).column_ids[1],
19
18
  ]
20
19
  end
21
-
20
+
22
21
  it "should return the expected columns" do
23
22
  [d1, d2]
24
23
  sleep 1
data/spec/spec_helper.rb CHANGED
@@ -11,10 +11,8 @@ RSpec.configure do |config|
11
11
  config.include FactoryGirl::Syntax::Methods
12
12
  end
13
13
 
14
-
15
- # LOAD GEM
16
-
14
+ require "quandl/fabricate"
17
15
  require "quandl/cassinatra"
18
- Quandl::Cassinatra.use 'http://192.168.33.10:8983/wikiposit_cassandra/'
19
- # Quandl::Cassinatra.use 'http://localhost:9292/'
20
- include Quandl::Cassinatra
16
+ # Quandl::Cassinatra.use 'http://192.168.33.10:8983/wikiposit_cassandra/'
17
+ Quandl::Cassinatra.use 'http://localhost:9292/'
18
+ include Quandl::Cassinatra
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quandl_cassinatra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-02 00:00:00.000000000 Z
12
+ date: 2013-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -253,6 +253,7 @@ files:
253
253
  - lib/quandl/her/patch.rb
254
254
  - quandl_cassinatra.gemspec
255
255
  - spec/factories/dataset.rb
256
+ - spec/quandl/cassinatra/dataset/delete_spec.rb
256
257
  - spec/quandl/cassinatra/dataset/persistence_spec.rb
257
258
  - spec/quandl/cassinatra/dataset/searchable_spec.rb
258
259
  - spec/quandl/cassinatra/dataset/trim_spec.rb
@@ -285,6 +286,7 @@ specification_version: 3
285
286
  summary: Cassinatra rest orm.
286
287
  test_files:
287
288
  - spec/factories/dataset.rb
289
+ - spec/quandl/cassinatra/dataset/delete_spec.rb
288
290
  - spec/quandl/cassinatra/dataset/persistence_spec.rb
289
291
  - spec/quandl/cassinatra/dataset/searchable_spec.rb
290
292
  - spec/quandl/cassinatra/dataset/trim_spec.rb