databox 0.1.2 → 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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.pryrc +7 -0
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +4 -7
  6. data/README.md +40 -149
  7. data/databox.gemspec +7 -17
  8. data/example.rb +17 -0
  9. data/lib/databox.rb +8 -22
  10. data/lib/databox/client.rb +42 -61
  11. data/lib/databox/configuration.rb +3 -8
  12. data/lib/databox/version.rb +1 -1
  13. data/spec/databox/client_spec.rb +42 -85
  14. data/spec/databox_spec.rb +9 -0
  15. data/spec/spec_helper.rb +3 -32
  16. metadata +26 -160
  17. data/lib/databox/integration.rb +0 -127
  18. data/spec/databox/bar_chart_spec.rb +0 -23
  19. data/spec/databox/big_number_spec.rb +0 -29
  20. data/spec/databox/compare_spec.rb +0 -22
  21. data/spec/databox/funnel_spec.rb +0 -30
  22. data/spec/databox/integration_spec.rb +0 -11
  23. data/spec/databox/interval_spec.rb +0 -23
  24. data/spec/databox/line_chart_spec.rb +0 -23
  25. data/spec/databox/messages_spec.rb +0 -52
  26. data/spec/databox/pie_spec.rb +0 -25
  27. data/spec/databox/pipeline_spec.rb +0 -24
  28. data/spec/databox/progress_spec.rb +0 -20
  29. data/spec/requests/bar_chart_simple.txt +0 -14
  30. data/spec/requests/big_number_simple.txt +0 -14
  31. data/spec/requests/compare_simple.txt +0 -14
  32. data/spec/requests/funnel_simple.txt +0 -14
  33. data/spec/requests/interval_simple.txt +0 -14
  34. data/spec/requests/invalid_push.txt +0 -19
  35. data/spec/requests/line_chart_simple.txt +0 -14
  36. data/spec/requests/logs.txt +0 -14
  37. data/spec/requests/multiple_message.txt +0 -14
  38. data/spec/requests/pie_simple.txt +0 -14
  39. data/spec/requests/pipeline_simple.txt +0 -14
  40. data/spec/requests/progress_simple.txt +0 -14
  41. data/spec/requests/simple_message.txt +0 -14
  42. data/spec/requests/simple_push.txt +0 -14
  43. data/test_rvms.sh +0 -16
@@ -1,13 +1,8 @@
1
1
  class Databox::Configuration
2
- attr_accessor \
3
- :key,
4
- :url,
5
- :token
2
+ attr_accessor :push_token, :push_host
6
3
 
7
4
  def initialize
8
- @url ||= ENV["DATABOX_URL"] || 'https://app.databox.com'
9
- @key ||= ENV["DATABOX_KEY"]
10
- @token ||= ENV["DATABOX_TOKEN"]
5
+ @push_host ||= 'https://push2new.databox.com'
6
+ @push_token ||= ENV['DATABOX_PUSH_TOKEN']
11
7
  end
12
-
13
8
  end
@@ -1,3 +1,3 @@
1
1
  module Databox
2
- VERSION = "0.1.2"
2
+ VERSION = '0.2.1'
3
3
  end
@@ -1,96 +1,53 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
+ require 'pp'
2
3
 
3
4
  describe Databox::Client do
