opencpu 0.7.1 → 0.7.3

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: 19b62c3506200ab96a85c1d5ad7a7d57a3c0651f
4
- data.tar.gz: 5f7908fd6b2f370aaa88b9af023621b3a63cace0
3
+ metadata.gz: f069794c0f3a81cd0b450e272d420a6492e47483
4
+ data.tar.gz: 98eb45b503ce28cb028afb7ea35ae02df3e70e58
5
5
  SHA512:
6
- metadata.gz: b56742bfe607853b48755e4a228ad6c2ef04a5b564361a4904b46203003284a03f9dd7c50336d0be3fdcabb99be0239e43c0365e014fbe625d30caec53e65dd1
7
- data.tar.gz: 8a933198cc16b401e9221ec89f20c82621d472ed6e6046bb357c8e1659572d6146a69e81756971bd3c73e943c3b843784d0201888d3193694a9f35f55b4edd82
6
+ metadata.gz: 91bfef43f724e63b13012ac748b2121fa62bbb106debbe77a63086fff869ac2ef1bceb577b23692fd816ae85e95e3de7664d7ccb69d2bece38e43ee1b768cd1f
7
+ data.tar.gz: f385b0c5c4fc23811305397319b4ab3f42504ceecffc487e15a4d4c6b7611ac3fe5566e2aaff18b48c88d67a84567c7633242d4e4b9163674a77d2e3f8535dc6
data/README.md CHANGED
@@ -26,6 +26,7 @@ Or install it yourself as:
26
26
  ```Ruby
27
27
  OpenCPU.configure do |config|
28
28
  config.endpoint_url = 'https://public.opencpu.org/ocpu'
29
+ config.timeout = 30 # Timeout in seconds
29
30
  end
30
31
  ```
31
32
 
@@ -37,22 +38,45 @@ client = OpenCPU.client
37
38
 
38
39
  ### One-step call
39
40
 
40
- One-step call always returns a JSON result from OpenCPU. However this is a
41
- preferred way to use this gem, not every R-package supports one-step responses.
41
+ One-step call always returns a JSON result from OpenCPU. This is a preferred
42
+ way to use this gem, but keep in mind that not every R-package supports one-step
43
+ responses. On OpenCPU server, packages can be installed under the system, but
44
+ also under a particular user. This gem also provides a way to access both of them.
42
45
 
43
- To get a response just pass a package name, function and the payload to the
44
- function. In the following example `:digest` is an R-package name, `:hmac` is a
45
- function and `{ key: 'foo', object: 'bar' }` is the payload:
46
+ **Access System Libraries**
47
+
48
+ To get a response from the package installed under the system libraries just
49
+ pass the package name, function and input data to the function. In the following
50
+ example `:digest` is an R-package name, `:hmac` is a function and
51
+ `{ key: 'foo', object: 'bar' }` is the input data, where `key` and `object` are
52
+ parameters of `hmac` function:
53
+
54
+ ```Ruby
55
+ client.execute :digest, :hmac, data: { key: 'foo', object: 'bar' }
56
+ # => ['0c7a250281315ab863549f66cd8a3a53']
57
+ ```
58
+
59
+ Above example is the same as the following (note the `user` parameter):
60
+
61
+ ```Ruby
62
+ client.execute :digest, :hmac, user: :system, data: { key: 'foo', object: 'bar' }
63
+ # => ['0c7a250281315ab863549f66cd8a3a53']
64
+ ```
65
+
66
+ **Access User Libraries**
67
+
68
+ To access a package installed under a particular user, just pass `user` parameter
69
+ with the name of the existing user.
46
70
 
47
71
  ```Ruby
48
- client.execute :digest, :hmac, { key: 'foo', object: 'bar' }
72
+ client.execute :digest, :hmac, user: :johndoe, data: { key: 'foo', object: 'bar' }
49
73
  # => ['0c7a250281315ab863549f66cd8a3a53']
50
74
  ```
51
75
 
52
76
  ### Two-steps way
53
77
 
54
78
  To prepare the calculations on OpenCPU execute the `#prepare` method. It accepts
55
- the same arguments as `#execute`.
79
+ the same arguments as `#execute`, thus: `package`, `function`, `user` and `data`.
56
80
 
57
81
  ```Ruby
58
82
  calculations = client.prepare :animation, 'flip.coin'
@@ -116,7 +140,7 @@ calculations.info
116
140
  # => Returns information about R-environment of the script.
117
141
  ```
118
142
 
119
- ## Test mode
143
+ ## Testing
120
144
 
121
145
  **NOTE:** Test mode is only supported in combination with `#execute` and the
122
146
  first step (`#prepare`) in two-step call.
@@ -4,6 +4,7 @@ module OpenCPU
4
4
 
5
5
  def initialize
6
6
  self.class.base_uri OpenCPU.configuration.endpoint_url
7
+ self.class.default_timeout(OpenCPU.configuration.timeout) unless OpenCPU.configuration.timeout.nil?
7
8
  end
8
9
 
9
10
  def execute(package, function, user: :system, data: {})
@@ -1,6 +1,7 @@
1
1
  module OpenCPU
2
2
  class Configuration
3
3
  attr_accessor :endpoint_url
4
+ attr_accessor :timeout
4
5
  attr_accessor :username
5
6
  attr_accessor :password
6
7
  attr_accessor :mode
@@ -1,6 +1,6 @@
1
1
  module OpenCPU
2
2
  MAJOR = 0
3
3
  MINOR = 7
