naranya_ecm-sdk 0.0.42 → 0.0.43

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rspec +3 -0
  4. data/Gemfile +1 -2
  5. data/lib/aasm/persistence/rest_persistence.rb +11 -6
  6. data/lib/naranya_ecm-sdk.rb +4 -65
  7. data/lib/naranya_ecm-sdk/version.rb +1 -1
  8. data/lib/naranya_ecm/models/media_resource.rb +1 -1
  9. data/lib/naranya_ecm/models/notification.rb +2 -2
  10. data/lib/naranya_ecm/rest/errors.rb +16 -3
  11. data/lib/naranya_ecm/rest/finder_methods.rb +4 -4
  12. data/lib/naranya_ecm/rest/model.rb +87 -19
  13. data/lib/naranya_ecm/rest/persistence.rb +234 -46
  14. data/lib/naranya_ecm/rest/relation.rb +15 -5
  15. data/lib/naranya_ecm/search/results.rb +19 -17
  16. data/lib/ncontent-sdk-testing.rb +13 -0
  17. data/lib/ncontent-sdk.rb +85 -0
  18. data/lib/ncontent/sdk/config.rb +75 -0
  19. data/lib/ncontent/sdk/faraday_middleware.rb +4 -0
  20. data/lib/ncontent/sdk/faraday_middleware/required_response_format.rb +14 -0
  21. data/lib/ncontent/sdk/faraday_middleware/response_parser.rb +35 -0
  22. data/lib/ncontent/sdk/faraday_middleware/rest_api_call_benchmark.rb +49 -0
  23. data/lib/ncontent/sdk/railtie.rb +59 -0
  24. data/lib/ncontent/sdk/rest_client.rb +131 -0
  25. data/lib/ncontent/sdk/testing/server_mock.rb +316 -0
  26. data/naranya_ecm-sdk.gemspec +24 -10
  27. metadata +85 -68
  28. data/lib/naranya_ecm/rest/client.rb +0 -92
  29. data/spec/models/category_spec.rb +0 -16
  30. data/spec/models/content_spec.rb +0 -20
  31. data/spec/models/content_version_spec.rb +0 -7
  32. data/spec/models/download_authorization.rb +0 -7
  33. data/spec/models/media_spec.rb +0 -7
  34. data/spec/models/module_spec.rb +0 -18
  35. data/spec/spec_helper.rb +0 -47
  36. data/spec/support/naranya_ecms_shared_specs.rb +0 -21
metadata CHANGED
@@ -1,93 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: naranya_ecm-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.42
4
+ version: 0.0.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Quintanilla
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.0'
20
- - - ">="
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 4.0.5
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: '4.0'
30
- - - ">="
30
+ - - '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: 4.0.5
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activemodel
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
39
  version: '4.0'
40
- - - ">="
40
+ - - '>='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 4.0.5
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: '4.0'
50
- - - ">="
50
+ - - '>='
51
51
  - !ruby/object:Gem::Version
52
52
  version: 4.0.5
53
53
  - !ruby/object:Gem::Dependency
54
- name: httparty
54
+ name: oauth2
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
57
+ - - ~>
58
58
  - !ruby/object:Gem::Version
59
- version: '0.13'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 0.13.1
59
+ version: '1.0'
63
60
  type: :runtime
64
61
  prerelease: false
65
62
  version_requirements: !ruby/object:Gem::Requirement
66
63
  requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '0.13'
70
- - - ">="
64
+ - - ~>
71
65
  - !ruby/object:Gem::Version
72
- version: 0.13.1
66
+ version: '1.0'
73
67
  - !ruby/object:Gem::Dependency
74
68
  name: aasm
75
69
  requirement: !ruby/object:Gem::Requirement
76
70
  requirements:
77
- - - "~>"
71
+ - - ~>
78
72
  - !ruby/object:Gem::Version
79
73
  version: '3.2'
80
- - - ">="
74
+ - - '>='
81
75
  - !ruby/object:Gem::Version
82
76
  version: 3.2.1
83
77
  type: :runtime
84
78
  prerelease: false
85
79
  version_requirements: !ruby/object:Gem::Requirement
86
80
  requirements:
87
- - - "~>"
81
+ - - ~>
88
82
  - !ruby/object:Gem::Version
89
83
  version: '3.2'
