opencpu 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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