nurego 1.1.17 → 1.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nurego (1.1.15)
4
+ nurego (1.1.17)
5
5
  cf-uaa-lib (= 1.3.10)
6
6
  mime-types (~> 1.25)
7
7
  multi_json (>= 1.0.4, < 2)
data/README.md CHANGED
@@ -55,7 +55,7 @@ Get entitlement for customer
55
55
  ```
56
56
  begin
57
57
  Nurego.api_key = “l230bc7b-9b85-4c5f-ad9f-4eeeef4d4f44”
58
- ents = Nurego::Organization.entitlements({customer_id: 'cus_2shm2PizVL8QOp'})
58
+ ents = Nurego::Organization.entitlements('cus_2shm2PizVL8QOp')
59
59
  puts ents.inspect
60
60
  rescue Nurego::NuregoError => e
61
61
  puts “Got exception #{e}”
@@ -74,7 +74,7 @@ end
74
74
  ```
75
75
  begin
76
76
  Nurego.api_key = “l230bc7b-9b85-4c5f-ad9f-4eeeef4d4f44”
77
- ents = Nurego::Organization.entitlements({customer_id: 'cus_2shm2PizVL8QOp', feature_id: 'subscribers'})
77
+ ents = Nurego::Organization.entitlements('cus_2shm2PizVL8QOp', {feature_id: 'subscribers'})
78
78
  puts ents.inspect
79
79
  rescue Nurego::NuregoError => e
80
80
  puts “Got exception #{e}”
@@ -102,23 +102,6 @@ rescue Nurego::NuregoError => e
102
102
  end