4
- let(:client){ Databox.client }
5
-
6
- context "#push" do
7
-
8
- context "validation" do
9
-
10
- it do
11
- expect {
12
- client.push()
13
- }.to raise_error(Databox::InvalidRecord){ |e|
14
- expect(e.errors).to include "Data is missing"
15
- }
16
- end
17
-
18
- it do
19
- expect {
20
- client.push({})
21
- }.to raise_error(Databox::InvalidRecord)
22
- end
23
-
24
- it do
25
- expect {
26
- client.push({})
27
- }.to raise_error(Databox::InvalidRecord){ |e|
28
- expect(e.errors).to include "Key is required"
29
- # expect(e.errors).to include "Value is required"
30
- }
31
- end
32
-
33
- it do
34
- expect {
35
- client.push({key:" w d d", date:"", value:"Oto was here"})
36
- }.to raise_error(Databox::InvalidRecord){ |e|
37
- expect(e.errors).to include "Date format is invalid"
38
- expect(e.errors).to include "Key format is invalid"
39
- }
40
- end
41
-
42
- it "validates list" do
43
- expect {
44
- client.push([
45
- {date:"2014-01-29"},
46
- {key:"what", date:"2014-01-29"}
47
- ])
48
- }.to raise_error(Databox::InvalidRecord){ |e|
49
- expect(e.errors).to include "Key is required"
50
- }
51
- end
52
-
5
+ before do
6
+ Databox.configure do |c|
7
+ c.push_token = 'adxg1kq5a4g04k0wk0s4wkssow8osw84'
53
8
  end
54
9
 
55
- context "valid KPI" do
56
- before {
57
- stub_request(:post, /push/).to_return { request_from "simple_push" }
58
- }
59
-
60
- let(:data){ {
61
- key: "databox_visits",
62
- date: "2014-01-29",
63
- value: 1
64
- } }
65
-
66
- let!(:response){ client.push(data) }
10
+ allow_any_instance_of(Databox::Client).to receive(:raw_push)\
11
+ .and_return({'status' => 'ok'})
12
+ end
67
13
 
68
- it { expect(response).to be_kind_of(Databox::Response) }
69
- it { expect(response).to be_success }
14
+ let!(:client) { Databox::Client.new }
70
15
 
71
- end
16
+ context 'push' do
17
+ it { expect { client.push(nil) }.to raise_exception }
18
+ it { expect { client.push(key: 'sales.total', value: nil) }.to raise_exception }
19
+ it { expect { client.push(key: nil, value: 3000) }.to raise_exception }
20
+ it { expect(client.push(key: 'sales.total', value: 2000)).to eq true }
21
+ end
72
22
 
73
- # #TODO: Validation on server is down.
74
- # context "too many requests" do
75
- # before {
76
- # stub_request(:post, /push/).to_return { request_from "invalid_push" }
77
- # Databox::Client.any_instance.stub(:validate).and_return(true)
78
- # }
79
- # let(:data){{
80
- # key:"o t o",
81
- # date: "d d d",
82
- # value: "-2"
83
- # }}
84
- # let!(:response){ client.push(data) }
85
- # it { expect(response).to be_kind_of(Databox::ClientError) }
86
- # end
23
+ context 'push w/ attributes' do
24
+ it {
25
+ payload = {
26
+ key: 'test',
27
+ value: 200,
28
+ attributes: {
29
+ 'me': 'Oto'
30
+ }
31
+ }
87
32
 
33
+ expect(client).to receive(:raw_push)
34
+ .with('/', [
35
+ {"$test" => 200, :me => "Oto"}
36
+ ])
37
+ .once.and_call_original
38
+ expect(client.push(payload)).to eq true
39
+ }
88
40
  end
89
41
 
90
- context "#logs" do
91
- before { stub_request(:get, /logs/).to_return { request_from "logs" } }
92
- subject { client.logs }
93
- it { expect(subject).to be_kind_of Array }
94
- end
42
+ context 'insert_all' do
43
+ it { expect { client.insert_all([
44
+ {key: 'temp.lj'},
45
+ {key: 'temp.ljx', value: 60.3},
46
+ ]) }.to raise_exception }
95
47
 
96
- end
48
+ it { expect(client.insert_all([
49
+ {key: 'temp.ljx', value: 4.3},
50
+ {key: 'temp.ljx', value: 1.3, date: '2015-01-01 09:00:00'},
51
+ ])).to eq true }
52
+ end
53
+ end
data/spec/databox_spec.rb CHANGED
@@ -10,4 +10,13 @@ describe Databox do
10
10
  it { expect(ENV["DATABOX_MODE"]).to eq "test" }