90
- - - ">="
84
+ - - '>='
91
85
  - !ruby/object:Gem::Version
92
86
  version: 3.2.1
93
87
  - !ruby/object:Gem::Dependency
@@ -108,90 +102,118 @@ dependencies:
108
102
  name: fog
109
103
  requirement: !ruby/object:Gem::Requirement
110
104
  requirements:
111
- - - "~>"
105
+ - - ~>
112
106
  - !ruby/object:Gem::Version
113
107
  version: '1.22'
114
- - - ">="
108
+ - - '>='
115
109
  - !ruby/object:Gem::Version
116
110
  version: 1.22.1
117
111
  type: :runtime
118
112
  prerelease: false
119
113
  version_requirements: !ruby/object:Gem::Requirement
120
114
  requirements:
121
- - - "~>"
115
+ - - ~>
122
116
  - !ruby/object:Gem::Version
123
117
  version: '1.22'
124
- - - ">="
118
+ - - '>='
125
119
  - !ruby/object:Gem::Version
126
120
  version: 1.22.1
127
121
  - !ruby/object:Gem::Dependency
128
122
  name: bundler
129
123
  requirement: !ruby/object:Gem::Requirement
130
124
  requirements:
131
- - - "~>"
125
+ - - ~>
132
126
  - !ruby/object:Gem::Version
133
127
  version: '1.6'
134
128
  type: :development
135
129
  prerelease: false
136
130
  version_requirements: !ruby/object:Gem::Requirement
137
131
  requirements:
138
- - - "~>"
132
+ - - ~>
139
133
  - !ruby/object:Gem::Version
140
134
  version: '1.6'
141
135
  - !ruby/object:Gem::Dependency
142
136
  name: rake
143
137
  requirement: !ruby/object:Gem::Requirement
144
138
  requirements:
145
- - - "~>"
139
+ - - ~>
146
140
  - !ruby/object:Gem::Version
147
141
  version: '10.3'
148
142
  type: :development
149
143
  prerelease: false
150
144
  version_requirements: !ruby/object:Gem::Requirement
151
145
  requirements:
152
- - - "~>"
146
+ - - ~>
153
147
  - !ruby/object:Gem::Version
154
148
  version: '10.3'
149
+ - !ruby/object:Gem::Dependency
150
+ name: factory_girl
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ~>
154
+ - !ruby/object:Gem::Version
155
+ version: '4.5'
156
+ type: :development
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ~>
161
+ - !ruby/object:Gem::Version
162
+ version: '4.5'
155
163
  - !ruby/object:Gem::Dependency
156
164
  name: rspec
157
165
  requirement: !ruby/object:Gem::Requirement
158
166
  requirements:
159
- - - "~>"
167
+ - - ~>
160
168
  - !ruby/object:Gem::Version
161
- version: '3.0'
169
+ version: '3.2'
162
170
  type: :development
163
171
  prerelease: false
164
172
  version_requirements: !ruby/object:Gem::Requirement
165
173
  requirements:
166
- - - "~>"
174
+ - - ~>
167
175
  - !ruby/object:Gem::Version
168
- version: '3.0'
176
+ version: '3.2'
169
177
  - !ruby/object:Gem::Dependency
170
- name: vcr
178
+ name: sinatra
171
179
  requirement: !ruby/object:Gem::Requirement
172
180
  requirements:
173
- - - "~>"
181
+ - - ~>
174
182
  - !ruby/object:Gem::Version
175
- version: '2.9'
183
+ version: '1.4'
176
184
  type: :development
177
185
  prerelease: false
178
186
  version_requirements: !ruby/object:Gem::Requirement
179
187
  requirements:
180
- - - "~>"
188
+ - - ~>
181
189
  - !ruby/object:Gem::Version
182
- version: '2.9'
190
+ version: '1.4'
191
+ - !ruby/object:Gem::Dependency
192
+ name: bson
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: '3.0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ~>
203
+ - !ruby/object:Gem::Version
204
+ version: '3.0'
183
205
  - !ruby/object:Gem::Dependency
184
206
  name: webmock
185
207
  requirement: !ruby/object:Gem::Requirement
186
208
  requirements:
187
- - - "~>"
209
+ - - ~>
188
210
  - !ruby/object:Gem::Version
189
211
  version: '1.18'
190
212
  type: :development
