opencpu 0.7.1 → 0.7.3

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: 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