11
11
  end
12
12
 
13
+ context 'configuration' do
14
+ before do
15
+ Databox.configure do |c|
16
+ c.push_token = ''
17
+ end
18
+ end
19
+
20
+ it { expect(Databox.configuration.push_host).to match /push/ }
21
+ end
13
22
  end
data/spec/spec_helper.rb CHANGED
@@ -1,41 +1,12 @@
1
- require "bundler/setup"
2
-
3
- if ENV["TRAVIS"]=="true"
4
- require 'coveralls'
5
- Coveralls.wear!
6
- end
7
-
8
- if ENV['COVERAGE']
9
- require 'simplecov'
10
- SimpleCov.start
11
- end
12
-
13
- require 'pry'
14
- require 'dotenv'
15
-
16
- if ENV["NO_WEBMOCK"] != "1"
17
- require 'webmock/rspec'
18
- WebMock.disable_net_connect!(allow_localhost: false)
19
- end
20
-
21
- Dotenv.load
1
+ require 'bundler/setup'
2
+ require 'databox'
22
3
 
23
4
  ENV["DATABOX_MODE"] = "test"
24
- ENV["DATABOX_KEY"] ||= "8s0igg41718gos00wwc40gkokwcowk84"
25
- ENV["DATABOX_TOKEN"] ||= "zqa9z737mxw4ck84"
26
-
27
- require "databox"
28
-
29
- def request_from file
30
- file = "#{file}.txt" unless file =~ /\.txt$/
31
- File.new("./spec/requests/#{file}")
32
- end
33
5
 
34
6
  RSpec.configure do |config|
35
7
  config.fail_fast = ENV['RSPEC_FAIL_FAST'] == "1"
36
- config.mock_framework = :rspec # :mocha
8
+ config.mock_framework = :rspec
37
9
  config.run_all_when_everything_filtered = true
38
- config.treat_symbols_as_metadata_keys_with_true_values = true
39
10
 
40
11
  config.expect_with :rspec do |c|
41
12
  c.syntax = :expect
metadata CHANGED
@@ -1,181 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: databox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oto Brglez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-18 00:00:00.000000000 Z
11
+ date: 2016-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: shoulda-matchers
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: webmock
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: dotenv
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: guard
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: guard-rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '>='
80
+ - - ">="
137
81
  - !ruby/object:Gem::Version
138
82
  version: '0'
139
83
  - !ruby/object:Gem::Dependency
140
84
  name: pry
141
85
  requirement: !ruby/object:Gem::Requirement
142
86
  requirements:
143
- - - '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: simplecov
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: coveralls
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '>='
87
+ - - ">="
172
88
  - !ruby/object:Gem::Version
173
89
  version: '0'
174
90
  type: :development
175
91
  prerelease: false
176
92
  version_requirements: !ruby/object:Gem::Requirement
177
93
  requirements:
178
- - - '>='
94
+ - - ">="
179
95
  - !ruby/object:Gem::Version
180
96
  version: '0'
181
97
  description: Ruby Gem for Databox - Mobile Executive Dashboard.
@@ -185,53 +101,28 @@ executables: []
185
101
  extensions: []
186
102
  extra_rdoc_files: []
187
103
  files:
188
- - .env
189
- - .gitignore
190
- - .rspec
191
- - .ruby-gemset
192
- - .ruby-version
193
- - .travis.yml
104
+ - ".env"
105
+ - ".gitignore"
106
+ - ".pryrc"
107
+ - ".rspec"
108
+ - ".ruby-gemset"
109
+ - ".ruby-version"
110
+ - ".travis.yml"
194
111
  - Gemfile
195
112
  - Guardfile
196
113
  - LICENSE.txt
197
114
  - README.md
198
115
  - Rakefile
199
116
  - databox.gemspec
117
+ - example.rb
200
118
  - lib/databox.rb
201
119
  - lib/databox/client.rb