191
213
  prerelease: false
192
214
  version_requirements: !ruby/object:Gem::Requirement
193
215
  requirements:
194
- - - "~>"
216
+ - - ~>
195
217
  - !ruby/object:Gem::Version
196
218
  version: '1.18'
197
219
  description: Cliente Ruby de NaranyaEcm para aplicaciones cliente.
@@ -201,7 +223,8 @@ executables: []
201
223
  extensions: []
202
224
  extra_rdoc_files: []
203
225
  files:
204
- - ".gitignore"
226
+ - .gitignore
227
+ - .rspec
205
228
  - Gemfile
206
229
  - LICENSE.txt
207
230
  - README.rdoc
@@ -227,7 +250,6 @@ files:
227
250
  - lib/naranya_ecm/models/notification.rb
228
251
  - lib/naranya_ecm/rest/association_relation.rb
229
252
  - lib/naranya_ecm/rest/associations.rb
230
- - lib/naranya_ecm/rest/client.rb
231
253
  - lib/naranya_ecm/rest/errors.rb
232
254
  - lib/naranya_ecm/rest/finder_methods.rb
233
255
  - lib/naranya_ecm/rest/model.rb
@@ -237,45 +259,40 @@ files:
237
259
  - lib/naranya_ecm/search/methods.rb
238
260
  - lib/naranya_ecm/search/query.rb
239
261
  - lib/naranya_ecm/search/results.rb
262
+ - lib/ncontent-sdk-testing.rb
263
+ - lib/ncontent-sdk.rb
264
+ - lib/ncontent/sdk/config.rb
265
+ - lib/ncontent/sdk/faraday_middleware.rb
266
+ - lib/ncontent/sdk/faraday_middleware/required_response_format.rb
267
+ - lib/ncontent/sdk/faraday_middleware/response_parser.rb
268
+ - lib/ncontent/sdk/faraday_middleware/rest_api_call_benchmark.rb
269
+ - lib/ncontent/sdk/railtie.rb
270
+ - lib/ncontent/sdk/rest_client.rb
271
+ - lib/ncontent/sdk/testing/server_mock.rb
240
272
  - naranya_ecm-sdk.gemspec
241
- - spec/models/category_spec.rb
242
- - spec/models/content_spec.rb
243
- - spec/models/content_version_spec.rb
244
- - spec/models/download_authorization.rb
245
- - spec/models/media_spec.rb
246
- - spec/models/module_spec.rb
247
- - spec/spec_helper.rb
248
- - spec/support/naranya_ecms_shared_specs.rb
249
273
  homepage: http://naranya.com
250
274
  licenses:
251
275
  - MIT
252
- metadata: {}
276
+ metadata:
277
+ allowed_push_host: https://rubygems.org
253
278
  post_install_message:
254
279
  rdoc_options: []
255
280
  require_paths:
256
281
  - lib
257
282
  required_ruby_version: !ruby/object:Gem::Requirement
258
283
  requirements:
259
- - - ">="
284
+ - - '>='
260
285
  - !ruby/object:Gem::Version
261
286
  version: '0'
262
287
  required_rubygems_version: !ruby/object:Gem::Requirement
263
288
  requirements:
264
- - - ">="
289
+ - - '>='
265
290
  - !ruby/object:Gem::Version
266
291
  version: '0'
267
292
  requirements: []
268
293
  rubyforge_project:
269
- rubygems_version: 2.2.2
294
+ rubygems_version: 2.4.6
270
295
  signing_key:
271
296
  specification_version: 4
272
297
  summary: Cliente Ruby de NaranyaEcm
