naranya_ecm-sdk 0.0.32 → 0.0.33
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 +4 -4
- data/doc/media_processing.md +32 -0
- data/lib/naranya_ecm-sdk.rb +2 -0
- data/lib/naranya_ecm-sdk/version.rb +1 -1
- data/lib/naranya_ecm/behaviors/media_methods.rb +33 -0
- data/lib/naranya_ecm/models/media_process.rb +29 -0
- data/lib/naranya_ecm/models/media_profile.rb +30 -0
- data/lib/naranya_ecm/models/media_resource.rb +10 -0
- data/lib/naranya_ecm/rest/model.rb +2 -0
- data/naranya_ecm-sdk.gemspec +12 -12
- metadata +75 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a32d7a9278cee949df2df10694c14f3c4ab01803
|
4
|
+
data.tar.gz: 3edf4dbc6fb7ceda70f595a0e22f8e3c5b3951de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 937df46c5e7c289421bed86c0a790588dce165416b194b9a97bae76e7a3809fde99672d6be65e63a0e56053daee327cc0d7837b5984642ade625f99bf5068e01
|
7
|
+
data.tar.gz: 8e96bacadbb8156cc75f0fa1ff04d408461d5ec39eb49e4b2acf300174ae65c731af555318fed695a9edf22f8de243ec8594e1f21c2515e2399de07c0882d8a8
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# Media Processing
|
2
|
+
|
3
|
+
```bash
|
4
|
+
|
5
|
+
# Incluir para este ejemplo al namespace raíz
|
6
|
+
include NaranyaEcm
|
7
|
+
|
8
|
+
mp = MediaProfile.create(
|
9
|
+
name: "icon_small",
|
10
|
+
title: "Small Icon",
|
11
|
+
template: {
|
12
|
+
resize: {
|
13
|
+
use: "import",
|
14
|
+
robot: "/image/resize",
|
15
|
+
width: "560",
|
16
|
+
height: "380"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
)
|
20
|
+
|
21
|
+
```
|
22
|
+
|
23
|
+
```bash
|
24
|
+
|
25
|
+
# Incluir para este ejemplo al namespace raíz
|
26
|
+
include NaranyaEcm
|
27
|
+
|
28
|
+
mr = MediaResource.find "53384cb034356100092c0000"
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
```
|
data/lib/naranya_ecm-sdk.rb
CHANGED
@@ -21,5 +21,38 @@ module NaranyaEcm::Behaviors
|
|
21
21
|
mr = self.select_media_by_role(role_name).map(&:downloadable_url)
|
22
22
|
mr.flatten.uniq
|
23
23
|
end
|
24
|
+
|
25
|
+
def detect_media_by_roles(*given_roles)
|
26
|
+
raise ArgumentError, "Given role list is blank" if given_roles.blank?
|
27
|
+
current_roles = given_roles.dup
|
28
|
+
detected_media = nil
|
29
|
+
until detected_media.present? || current_roles.count < 1 do
|
30
|
+
detected_media = self.media_resources.detect { |mr| (mr.roles & current_roles).count == current_roles.count }
|
31
|
+
current_roles.pop
|
32
|
+
end
|
33
|
+
detected_media
|
34
|
+
end
|
35
|
+
|
36
|
+
def detect_media_url_by_roles(*given_roles)
|
37
|
+
detected_media = detect_media_by_roles(*given_roles)
|
38
|
+
detected_media.present? ? detected_media.downloadable_url : nil
|
39
|
+
end
|
40
|
+
|
41
|
+
def select_media_by_roles(*given_roles)
|
42
|
+
raise ArgumentError, "Given role list is blank" if given_roles.blank?
|
43
|
+
current_roles = given_roles.dup
|
44
|
+
selected_media = nil
|
45
|
+
until selected_media.present? || current_roles.count < 1 do
|
46
|
+
selected_media = self.media_resources.select { |mr| (mr.roles & current_roles).count == current_roles.count }
|
47
|
+
current_roles.pop
|
48
|
+
end
|
49
|
+
selected_media
|
50
|
+
end
|
51
|
+
|
52
|
+
def select_media_urls_by_roles(*given_roles)
|
53
|
+
selected_media = select_media_by_roles(*given_roles)
|
54
|
+
selected_media.present? ? selected_media.map(&:downloadable_url) : nil
|
55
|
+
end
|
56
|
+
|
24
57
|
end
|
25
58
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module NaranyaEcm
|
2
|
+
|
3
|
+
class MediaProcess
|
4
|
+
|
5
|
+
include NaranyaEcm.document_module
|
6
|
+
include NaranyaEcm::Behaviors::Timestampable
|
7
|
+
|
8
|
+
# Template id
|
9
|
+
field :template_id, type: String
|
10
|
+
validates :template_id, presence: true
|
11
|
+
|
12
|
+
# Source Media Resource:
|
13
|
+
belongs_to :media_resource
|
14
|
+
|
15
|
+
field :notify_url, type: String
|
16
|
+
|
17
|
+
field :append_media_roles, type: Array, default: -> { [] }
|
18
|
+
|
19
|
+
def template_hash
|
20
|
+
ActiveSupport::JSON.decode template
|
21
|
+
end
|
22
|
+
|
23
|
+
def template_hash=(hash = {})
|
24
|
+
self.template = ActiveSupport::JSON.encode hash
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module NaranyaEcm
|
2
|
+
class MediaProfile
|
3
|
+
|
4
|
+
include NaranyaEcm.document_module
|
5
|
+
include NaranyaEcm::Behaviors::Timestampable
|
6
|
+
|
7
|
+
# Profile name
|
8
|
+
field :name, type: String
|
9
|
+
validates :name, presence: true
|
10
|
+
|
11
|
+
# Title, Human readable name
|
12
|
+
field :title, type: String
|
13
|
+
|
14
|
+
# Preset id to use
|
15
|
+
field :preset_id, type: String
|
16
|
+
|
17
|
+
# Template content
|
18
|
+
field :template, type: String
|
19
|
+
|
20
|
+
def template_hash
|
21
|
+
ActiveSupport::JSON.decode template
|
22
|
+
end
|
23
|
+
|
24
|
+
def template_hash=(hash = {})
|
25
|
+
self.template = ActiveSupport::JSON.encode hash
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -68,6 +68,16 @@ module NaranyaEcm
|
|
68
68
|
def self.root_directory
|
69
69
|
NaranyaEcm.root_directory
|
70
70
|
end
|
71
|
+
|
72
|
+
# Generates a MediaProcess with self as the source MediaResource.
|
73
|
+
def process_with_profile(given_profile, given_options = {})
|
74
|
+
raise ArgumentError, 'Given profile is not a MediaProfile' unless given_profile.is_a? NaranyaEcm::MediaProfile
|
75
|
+
|
76
|
+
# TODO: Eliminar template_id...
|
77
|
+
options = given_options.merge media_resource: self, template_id: given_profile.template_id
|
78
|
+
|
79
|
+
NaranyaEcm::MediaProcess.create options
|
80
|
+
end
|
71
81
|
|
72
82
|
end
|
73
83
|
end
|
data/naranya_ecm-sdk.gemspec
CHANGED
@@ -10,8 +10,8 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ["Roberto Quintanilla"]
|
11
11
|
spec.email = ["roberto.quintanilla@naranya.com"]
|
12
12
|
spec.summary = %q{Cliente Ruby de NaranyaEcm}
|
13
|
-
spec.description = %q{Cliente Ruby de NaranyaEcm}
|
14
|
-
spec.homepage = ""
|
13
|
+
spec.description = %q{Cliente Ruby de NaranyaEcm para aplicaciones cliente.}
|
14
|
+
spec.homepage = "http://naranya.com"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -19,15 +19,15 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency "activesupport", "~> 4.0.5"
|
23
|
-
spec.add_dependency "activemodel", "~> 4.0.5"
|
24
|
-
spec.add_dependency "httparty"
|
25
|
-
spec.add_dependency "aasm"
|
26
|
-
spec.add_dependency "fog",
|
22
|
+
spec.add_dependency "activesupport", "~> 4.0", ">= 4.0.5"
|
23
|
+
spec.add_dependency "activemodel", "~> 4.0", ">= 4.0.5"
|
24
|
+
spec.add_dependency "httparty", "~> 0.13", ">= 0.13.1"
|
25
|
+
spec.add_dependency "aasm", "~> 3.2", ">= 3.2.1"
|
26
|
+
spec.add_dependency "fog", "~> 1.22", ">= 1.22.1"
|
27
27
|
|
28
|
-
spec.add_development_dependency "bundler"
|
29
|
-
spec.add_development_dependency "rake"
|
30
|
-
spec.add_development_dependency "rspec",
|
31
|
-
spec.add_development_dependency "vcr"
|
32
|
-
spec.add_development_dependency "webmock"
|
28
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
29
|
+
spec.add_development_dependency "rake", "~> 10.3"
|
30
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
31
|
+
spec.add_development_dependency "vcr", "~> 2.9"
|
32
|
+
spec.add_development_dependency "webmock", "~> 1.18"
|
33
33
|
end
|
metadata
CHANGED
@@ -1,163 +1,193 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: naranya_ecm-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Quintanilla
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-24 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
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: 4.0.5
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - ~>
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4.0'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
32
|
version: 4.0.5
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: activemodel
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- - ~>
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '4.0'
|
40
|
+
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
33
42
|
version: 4.0.5
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- - ~>
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '4.0'
|
50
|
+
- - ">="
|
39
51
|
- !ruby/object:Gem::Version
|
40
52
|
version: 4.0.5
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: httparty
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
45
|
-
- -
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.13'
|
60
|
+
- - ">="
|
46
61
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
62
|
+
version: 0.13.1
|
48
63
|
type: :runtime
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
51
66
|
requirements:
|
52
|
-
- -
|
67
|
+
- - "~>"
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
69
|
+
version: '0.13'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.13.1
|
55
73
|
- !ruby/object:Gem::Dependency
|
56
74
|
name: aasm
|
57
75
|
requirement: !ruby/object:Gem::Requirement
|
58
76
|
requirements:
|
59
|
-
- -
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '3.2'
|
80
|
+
- - ">="
|
60
81
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
82
|
+
version: 3.2.1
|
62
83
|
type: :runtime
|
63
84
|
prerelease: false
|
64
85
|
version_requirements: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
66
|
-
- -
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.2'
|
90
|
+
- - ">="
|
67
91
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
92
|
+
version: 3.2.1
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
94
|
name: fog
|
71
95
|
requirement: !ruby/object:Gem::Requirement
|
72
96
|
requirements:
|
73
|
-
- - ~>
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '1.22'
|
100
|
+
- - ">="
|
74
101
|
- !ruby/object:Gem::Version
|
75
102
|
version: 1.22.1
|
76
103
|
type: :runtime
|
77
104
|
prerelease: false
|
78
105
|
version_requirements: !ruby/object:Gem::Requirement
|
79
106
|
requirements:
|
80
|
-
- - ~>
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.22'
|
110
|
+
- - ">="
|
81
111
|
- !ruby/object:Gem::Version
|
82
112
|
version: 1.22.1
|
83
113
|
- !ruby/object:Gem::Dependency
|
84
114
|
name: bundler
|
85
115
|
requirement: !ruby/object:Gem::Requirement
|
86
116
|
requirements:
|
87
|
-
- -
|
117
|
+
- - "~>"
|
88
118
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
119
|
+
version: '1.6'
|
90
120
|
type: :development
|
91
121
|
prerelease: false
|
92
122
|
version_requirements: !ruby/object:Gem::Requirement
|
93
123
|
requirements:
|
94
|
-
- -
|
124
|
+
- - "~>"
|
95
125
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
126
|
+
version: '1.6'
|
97
127
|
- !ruby/object:Gem::Dependency
|
98
128
|
name: rake
|
99
129
|
requirement: !ruby/object:Gem::Requirement
|
100
130
|
requirements:
|
101
|
-
- -
|
131
|
+
- - "~>"
|
102
132
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
133
|
+
version: '10.3'
|
104
134
|
type: :development
|
105
135
|
prerelease: false
|
106
136
|
version_requirements: !ruby/object:Gem::Requirement
|
107
137
|
requirements:
|
108
|
-
- -
|
138
|
+
- - "~>"
|
109
139
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
140
|
+
version: '10.3'
|
111
141
|
- !ruby/object:Gem::Dependency
|
112
142
|
name: rspec
|
113
143
|
requirement: !ruby/object:Gem::Requirement
|
114
144
|
requirements:
|
115
|
-
- - ~>
|
145
|
+
- - "~>"
|
116
146
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.0
|
147
|
+
version: '3.0'
|
118
148
|
type: :development
|
119
149
|
prerelease: false
|
120
150
|
version_requirements: !ruby/object:Gem::Requirement
|
121
151
|
requirements:
|
122
|
-
- - ~>
|
152
|
+
- - "~>"
|
123
153
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.0
|
154
|
+
version: '3.0'
|
125
155
|
- !ruby/object:Gem::Dependency
|
126
156
|
name: vcr
|
127
157
|
requirement: !ruby/object:Gem::Requirement
|
128
158
|
requirements:
|
129
|
-
- -
|
159
|
+
- - "~>"
|
130
160
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
161
|
+
version: '2.9'
|
132
162
|
type: :development
|
133
163
|
prerelease: false
|
134
164
|
version_requirements: !ruby/object:Gem::Requirement
|
135
165
|
requirements:
|
136
|
-
- -
|
166
|
+
- - "~>"
|
137
167
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
168
|
+
version: '2.9'
|
139
169
|
- !ruby/object:Gem::Dependency
|
140
170
|
name: webmock
|
141
171
|
requirement: !ruby/object:Gem::Requirement
|
142
172
|
requirements:
|
143
|
-
- -
|
173
|
+
- - "~>"
|
144
174
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
175
|
+
version: '1.18'
|
146
176
|
type: :development
|
147
177
|
prerelease: false
|
148
178
|
version_requirements: !ruby/object:Gem::Requirement
|
149
179
|
requirements:
|
150
|
-
- -
|
180
|
+
- - "~>"
|
151
181
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
153
|
-
description: Cliente Ruby de NaranyaEcm
|
182
|
+
version: '1.18'
|
183
|
+
description: Cliente Ruby de NaranyaEcm para aplicaciones cliente.
|
154
184
|
email:
|
155
185
|
- roberto.quintanilla@naranya.com
|
156
186
|
executables: []
|
157
187
|
extensions: []
|
158
188
|
extra_rdoc_files: []
|
159
189
|
files:
|
160
|
-
- .gitignore
|
190
|
+
- ".gitignore"
|
161
191
|
- Gemfile
|
162
192
|
- LICENSE.txt
|
163
193
|
- README.rdoc
|
@@ -166,6 +196,7 @@ files:
|
|
166
196
|
- dev/init.rb
|
167
197
|
- dev/load_cvm.rb
|
168
198
|
- dev/search.rb
|
199
|
+
- doc/media_processing.md
|
169
200
|
- lib/aasm/persistence/rest_persistence.rb
|
170
201
|
- lib/naranya_ecm-sdk.rb
|
171
202
|
- lib/naranya_ecm-sdk/version.rb
|
@@ -176,6 +207,8 @@ files:
|
|
176
207
|
- lib/naranya_ecm/models/content.rb
|
177
208
|
- lib/naranya_ecm/models/content_version.rb
|
178
209
|
- lib/naranya_ecm/models/download_authorization.rb
|
210
|
+
- lib/naranya_ecm/models/media_process.rb
|
211
|
+
- lib/naranya_ecm/models/media_profile.rb
|
179
212
|
- lib/naranya_ecm/models/media_resource.rb
|
180
213
|
- lib/naranya_ecm/rest/association_relation.rb
|
181
214
|
- lib/naranya_ecm/rest/associations.rb
|
@@ -198,7 +231,7 @@ files:
|
|
198
231
|
- spec/models/module_spec.rb
|
199
232
|
- spec/spec_helper.rb
|
200
233
|
- spec/support/naranya_ecms_shared_specs.rb
|
201
|
-
homepage:
|
234
|
+
homepage: http://naranya.com
|
202
235
|
licenses:
|
203
236
|
- MIT
|
204
237
|
metadata: {}
|
@@ -208,17 +241,17 @@ require_paths:
|
|
208
241
|
- lib
|
209
242
|
required_ruby_version: !ruby/object:Gem::Requirement
|
210
243
|
requirements:
|
211
|
-
- -
|
244
|
+
- - ">="
|
212
245
|
- !ruby/object:Gem::Version
|
213
246
|
version: '0'
|
214
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
248
|
requirements:
|
216
|
-
- -
|
249
|
+
- - ">="
|
217
250
|
- !ruby/object:Gem::Version
|
218
251
|
version: '0'
|
219
252
|
requirements: []
|
220
253
|
rubyforge_project:
|
221
|
-
rubygems_version: 2.
|
254
|
+
rubygems_version: 2.2.2
|
222
255
|
signing_key:
|
223
256
|
specification_version: 4
|
224
257
|
summary: Cliente Ruby de NaranyaEcm
|