4
- TINY = 1
4
+ TINY = 3
5
5
  VERSION = [MAJOR, MINOR, TINY].join('.')
6
6
  end
@@ -21,14 +21,28 @@ describe OpenCPU::Client do
21
21
  end
22
22
 
23
23
  describe 'initializes' do
24
- before do
25
- OpenCPU.configure do |config|
26
- config.endpoint_url = 'https://public.opencpu.org/ocpu'
24
+
25
+ describe 'without configured attributes' do
26
+ it 'uses the default timeout' do
27
+ expect(described_class.new.class.default_options[:timeout]).to be_nil
27
28
  end
28
29
  end
29
30
 
30
- it 'with configured attributes' do
31
- expect(described_class.new.class.base_uri).to eq 'https://public.opencpu.org/ocpu'
31
+ describe 'with configured attributes' do
32
+ before do
33
+ OpenCPU.configure do |config|
34
+ config.endpoint_url = 'https://public.opencpu.org/ocpu'
35
+ config.timeout = 123
36
+ end
37
+ end
38
+
39
+ it 'sets the base uri' do
40
+ expect(described_class.new.class.base_uri).to eq 'https://public.opencpu.org/ocpu'
41
+ end
42
+
43
+ it 'sets the default_timeout' do
44
+ expect(described_class.new.class.default_options[:timeout]).to eq 123
45
+ end
32
46
  end
33
47
  end
34
48
 
metadata CHANGED
@@ -1,187 +1,187 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opencpu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.3
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-06-23 00:00:00.000000000 Z
11
+ date: 2014-07-14 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.12'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ~>
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0.12'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.6'
54
- - - ">="
54
+ - - '>='
55
55
  - !ruby/object:Gem::Version
56
56
  version: 1.6.0
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - ~>
62
62
  - !ruby/object:Gem::Version
63
63
  version: '1.6'
64
- - - ">="
64
+ - - '>='
65
65
  - !ruby/object:Gem::Version
66
66
  version: 1.6.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: rake
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
71
+ - - ~>
72
72
  - !ruby/object:Gem::Version
73
73
  version: '10.3'
74
- - - ">="
74
+ - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: 10.3.1
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '10.3'
84
- - - ">="
84
+ - - '>='
85
85
  - !ruby/object:Gem::Version
86
86
  version: 10.3.1
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: rspec
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - "~>"
91
+ - - ~>
92
92
  - !ruby/object:Gem::Version
93
93
  version: '2.14'
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: 2.14.1
97
97
  type: :development
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.14'
104
- - - ">="
104
+ - - '>='
105
105
  - !ruby/object:Gem::Version
106
106
  version: 2.14.1
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: webmock
109
109
  requirement: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - "~>"
111
+ - - ~>
112
112
  - !ruby/object:Gem::Version
113
113
  version: '1.17'
114
- - - ">="
114
+ - - '>='
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.17.4
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
123
  version: '1.17'
124
- - - ">="
124
+ - - '>='
125
125
  - !ruby/object:Gem::Version
126
126
  version: 1.17.4
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: vcr
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - "~>"
131
+ - - ~>
132
132
  - !ruby/object:Gem::Version
133
133
  version: '2.9'
134
- - - ">="
134
+ - - '>='
135
135
  - !ruby/object:Gem::Version
136
136
  version: 2.9.0
137
137
  type: :development
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - "~>"
141
+ - - ~>
142
142
  - !ruby/object:Gem::Version
143
143
  version: '2.9'
144
- - - ">="
144
+ - - '>='
145
145
  - !ruby/object:Gem::Version
146
146
  version: 2.9.0
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: guard-rspec
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "~>"
151
+ - - ~>
152
152
  - !ruby/object:Gem::Version
153
153
  version: '4.2'
154
- - - ">="
154
+ - - '>='
155
155
  - !ruby/object:Gem::Version
156
156
  version: 4.2.8
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - "~>"
161
+ - - ~>
162
162
  - !ruby/object:Gem::Version
163
163
  version: '4.2'
164
- - - ">="
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: 4.2.8
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: guard-bundler
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ~>
172
172
  - !ruby/object:Gem::Version
173
173
  version: '2.0'
174
- - - ">="
174
+ - - '>='
175
175
  - !ruby/object:Gem::Version
176
176
  version: 2.0.0
177
177
  type: :development
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - "~>"
181
+ - - ~>
182
182
  - !ruby/object:Gem::Version
183
183
  version: '2.0'
184
- - - ">="
184
+ - - '>='
185
185
  - !ruby/object:Gem::Version
186
186
  version: 2.0.0
187
187
  description: This gem wraps the OpenCPU REST API.
@@ -191,7 +191,7 @@ executables: []
191
191
  extensions: []
192
192
  extra_rdoc_files: []
193
193
  files:
194
- - ".gitignore"
194
+ - .gitignore
195
195
  - Gemfile
196
196
  - Guardfile
197
197
  - LICENSE.txt
@@ -224,17 +224,17 @@ require_paths:
224
224
  - lib
225
225
  required_ruby_version: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - ">="
227
+ - - '>='
228
228
  - !ruby/object:Gem::Version
229
229
  version: 1.9.3
230
230
  required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  requirements:
232
- - - ">="
232
+ - - '>='
233
233
  - !ruby/object:Gem::Version
234
234
  version: '0'
235
235
  requirements: []
236
236
  rubyforge_project:
237
- rubygems_version: 2.2.2
237
+ rubygems_version: 2.0.14
238
238
  signing_key:
239
239
  specification_version: 4
240
240
  summary: Wrapper around OpenCPU REST API