273
- test_files:
274
- - spec/models/category_spec.rb
275
- - spec/models/content_spec.rb
276
- - spec/models/content_version_spec.rb
277
- - spec/models/download_authorization.rb
278
- - spec/models/media_spec.rb
279
- - spec/models/module_spec.rb
280
- - spec/spec_helper.rb
281
- - spec/support/naranya_ecms_shared_specs.rb
298
+ test_files: []
@@ -1,92 +0,0 @@
1
- require 'httparty'
2
- require 'naranya_ecm/rest/errors'
3
- require 'active_support/core_ext/hash/indifferent_access.rb'
4
- require 'active_support/concern'
5
-
6
- module NaranyaEcm::Rest
7
- class Client
8
-
9
- module HTTPartyPatch
10
- extend ActiveSupport::Concern
11
-
12
- included do
13
- alias_method_chain :format, :patch
14
- end
15
-
16
- def format_with_patch(request, response)
17
- current_time = Time.now.strftime("%Y-%m-%d %H:%M:%S %z")
18
- http_method = request.http_method.name.split("::").last.upcase
19
- path = request.path.to_s
20
- content_length = response.headers['Content-Length']
21
- @logger.send @level, "[#{HTTParty::Logger::ApacheLogger::TAG_NAME}] [#{current_time}] #{response.code} \"#{http_method} #{path}\" #{content_length || "-"} "
22
- end
23
- end
24
-
25
- HTTParty::Logger::ApacheLogger.send :include, HTTPartyPatch
26
-
27
- TOKEN_CACHE_KEY = 'naranya_ecm/client/client_token'
28
-
29
- class << self
30
-
31
- %w(get post put patch delete).map(&:to_sym).each do |method_symbol|
32
- define_method method_symbol do |path, options = {}|
33
- execute_request method_symbol, path, options
34
- end
35
- end
36
-
37
- private
38
-
39
- def execute_request(method, path, options = {})
40
- url = "#{NaranyaEcm.options[:site]}#{path}"
41
-
42
- options[:headers] = {} unless options.has_key? :headers
43
- options[:headers]['Authorization'] = authorization_header
44
-
45
- options[:logger] = NaranyaEcm.logger
46
- options[:log_level] = :debug
47
- options[:log_format] = :apache
48
-
49
- # HTTParty no envía un parametro GET si es un Array vacío.
50
- # Convertir los arrays vacíos a [nil] (WTF?)
51
- if method == :get && options[:query].is_a?(Hash)
52
- options[:query].each { |key, val| options[:query][key] = [nil] if val.is_a?(Array) && val.empty? }
53
- end
54
-
55
- response = HTTParty.send method, url, options
56
-
57
- # Retry if response code is 401 and a client token is present:
58
- if response.code == 401 && authorization_header.present?
59
- options[:headers]['Authorization'] = authorization_header(true)
60
- response = HTTParty.send method, url, options
61
- end
62
- ::NaranyaEcm::Rest::RestError.raise_by_failed_response(response) unless response.success?
63
-
64
- response
65
- end
66
-
67
- # https://github.com/applicake/doorkeeper/wiki/Client-Credentials-flow
68
- def authorization_header(clear = false)
69
-
70
- if clear
71
- @authorization_header = nil
72
- NaranyaEcm.cache.delete TOKEN_CACHE_KEY
73
- end
74
-
75
- @authorization_header ||= NaranyaEcm.cache.fetch(TOKEN_CACHE_KEY) do
76
- token_response = HTTParty.post "#{NaranyaEcm.options[:site]}/oauth/token",
77
- basic_auth: { username: NaranyaEcm.options[:api_key], password: NaranyaEcm.options[:api_secret] },
78
- body: { grant_type: "client_credentials" },
79
- logger: NaranyaEcm.logger,
80
- log_level: :debug,
81
- log_format: :curl
82
-
83
- ::NaranyaEcm::Rest::RestError.raise_by_failed_response(token_response.code) unless token_response.success?
84
-
85
- "Bearer #{token_response['access_token']}"
86
- end
87
- end
88
-
89
- end
90
-
91
- end
92
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe NaranyaEcm::Category, vcr: true do
4
-
5
- it_behaves_like "a NaranyaEcm resource"
6
-
7
- describe "#name" do
8
- it "responds to #name" do
9
- expect(subject).to respond_to :name
10
- end
11
- it "responds to #name_translations" do
12
- expect(subject).to respond_to :name_translations
13
- end
14
- end
15
-
16
- end
@@ -1,20 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe NaranyaEcm::Content, vcr: true do
4
-
5
- it_behaves_like "a NaranyaEcm resource"
6
-
7
- describe "localized title" do
8
- it "responds to #title" do
9
- expect(subject).to respond_to :title
10
- end
11
- it "responds to #title_translations" do
12
- expect(subject).to respond_to :title_translations
13
- end
14
- end
15
-
16
- it "responds to #description" do
17
- expect(subject).to respond_to :title
18
- end
19
-
20
- end