opencpu 0.6.2 → 0.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9e9586113675c0f4c44c78b644132a6a287dad6
4
- data.tar.gz: e4c0c14e16fbc35338a27a308d9c807c2931eaf6
3
+ metadata.gz: 9b08f044e35623332f8d7e6695d44458f1c3dac6
4
+ data.tar.gz: fdc8e1c4510bcea7fe22db5616ff1d7af680ca63
5
5
  SHA512:
6
- metadata.gz: ac5fef715f8b36b0d22665e1d83826e2be38d053661c6ab214d2ad3a2f8b1431799239bccc718bb5a918fb7586b57f8328a44dfb545cf334405553f3abc97ce6
7
- data.tar.gz: 624975d9c5f1ba84a8b7d090c89c823428bc1cdceec843500f7c3b3762c1df1093f40e107d991bb747106724d0b72ce9488c06ff5d7f033308017335b129d01f
6
+ metadata.gz: 9640f2ae953715816d2dd934d935683ebf84fd4bc41af0bc0b8247ec9e8b080658dafa98965582277ca53d4a7f4c563e85d0424f4c6e9e570dbab087e076aab1
7
+ data.tar.gz: 6aefa763866f093280de2a678a6dd79959ba20b57264cd0828dcf64ad05238605fbb1b5922cdec192be9ba8b98de660d0c6424f2dd903838813bd805db95e495
@@ -6,14 +6,14 @@ module OpenCPU
6
6
  self.class.base_uri OpenCPU.configuration.endpoint_url
7
7
  end
8
8
 
9
- def execute(package, function, data = {})
10
- process_query package_url(package, function, :json), data do |response|
9
+ def execute(package, function, user: :system, data: {})
10
+ process_query package_url(package, function, user, :json), data do |response|
11
11
  JSON.parse(response.body)
12
12
  end
13
13
  end
14
14
 
15
- def prepare(package, function, data = {})
16
- process_query package_url(package, function), data do |response|
15
+ def prepare(package, function, user: :system, data: {})
16
+ process_query package_url(package, function, user), data do |response|
17
17
  location = response.headers['location']
18
18
  resources = response.body.split(/\n/)
19
19
  OpenCPU::DelayedCalculation.new(location, resources)
@@ -37,8 +37,9 @@ module OpenCPU
37
37
  end
38
38
  end
39
39
 
40
- def package_url(package, function, format = nil)
41
- ['', 'library', package, 'R', function, format.to_s].join('/')
40
+ def package_url(package, function, user = :system, format = nil)
41
+ return ['', 'library', package, 'R', function, format.to_s].join('/') if user == :system
42
+ return ['', 'user', user, 'library', package, 'R', function, format.to_s].join('/')
42
43
  end
43
44
 
44
45
  def fake_response_for(url)
@@ -1,6 +1,6 @@
1
1
  module OpenCPU
2
2
  MAJOR = 0
3
- MINOR = 6
4
- TINY = 2
3
+ MINOR = 7
4
+ TINY = 0
5
5
  VERSION = [MAJOR, MINOR, TINY].join('.')
6
6
  end
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://staging.opencpu.roqua.nl/ocpu/user/deploy/library/digest/R/hmac/json
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"key":"foo","object":"bar"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx/1.1.19
19
+ Date:
20
+ - Thu, 19 Jun 2014 13:31:27 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Transfer-Encoding:
24
+ - chunked
25
+ Connection:
26
+ - close
27
+ Cache-Control:
28
+ - max-age=300, public
29
+ Location:
30
+ - "/ocpu/tmp/x0d8f0121/"
31
+ X-Ocpu-Session:
32
+ - x0d8f0121
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Allow-Headers:
36
+ - Origin, Content-Type, Accept, Cache-Control
37
+ Access-Control-Expose-Headers:
38
+ - Location, X-ocpu-session, Content-Type, Cache-Control
39
+ X-Ocpu-R:
40
+ - R version 3.0.2 (2013-09-25)
41
+ X-Ocpu-Locale:
42
+ - en_US.UTF-8
43
+ X-Ocpu-Time:
44
+ - 2014-06-19 15:31:26 CEST
45
+ X-Ocpu-Version:
46
+ - 1.2.3
47
+ X-Ocpu-Server:
48
+ - rApache
49
+ body:
50
+ encoding: UTF-8
51
+ string: "[\n\t\"0c7a250281315ab863549f66cd8a3a53\"\n]\n"
52
+ http_version:
53
+ recorded_at: Thu, 19 Jun 2014 13:31:27 GMT
54
+ recorded_with: VCR 2.9.2
@@ -34,7 +34,7 @@ describe OpenCPU::Client do
34
34
 