202
120
  - lib/databox/configuration.rb
203
- - lib/databox/integration.rb
204
121
  - lib/databox/version.rb
205
- - spec/databox/bar_chart_spec.rb
206
- - spec/databox/big_number_spec.rb
207
122
  - spec/databox/client_spec.rb
208
- - spec/databox/compare_spec.rb
209
- - spec/databox/funnel_spec.rb
210
- - spec/databox/integration_spec.rb
211
- - spec/databox/interval_spec.rb
212
- - spec/databox/line_chart_spec.rb
213
- - spec/databox/messages_spec.rb
214
- - spec/databox/pie_spec.rb
215
- - spec/databox/pipeline_spec.rb
216
- - spec/databox/progress_spec.rb
217
123
  - spec/databox_spec.rb
218
- - spec/requests/bar_chart_simple.txt
219
- - spec/requests/big_number_simple.txt
220
- - spec/requests/compare_simple.txt
221
- - spec/requests/funnel_simple.txt
222
- - spec/requests/interval_simple.txt
223
- - spec/requests/invalid_push.txt
224
- - spec/requests/line_chart_simple.txt
225
- - spec/requests/logs.txt
226
- - spec/requests/multiple_message.txt
227
- - spec/requests/pie_simple.txt
228
- - spec/requests/pipeline_simple.txt
229
- - spec/requests/progress_simple.txt
230
- - spec/requests/simple_message.txt
231
- - spec/requests/simple_push.txt
232
124
  - spec/spec_helper.rb
233
- - test_rvms.sh
234
- homepage: https://github.com/otobrglez/databox
125
+ homepage: https://github.com/databox/databox-ruby
235
126
  licenses:
236
127
  - MIT
237
128
  metadata: {}
@@ -241,46 +132,21 @@ require_paths:
241
132
  - lib
242
133
  required_ruby_version: !ruby/object:Gem::Requirement
243
134
  requirements:
244
- - - '>='
135
+ - - ">="
245
136
  - !ruby/object:Gem::Version
246
137
  version: '0'
247
138
  required_rubygems_version: !ruby/object:Gem::Requirement
248
139
  requirements:
249
- - - '>='
140
+ - - ">="
250
141
  - !ruby/object:Gem::Version
251
142
  version: '0'
252
143
  requirements: []
253
144
  rubyforge_project:
254
- rubygems_version: 2.1.11
145
+ rubygems_version: 2.4.6
255
146
  signing_key:
256
147
  specification_version: 4
257
148
  summary: API wrapper for Databox
258
149
  test_files:
259
- - spec/databox/bar_chart_spec.rb
260
- - spec/databox/big_number_spec.rb
261
150
  - spec/databox/client_spec.rb
262
- - spec/databox/compare_spec.rb
263
- - spec/databox/funnel_spec.rb
264
- - spec/databox/integration_spec.rb
265
- - spec/databox/interval_spec.rb
266
- - spec/databox/line_chart_spec.rb
267
- - spec/databox/messages_spec.rb
268
- - spec/databox/pie_spec.rb
269
- - spec/databox/pipeline_spec.rb
270
- - spec/databox/progress_spec.rb
271
151
  - spec/databox_spec.rb
272
- - spec/requests/bar_chart_simple.txt
273
- - spec/requests/big_number_simple.txt
274
- - spec/requests/compare_simple.txt
275
- - spec/requests/funnel_simple.txt
276
- - spec/requests/interval_simple.txt
277
- - spec/requests/invalid_push.txt
278
- - spec/requests/line_chart_simple.txt
279
- - spec/requests/logs.txt
280
- - spec/requests/multiple_message.txt
281
- - spec/requests/pie_simple.txt
282
- - spec/requests/pipeline_simple.txt
283
- - spec/requests/progress_simple.txt
284
- - spec/requests/simple_message.txt
285
- - spec/requests/simple_push.txt
286
152
  - spec/spec_helper.rb