103
103
  ```
104
104
 
105
- Check allowed usage for customer
106
-
107
- ```
108
- begin
109
- Nurego.api_key = “l230bc7b-9b85-4c5f-ad9f-4eeeef4d4f44”
110
- ent = Nurego::Entitlement.new({id: 'cus_2shm2PizVL8QOp'})
111
-
112
- allowed = ent.is_allowed(feature_id, 1)
113
- puts allowed.inspect
114
-
115
- allowed = ent.is_allowed(feature_id, 2)
116
- puts allowed.inspect
117
- rescue Nurego::NuregoError => e
118
- puts “Got exception #{e}”
119
- end
120
- ```
121
-
122
105
  #Offering
123
106
 
124
107
  Retrieve the current offering for the 'All' segment through the 'website' distribution channel.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.17
1
+ 1.1.18
@@ -29,12 +29,14 @@ require 'nurego/instance'
29
29
  require 'nurego/connector'
30
30
  require 'nurego/password_reset'
31
31
  require 'nurego/offering'
32
+ require 'nurego/service'
32
33
  require 'nurego/plan'
33
34
  require 'nurego/feature'
34
35
  require 'nurego/bill'
35
36
  require 'nurego/payment_method'
36
37
  require 'nurego/entitlement'
37
38
  require 'nurego/discount'
39
+ require 'nurego/legal_doc'
38
40
  require 'nurego/extensions'
39
41
 
40
42
 
@@ -231,6 +233,10 @@ module Nurego
231
233
  begin
232
234
  error_obj = Nurego::JSON.load(rbody)
233
235
  error_obj = Util.symbolize_names(error_obj)
236
+ # todo: remove creating :error from description when bss return is consistent
237
+ if error_obj[:description]
238
+ error_obj[:error] = { code:rcode, message:error_obj[:description]}
239
+ end
234
240
  error = (error_obj && error_obj[:error]) or raise NuregoError.new # escape from parsing
235
241
 
236
242
  rescue MultiJson::DecodeError, NuregoError
@@ -7,8 +7,8 @@ module Nurego
7
7
  Util.convert_to_nurego_object(response, api_key)
8
8
  end
9
9
 
10
- def organizations
11
- Organization.all({:customer => id }, @api_key)
10
+ def organization
11
+ Nurego::Organization.retrieve(id: self[:organization_id])
12
12
  end
13
13
 
14
14
  def self.me_url
@@ -6,21 +6,13 @@ module Nurego
6
6
  def set_usage(feature_id, amount)
7
7
  payload = {
8
8
  feature_id: feature_id,
9
- organization: id,
10
9
  amount: amount,
11
10
  }
12
- response, api_key = Nurego.request(:put, "/v1/entitlements/usage", nil, payload)
11
+ response, api_key = Nurego.request(:put, "/v1/organizations/#{id}/entitlements/usage", nil, payload)
13
12
  end
14
13
 
15
- def is_allowed(features)
16
- payload = {
17
- :organization => id,
18
- }
19
-
20
- features = features.is_a?(Array) ? features : [features]
21
- features_url = structure_sensitive_mimic_to_query(features, 'features')
22
- response, api_key = Nurego.request(:get, "/v1/entitlements/allowed?#{features_url}",
23
- nil, payload)
14
+ def self.all(organization_id, filters={}, api_key=nil)
15
+ response, api_key = Nurego.request(:get, "/v1/organizations/#{organization_id}/entitlements", api_key, filters)
24
16
  Util.convert_to_nurego_object(response, api_key)
25
17
  end
26
18
 
@@ -0,0 +1,13 @@
1
+ module Nurego
2
+ class LegalDoc < APIResource
3
+
4
+ def self.retrieve(params = {}, api_key = nil)
5
+ raise NotImplementedError.new("Docs cannot be retrieved with ID. Retrieve a legal document using search parameters") if
6
+ !params.is_a?(Hash) || params[:id]
7
+
8
+ response, api_key = Nurego.request(:get, self.url, api_key, params)
9
+ Util.convert_to_nurego_object(response, api_key)
10
+ end
11
+
12
+ end
13
+ end
@@ -1,4 +1,5 @@
1
1
  module Nurego
2
+
2
3
  class Offering < APIResource
3
4
 
4
5
  def self.retrieve(id, api_key = nil)
@@ -13,5 +14,6 @@ module Nurego
13
14
  def plans
14
15
  Plan.all({:offering => id }, @api_key)
15
16
  end
17
+
16
18
  end
17
19
  end
@@ -15,12 +15,12 @@ module Nurego
15
15
  Bill.all({ :organization => id }, @api_key)[:bills]
16
16
  end
17
17
 
18
- def self.entitlements(params = {}, api_key = nil)
19
- Entitlement.all({:organization => params[:customer_id], :feature_id => params[:feature_id] }, api_key)
18
+ def self.entitlements(organization_id, params = {}, api_key = nil)
19
+ Entitlement.all(organization_id, {:feature_id => params[:feature_id] }, api_key)
20
20
  end
21
21
 
22
22
  def entitlements(feature_id = nil)
23
- Entitlement.all({:organization => id, :feature_id => feature_id, :provider_name => 'internal' }, @api_key)
23
+ Entitlement.all(id, {:feature_id => feature_id, :external_ids => 'false' }, @api_key)
24
24
  end
25
25
 
26
26
  def plan(params = {}, api_key = nil)
@@ -9,7 +9,15 @@ module Nurego
9
9
  customer
10
10
  end
11
11
 
12
+ def self.find_by_external_id(external_id, params = { })
13
+ response, api_key = Nurego.request(:get, find_by_external_id_url(external_id), @api_key, params)
14
+ Util.convert_to_nurego_object(response, api_key)
15
+ end
16
+
12
17
  private
18
+ def self.find_by_external_id_url(external_id)
19
+ url + "?instance_id=#{ external_id }"
20
+ end
13
21
 
14
22
  def complete_url
15
23
  url + '/complete'
@@ -0,0 +1,56 @@
1
+ module Nurego
2
+
3
+ class Service < APIResource
4
+
5
+ def to_cloud_foundry_catalog
6
+ service_to_cloud_foundry_catalog.to_json
7
+ end
8
+
9
+ private
10
+
11
+ def service_to_cloud_foundry_catalog
12
+ cf_catalog = {
13
+ offer_id: self.offerings.first['id'],
14
+ offer_name: self.offerings.first['name'],
15
+ offer_description: self.offerings.first['description'],
16
+ services: []
17
+ }
18
+ cf_service = {
19
+ # required
20
+ id: self['id'],
21
+ name: self['name'],
22
+ description: self['description'],
23
+ bindable: true,
24
+ plans: []
25
+
26
+ ## possible
27
+ # tags: [],
28
+ # metadata: Object,
29
+ # requires: [],
30
+ # plan_updateable: true,
31
+ # dashboard_client: Object {id,secret,redirect_uri}
32
+
33
+ }
34
+ self.offerings.first['plans']['data'].each do | nurego_plan |
35
+ cf_plan = {
36
+ # required
37
+ id: nurego_plan['id'],
38
+ name: nurego_plan['name'],
39
+ description: nurego_plan['description'],
40
+
41
+ ## possible
42
+ # metadata: Object,
43
+ # free: true,
44
+ }
45
+
46
+ recurring = nurego_plan['features']['data'].find { | feature | feature['element_type'] == 'recurring' }
47
+ cf_plan[:free] = !(recurring && recurring['price'] > 0)
48
+
49
+ cf_service[:plans] << cf_plan # Add plans to the service
50
+ end
51
+ cf_catalog[:services] << cf_service # Add service to offer
52
+
53
+ cf_catalog
54
+ end
55
+ end
56
+ end
@@ -24,6 +24,7 @@ module Nurego
24
24
  'connector' => Connector,
25
25
  'passwordreset' => PasswordReset,
26
26
  'offering' => Offering,
27
+ 'service' => Service,
27
28
  'plan' => Plan,
28
29
  'feature' => Feature,
29
30
  'paymentmethod' => PaymentMethod,
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nurego
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.17
4
+ version: 1.1.18
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Ilia Gilderman
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-02-25 00:00:00.000000000 Z
12
+ date: 2015-05-27 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rest-client
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: mime-types
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: multi_json
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -51,6 +57,7 @@ dependencies:
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
54
61
  requirements:
55
62
  - - ! '>='
56
63
  - !ruby/object:Gem::Version
@@ -61,6 +68,7 @@ dependencies:
61
68
  - !ruby/object:Gem::Dependency
62
69
  name: cf-uaa-lib
63
70
  requirement: !ruby/object:Gem::Requirement
71
+ none: false
64
72
  requirements:
65
73
  - - '='
66
74
  - !ruby/object:Gem::Version
@@ -68,6 +76,7 @@ dependencies:
68
76
  type: :runtime
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
79
+ none: false
71
80
  requirements:
72
81
  - - '='
73
82
  - !ruby/object:Gem::Version
@@ -75,6 +84,7 @@ dependencies:
75
84
  - !ruby/object:Gem::Dependency
76
85
  name: rake
77
86
  requirement: !ruby/object:Gem::Requirement
87
+ none: false
78
88
  requirements:
79
89
  - - ! '>='
80
90
  - !ruby/object:Gem::Version
@@ -82,6 +92,7 @@ dependencies:
82
92
  type: :development
83
93
  prerelease: false
84
94
  version_requirements: !ruby/object:Gem::Requirement
95
+ none: false
85
96
  requirements:
86
97
  - - ! '>='
87
98
  - !ruby/object:Gem::Version
@@ -89,6 +100,7 @@ dependencies:
89
100
  - !ruby/object:Gem::Dependency
90
101
  name: uuidtools
91
102
  requirement: !ruby/object:Gem::Requirement
103
+ none: false
92
104
  requirements:
93
105
  - - ! '>='
94
106
  - !ruby/object:Gem::Version
@@ -96,6 +108,7 @@ dependencies:
96
108
  type: :development
97
109
  prerelease: false
98
110
  version_requirements: !ruby/object:Gem::Requirement
111
+ none: false
99
112
  requirements:
100
113
  - - ! '>='
101
114
  - !ruby/object:Gem::Version
@@ -103,6 +116,7 @@ dependencies:
103
116
  - !ruby/object:Gem::Dependency
104
117
  name: rspec
105
118
  requirement: !ruby/object:Gem::Requirement
119
+ none: false
106
120
  requirements:
107
121
  - - ! '>='
108
122
  - !ruby/object:Gem::Version
@@ -110,6 +124,7 @@ dependencies:
110
124
  type: :development
111
125
  prerelease: false
112
126
  version_requirements: !ruby/object:Gem::Requirement
127
+ none: false
113
128
  requirements:
114
129
  - - ! '>='
115
130
  - !ruby/object:Gem::Version
@@ -117,6 +132,7 @@ dependencies:
117
132
  - !ruby/object:Gem::Dependency
118
133
  name: simplecov
119
134
  requirement: !ruby/object:Gem::Requirement
135
+ none: false
120
136
  requirements:
121
137
  - - ! '>='
122
138
  - !ruby/object:Gem::Version
@@ -124,6 +140,7 @@ dependencies:
124
140
  type: :development
125
141
  prerelease: false
126
142
  version_requirements: !ruby/object:Gem::Requirement
143
+ none: false
127
144
  requirements:
128
145
  - - ! '>='
129
146
  - !ruby/object:Gem::Version
@@ -131,6 +148,7 @@ dependencies:
131
148
  - !ruby/object:Gem::Dependency
132
149
  name: simplecov-rcov
133
150
  requirement: !ruby/object:Gem::Requirement
151
+ none: false
134
152
  requirements:
135
153
  - - ! '>='
136
154
  - !ruby/object:Gem::Version
@@ -138,6 +156,7 @@ dependencies:
138
156
  type: :development
139
157
  prerelease: false
140
158
  version_requirements: !ruby/object:Gem::Requirement
159
+ none: false
141
160
  requirements:
142
161
  - - ! '>='
143
162
  - !ruby/object:Gem::Version
@@ -145,6 +164,7 @@ dependencies:
145
164
  - !ruby/object:Gem::Dependency
146
165
  name: simplecov-csv
147
166
  requirement: !ruby/object:Gem::Requirement
167
+ none: false
148
168
  requirements:
149
169
  - - ! '>='
150
170
  - !ruby/object:Gem::Version
@@ -152,6 +172,7 @@ dependencies:
152
172
  type: :development
153
173
  prerelease: false
154
174
  version_requirements: !ruby/object:Gem::Requirement
175
+ none: false
155
176
  requirements:
156
177
  - - ! '>='
157
178
  - !ruby/object:Gem::Version
@@ -159,6 +180,7 @@ dependencies:
159
180
  - !ruby/object:Gem::Dependency
160
181
  name: rack-test
161
182
  requirement: !ruby/object:Gem::Requirement
183
+ none: false
162
184
  requirements:
163
185
  - - ! '>='
164
186
  - !ruby/object:Gem::Version
@@ -166,6 +188,7 @@ dependencies:
166
188
  type: :development
167
189
  prerelease: false
168
190
  version_requirements: !ruby/object:Gem::Requirement
191
+ none: false
169
192
  requirements:
170
193
  - - ! '>='
171
194
  - !ruby/object:Gem::Version
@@ -173,6 +196,7 @@ dependencies:
173
196
  - !ruby/object:Gem::Dependency
174
197
  name: ci_reporter
175
198
  requirement: !ruby/object:Gem::Requirement
199
+ none: false
176
200
  requirements:
177
201
  - - ! '>='
178
202
  - !ruby/object:Gem::Version
@@ -180,6 +204,7 @@ dependencies:
180
204
  type: :development
181
205
  prerelease: false
182
206
  version_requirements: !ruby/object:Gem::Requirement
207
+ none: false
183
208
  requirements:
184
209
  - - ! '>='
185
210
  - !ruby/object:Gem::Version
@@ -192,48 +217,50 @@ executables: []
192
217
  extensions: []
193
218
  extra_rdoc_files: []
194
219
  files:
195
- - Gemfile
196
- - Gemfile.lock
197
- - LICENSE
198
- - README.md
199
- - Rakefile
200
- - VERSION
201
- - examples/enumerate_plans.rb
202
- - lib/data/ca-certificates.crt
203
220
  - lib/nurego.rb
204
- - lib/nurego/api_operations/create.rb
205
- - lib/nurego/api_operations/delete.rb
206
- - lib/nurego/api_operations/list.rb
221
+ - lib/nurego/entitlement.rb
222
+ - lib/nurego/legal_doc.rb
223
+ - lib/nurego/password_reset.rb
224
+ - lib/nurego/discount.rb
225
+ - lib/nurego/util.rb
226
+ - lib/nurego/registration.rb
227
+ - lib/nurego/version.rb
228
+ - lib/nurego/bill.rb
229
+ - lib/nurego/json.rb
230
+ - lib/nurego/instance.rb
231
+ - lib/nurego/list_object.rb
232
+ - lib/nurego/payment_method.rb
233
+ - lib/nurego/offering.rb
234
+ - lib/nurego/plan.rb
235
+ - lib/nurego/feature.rb
236
+ - lib/nurego/auth.rb
207
237
  - lib/nurego/api_operations/update.rb
238
+ - lib/nurego/api_operations/list.rb
239
+ - lib/nurego/api_operations/delete.rb
240
+ - lib/nurego/api_operations/create.rb
241
+ - lib/nurego/organization.rb
208
242
  - lib/nurego/api_resource.rb
209
- - lib/nurego/auth.rb
210
- - lib/nurego/bill.rb
211
243
  - lib/nurego/connector.rb
244
+ - lib/nurego/nurego_object.rb
212
245
  - lib/nurego/customer.rb
213
- - lib/nurego/discount.rb
214
- - lib/nurego/entitlement.rb
246
+ - lib/nurego/extensions.rb
247
+ - lib/nurego/errors/card_error.rb
248
+ - lib/nurego/errors/authentication_error.rb
215
249
  - lib/nurego/errors/api_connection_error.rb
216
250
  - lib/nurego/errors/api_error.rb
217
- - lib/nurego/errors/authentication_error.rb
218
- - lib/nurego/errors/card_error.rb
219
251
  - lib/nurego/errors/invalid_request_error.rb
220
252
  - lib/nurego/errors/nurego_error.rb
221
253
  - lib/nurego/errors/user_not_found_error.rb
222
- - lib/nurego/extensions.rb
223
- - lib/nurego/feature.rb
224
- - lib/nurego/instance.rb
225
- - lib/nurego/json.rb
226
- - lib/nurego/list_object.rb
227
- - lib/nurego/nurego_object.rb
228
- - lib/nurego/offering.rb
229
- - lib/nurego/organization.rb
230
- - lib/nurego/password_reset.rb
231
- - lib/nurego/payment_method.rb
232
- - lib/nurego/plan.rb
233
- - lib/nurego/registration.rb
234
- - lib/nurego/util.rb
235
- - lib/nurego/version.rb
254
+ - lib/nurego/service.rb
255
+ - lib/data/ca-certificates.crt
256
+ - examples/enumerate_plans.rb
257
+ - Gemfile
258
+ - Gemfile.lock
236
259
  - nurego.gemspec
260
+ - Rakefile
261
+ - VERSION
262
+ - LICENSE
263
+ - README.md
237
264
  - spec/unit/nurego/api_resource_spec.rb
238
265
  - spec/unit/nurego/customer_spec.rb
239
266
  - spec/unit/nurego/list_object_spec.rb
@@ -242,26 +269,27 @@ files:
242
269
  homepage: http://www.nurego.com/api
243
270
  licenses:
244
271
  - MIT
245
- metadata: {}
246
272
  post_install_message:
247
273
  rdoc_options: []
248
274
  require_paths:
249
275
  - lib
250
276
  required_ruby_version: !ruby/object:Gem::Requirement
277
+ none: false
251
278
  requirements:
252
279
  - - ! '>='
253
280
  - !ruby/object:Gem::Version
254
281
  version: '0'
255
282
  required_rubygems_version: !ruby/object:Gem::Requirement
283
+ none: false
256
284
  requirements:
257
285
  - - ! '>='
258
286
  - !ruby/object:Gem::Version
259
287
  version: '0'
260
288
  requirements: []
261
289
  rubyforge_project:
262
- rubygems_version: 2.2.2
290
+ rubygems_version: 1.8.24
263
291
  signing_key:
264
- specification_version: 4
292
+ specification_version: 3
265
293
  summary: Ruby bindings for the Nurego API
266
294
  test_files:
267
295
  - spec/unit/nurego/api_resource_spec.rb
@@ -269,3 +297,4 @@ test_files:
269
297
  - spec/unit/nurego/list_object_spec.rb
270
298
  - spec/unit/nurego/util_spec.rb
271
299
  - spec/unit/test_helper.rb
300
+ has_rdoc:
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- Y2IzNWEyYzgzODc0MGI5ZThjYjRiOGEwZWZhNGJkNjMxMzQwNGIwZA==
5
- data.tar.gz: !binary |-
6
- NDc5ZmM0MTA5ZTc3NzQ3NDc0ZTY3YmM2YzBkYWU3YzBhOGEyOTNkMA==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- MTg0YTQyY2IyMjg3YzM4NjI5NDZiMThiOThmZTFjZmExYWNlM2Y2MDhjMGM2
10
- MWYwMDVjNTVjNmU1MzdiM2IxOTQxNzg0OTEzNzU3NzhhMzRmNzNiMzAzZGY2
11
- NDUwMzk0MTYwNDdiODdhYjU0YjU5MjdlYmViN2I2ODIxMzIxMzI=
12
- data.tar.gz: !binary |-
13
- OWQ0YzE4NDcwNDExNmQ4YTc4OWU5MzM4ZDhhMjVjYjEzZmJjM2NmNGFhZTk0
14
- MzcxYTIxZmU0ZWJjNGNmODkxNWJmNzMyNjFhMzRhZjkwZTFiMWFlZjE3ZmYy
15
- ZDBlMTcxYmY3ZDZkM2Y3NGY3ZmUxOGFiYWJiYjNmZjM3NWE5NGU=