35
35
  describe '#prepare' do
36
36
  let(:client) { described_class.new }
37
- let(:delayed_calculation) { client.prepare('digest', 'hmac', key: "baz", object: "qux") }
37
+ let(:delayed_calculation) { client.prepare('digest', 'hmac', data: { key: "baz", object: "qux" }) }
38
38
 
39
39
  it 'returns a DelayedCalculation' do
40
40
  VCR.use_cassette :prepare do
@@ -64,7 +64,7 @@ describe OpenCPU::Client do
64
64
 
65
65
  it 'accepts R-function parameters as data' do
66
66
  VCR.use_cassette :digest_hmac, record: :new_episodes do
67
- response = client.execute(:digest, :hmac, key: 'baz', object: 'qux')
67
+ response = client.execute(:digest, :hmac, data: { key: 'baz', object: 'qux' })
68
68
  expect(response).to eq ["22e2a7a268bf076801eefe7cd0119bb9"]
69
69
  end
70
70
  end
@@ -75,10 +75,26 @@ describe OpenCPU::Client do
75
75
  end
76
76
  end
77
77
 
78
+ context 'user packages' do
79
+ before do
80
+ OpenCPU.configure do |config|
81
+ config.endpoint_url = 'https://staging.opencpu.roqua.nl/ocpu'
82
+ end
83
+ end
84
+ let(:client) { described_class.new }
85
+
86
+ it "can access user packages" do
87
+ VCR.use_cassette :user_digest_hmac, record: :new_episodes do
88
+ response = client.execute(:digest, :hmac, user: 'deploy', data: { key: 'foo', object: 'bar' })
89
+ expect(response).to eq ["0c7a250281315ab863549f66cd8a3a53"]
90
+ end
91
+ end
92
+ end
93
+
78
94
  context 'when in test mode' do
79
95
  it 'has an empty fake response when just enabled' do
80
96
  OpenCPU.enable_test_mode!
81
- response = client.execute(:digest, :hmac, key: 'baz', object: 'qux')
97
+ response = client.execute(:digest, :hmac, data: { key: 'baz', object: 'qux' })
82
98
  expect(response).to be_nil
83
99
  end
84
100
 
@@ -25,12 +25,12 @@ describe OpenCPU do
25
25
  describe '#configure' do
26
26
  before do
27
27
  described_class.configure do |config|
28
- config.endpoint_url = 'http://somehost.com/opencpu'
28
+ config.endpoint_url = 'http://example.com/opencpu'
29
29
  end
30
30
  end
31
31
 
32
32
  it "can configure" do
33
- expect(described_class.configuration.endpoint_url).to eq 'http://somehost.com/opencpu'
33
+ expect(described_class.configuration.endpoint_url).to eq 'http://example.com/opencpu'
34
34
  end
35
35
  end
36
36
 
@@ -53,9 +53,9 @@ describe OpenCPU do
53
53
 
54
54
  it 'checks for a test mode' do
55
55
  described_class.enable_test_mode!
56
- expect(described_class.test_mode?).to be_true
56
+ expect(described_class.test_mode?).to eq true
57
57
  described_class.disable_test_mode!
58
- expect(described_class.test_mode?).to be_false
58
+ expect(described_class.test_mode?).to eq false
59
59
  end
60
60
 
61
61
  it 'can set a fake response' do
metadata CHANGED
@@ -1,193 +1,193 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opencpu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Malykh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-13 00:00:00.000000000 Z
11
+ date: 2014-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yajl-ruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.2'
20
- - - ">="
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.2'
30
- - - ">="
30
+ - - '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.2.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: httparty
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0.13'
40
- - - ">="
40
+ - - '>='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.13.1
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ~>
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0.13'
50
- - - ">="
50
+ - - '>='
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.13.1
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
57
+ - - ~>
58
58
  - !ruby/object:Gem::Version
59
59
  version: '1.6'
60
- - - ">="
60
+ - - '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: 1.6.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.6'
70
- - - ">="
70
+ - - '>='
71
71
  - !ruby/object:Gem::Version
72
72
  version: 1.6.0
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: rake
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - "~>"
77
+ - - ~>
78
78
  - !ruby/object:Gem::Version
79
79
  version: '10.3'
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 10.3.1
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '10.3'
90
- - - ">="
90
+ - - '>='
91
91
  - !ruby/object:Gem::Version
92
92
  version: 10.3.1
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: rspec
95
95
  requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - "~>"
97
+ - - ~>
98
98
  - !ruby/object:Gem::Version
99
99
  version: '2.14'
100
- - - ">="
100
+ - - '>='
101
101
  - !ruby/object:Gem::Version
102
102
  version: 2.14.1
103
103
  type: :development
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: '2.14'
110
- - - ">="
110
+ - - '>='
111
111
  - !ruby/object:Gem::Version
112
112
  version: 2.14.1
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: webmock
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ~>
118
118
  - !ruby/object:Gem::Version
119
119
  version: '1.17'
120
- - - ">="
120
+ - - '>='
121
121
  - !ruby/object:Gem::Version
122
122
  version: 1.17.4
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - "~>"
127
+ - - ~>
128
128
  - !ruby/object:Gem::Version
129
129
  version: '1.17'
130
- - - ">="
130
+ - - '>='
131
131
  - !ruby/object:Gem::Version
132
132
  version: 1.17.4
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: vcr
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - "~>"
137
+ - - ~>
138
138
  - !ruby/object:Gem::Version
139
139
  version: '2.9'
140
- - - ">="
140
+ - - '>='
141
141
  - !ruby/object:Gem::Version
142
142
  version: 2.9.0
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - "~>"
147
+ - - ~>
148
148
  - !ruby/object:Gem::Version
149
149
  version: '2.9'
150
- - - ">="
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: 2.9.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: guard-rspec
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
159
  version: '4.2'
160
- - - ">="
160
+ - - '>='
161
161
  - !ruby/object:Gem::Version
162
162
  version: 4.2.8
163
163
  type: :development
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - "~>"
167
+ - - ~>
168
168
  - !ruby/object:Gem::Version
169
169
  version: '4.2'
170
- - - ">="
170
+ - - '>='
171
171
  - !ruby/object:Gem::Version
172
172
  version: 4.2.8
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: guard-bundler
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "~>"
177
+ - - ~>
178
178
  - !ruby/object:Gem::Version
179
179
  version: '2.0'
180
- - - ">="
180
+ - - '>='
181
181
  - !ruby/object:Gem::Version
182
182
  version: 2.0.0
183
183
  type: :development
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - "~>"
187
+ - - ~>
188
188
  - !ruby/object:Gem::Version
189
189
  version: '2.0'
190
- - - ">="
190
+ - - '>='
191
191
  - !ruby/object:Gem::Version
192
192
  version: 2.0.0
193
193
  description: This gem wraps the OpenCPU REST API.
@@ -197,7 +197,7 @@ executables: []
197
197
  extensions: []
198
198
  extra_rdoc_files: []
199
199
  files:
200
- - ".gitignore"
200
+ - .gitignore
201
201
  - Gemfile
202
202
  - Guardfile
203
203
  - LICENSE.txt
@@ -214,6 +214,7 @@ files:
214
214
  - spec/fixtures/vcr_cassettes/digest_hmac.yml
215
215
  - spec/fixtures/vcr_cassettes/digest_hmac_no_parameters.yml
216
216
  - spec/fixtures/vcr_cassettes/prepare.yml
217
+ - spec/fixtures/vcr_cassettes/user_digest_hmac.yml
217
218
  - spec/lib/opencpu/client_spec.rb
218
219
  - spec/lib/opencpu/configuration_spec.rb
219
220
  - spec/lib/opencpu/delayed_calculation_spec.rb
@@ -229,17 +230,17 @@ require_paths:
229
230
  - lib
230
231
  required_ruby_version: !ruby/object:Gem::Requirement
231
232
  requirements:
232
- - - ">="
233
+ - - '>='
233
234
  - !ruby/object:Gem::Version
234
235
  version: 1.9.3
235
236
  required_rubygems_version: !ruby/object:Gem::Requirement
236
237
  requirements:
237
- - - ">="
238
+ - - '>='
238
239
  - !ruby/object:Gem::Version
239
240
  version: '0'
240
241
  requirements: []
241
242
  rubyforge_project:
242
- rubygems_version: 2.2.2
243
+ rubygems_version: 2.0.14
243
244
  signing_key:
244
245
  specification_version: 4
245
246
  summary: Wrapper around OpenCPU REST API
@@ -248,6 +249,7 @@ test_files:
248
249
  - spec/fixtures/vcr_cassettes/digest_hmac.yml
249
250
  - spec/fixtures/vcr_cassettes/digest_hmac_no_parameters.yml
250
251
  - spec/fixtures/vcr_cassettes/prepare.yml
252
+ - spec/fixtures/vcr_cassettes/user_digest_hmac.yml
251
253
  - spec/lib/opencpu/client_spec.rb
252
254
  - spec/lib/opencpu/configuration_spec.rb
253
255
  - spec/lib/opencpu/delayed_calculation_spec.rb