mio-config 2.2.0 → 2.3.0

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: bb5ce18037687d72de1d7f2aea5224eeb3f756b2
4
- data.tar.gz: 7af080214929c5e1b583a0c66aa516effce8f998
3
+ metadata.gz: ebb01782fede6f0e8f83cc84eacc98bcf13b2a98
4
+ data.tar.gz: f5645b0e827640c097d58c2edc8c079197fabc73
5
5
  SHA512:
6
- metadata.gz: 21f880f1ccc3ed6e5c20faa4ed5bdd2af5f4d32cc2c44a2bcb22554d095ee2eda0cbe0287d480970224163a559716a493c2b1d3462f5fded62c2a0428f293d7d
7
- data.tar.gz: fcd1363b726ce652751a67082757795bade86624ac7ae6231e774100c596912c1f54cdb9a7cecd2c4abd7adee1d865b40b8b7449de49b3acf59ce92498533351
6
+ metadata.gz: 2aff49bc4af3ac170af91b0c53b7541a2af4245a52b5f46adbddff4c3d4f2e098149080a8963bef5c26808a7a65d0bddd7a853915cb9a4b70b8da8c81eef7b3b
7
+ data.tar.gz: 74d12e1cde8508020bc2917710fde4e5d08728ab78d6d0c840bd755f6e6d2657d6152ea96d6f256f923a0d8947b3b737f9ddfa72e1cec80f13e97b2313aae449
@@ -1,4 +1,4 @@
1
- require 'builder'
1
+ require 'nokogiri'
2
2
 
3
3
  class Mio
4
4
  class Model
@@ -21,55 +21,90 @@ class Mio
21
21
  visibilityIds: @args.visibility}
22
22
  end
23
23
 
24
- def trim_xml_from_element xml, endTag='</metadata>'
25
- endTagIdx = xml.index endTag
26
- if (endTagIdx)
27
- xmlEnd = endTagIdx + endTag.length
28
- if (xmlEnd < xml.length)
29
- xml = xml[0...-(xml.length-xmlEnd)]
24
+ def validation_handler_by_type type
25
+ case type
26
+ when 'text'
27
+ 'tv.nativ.mio.metadata.variable.def.validation.MaxLengthValidationHandler'
28
+ when 'image'
29
+ 'tv.nativ.mio.metadata.resource.def.MioFileVariable.FileValidationHandler'
30
+ when 'string'
31
+ 'tv.nativ.mio.metadata.variable.def.validation.MaxLengthValidationHandler'
32
+ when 'url'
33
+ 'tv.nativ.mio.metadata.resource.def.MioURLVariable$URLValidationHandler'
34
+ else
35
+ ''
36
+ end
37
+ end
38
+
39
+ def build_options_xml children, hash
40
+ children.send("option-child", name: hash.fetch(:name),
41
+ default: hash.fetch(:default),
42
+ value: hash.fetch(:value),
43
+ display_name: hash.fetch(:displayName));
44
+ end
45
+
46
+ def build_children_xml children, hash, type=nil
47
+ if type.nil?
48
+ type = hash.fetch(:type)
49
+ end
50
+ children.send(type+'_', name: hash.fetch(:name), display_name: hash.fetch(:displayName)) do |child|
51
+ child.searchable hash.fetch(:searchable).to_s
52
+ child.editable hash.fetch(:editable).to_s
53
+ child.required hash.fetch(:required)
54
+ if hash.key?(:maxLength)
55
+ max_length = hash.fetch(:maxLength)
56
+ unless max_length.nil? && max_length.equal?(-1)
57
+ child.send("max-length", max_length )
58
+ end
59
+ end
60
+ if hash.key?(:validationHandler)
61
+ validation_handler = hash.fetch(:validationHandler)
62
+ unless validation_handler.nil?
63
+ child.validation handler: validation_handler
64
+ else
65
+ child.validation handler: validation_handler_by_type(type)
66
+ end
67
+ end
68
+ if hash.key?(:formType)
69
+ child.send("form-type", hash.fetch(:formType))
70
+ end
71
+ if hash.key?(:options)
72
+ options = hash.fetch(:options)
73
+ unless options.nil? && options.length > 0
74
+ child.children do |children|
75
+ options.each do |option|
76
+ build_options_xml children, option
77
+ end
78
+ end
79
+ end
80
+ end
81
+ if hash.key?(:strings)
82
+ strings = hash.fetch(:strings)
83
+ unless strings.nil? && strings.length > 0
84
+ child.children do |children|
85
+ strings.each do |string|
86
+ build_children_xml children, string, 'string'
87
+ end
88
+ end
89
+ end
30
90
  end
31
91
  end
32
- xml
33
92
  end
34
93
 
35
94
  def definition_xml
36
- builder = Builder::XmlMarkup.new
37
- builder.metadata name: @args.name do |metadata|
38
- metadata.searchable @args.searchable.to_s;
39
- metadata.editable @args.editable.to_s;
40
- metadata.required @args.required.to_s;
41
- metadata.children do |children|
42
- @args.definitions.each do |definition|
43
- case definition.fetch :formType
44
- when "textarea"
45
- children.text(name: definition.fetch(:name), display_name: @args.displayName) do |text|
46
- text.searchable definition.fetch(:searchable).to_s;
47
- text.editable definition.fetch(:editable).to_s;
48
- text.required definition.fetch(:required);
49
- text.validation(handler: definition.fetch(:validationHandler));
50
- text.tag! "form-type" do |x|
51
- x.text! definition.fetch(:formType);
52
- end
53
- end
54
- when "select"
55
- children.tag!("single-option", name: definition.fetch(:name)) do |singleOption|
56
- singleOption.searchable definition.fetch(:searchable).to_s;
57
- singleOption.editable definition.fetch(:editable).to_s;
58
- singleOption.required definition.fetch(:required);
59
- singleOption.children do |children|
60
- definition.fetch(:options).each do |option|
61
- children.tag!("option-child", name: option.fetch(:name),
62
- default: option.fetch(:default),
63
- value: option.fetch(:value),
64
- display_name: option.fetch(:displayName));
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end
95
+ xml_builder = Nokogiri::XML::Builder.new do |xml|
96
+ xml.metadata(name: @args.name ) {
97
+ xml.searchable @args.searchable.to_s
98
+ xml.editable @args.editable.to_s
99
+ xml.required @args.required.to_s
100
+ xml.children do |children|
101
+ @args.definitions.each do |definition|
102
+ build_children_xml children, definition
103
+ end
104
+ end
105
+ }
71
106
  end
72
- trim_xml_from_element builder.target!
107
+ xml_builder.to_xml
73
108
  end
74
109
 
75
110
  def go
@@ -5,12 +5,14 @@ class Mio
5
5
  set_resource :metadatadefinition
6
6
 
7
7
  field :name, String, 'Metadata Definition Name'
8
+ field :displayName, String, 'Display name'
9
+ field :type, String, 'Metdata type text|single-option|checkbox|image', 'textarea'
8
10
  field :description, String, 'Metadata Definition Description'
9
- field :type, String, 'Metadata type'
10
11
  field :searchable, Symbol, 'Indexed and searchable', :true
11
12
  field :editable, Symbol, 'Editable field', :true
12
13
  field :required, Symbol, 'Required mandatory metadata item', :true
13
14
  field :formType, String, 'Form control type'
15
+ field :maxLength, Fixnum, 'MaxLength', -1
14
16
  field :validationHandler, String, 'Validation handler', nil
15
17
  field :options, Array, 'Array of options', nil
16
18
 
@@ -8,6 +8,7 @@ class Mio
8
8
  field :displayName, String, 'Metadata Definition Description'
9
9
  field :default, Symbol, 'Metadata type'
10
10
  field :value, String, 'Indexed and searchable',
11
+ field :type, String, 'option type option-child|string'
11
12
 
12
13
  nested true
13
14
 
@@ -1,6 +1,6 @@
1
1
  class Mio
2
2
  class Model
3
- class CreatePlaceHolderGroupAsset < Model
3
+ class PlaceHolderGroupAssetAction < Model
4
4
  set_resource :actions
5
5
 
6
6
  field :name, String, 'Name of the place holder asset'
@@ -22,7 +22,6 @@ class Mio
22
22
  }
23
23
  end
24
24
 
25
-
26
25
  def metadata_definition_id metadata_definition_name
27
26
  r = 'metadataDefinitions'
28
27
  metadata_definitions = @client.find_all(r)
@@ -35,7 +34,6 @@ class Mio
35
34
  md['id']
36
35
  end
37
36
 
38
-
39
37
  def config_hash
40
38
  {"name": @args.name,
41
39
  "asset-type": 'group-asset',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mio-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jspc
@@ -11,20 +11,6 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 2016-04-29 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: builder
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: '0'
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- version: '0'
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: colorize
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -81,6 +67,20 @@ dependencies:
81
67
  - - "~>"
82
68
  - !ruby/object:Gem::Version
83
69
  version: '2.9'
70
+ - !ruby/object:Gem::Dependency
71
+ name: nokogiri
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.6'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.6'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +109,6 @@ files:
109
109
  - "./lib/mio/migrations.rb"
110
110
  - "./lib/mio/model.rb"
111
111
  - "./lib/mio/model/autoload.rb"
112
- - "./lib/mio/model/create_place_holder_group_asset.rb"
113
112
  - "./lib/mio/model/groovy_script.rb"
114
113
  - "./lib/mio/model/groovy_script_wait.rb"
115
114
  - "./lib/mio/model/hotfolder.rb"
@@ -117,6 +116,7 @@ files:
117
116
  - "./lib/mio/model/metadata_definition.rb"
118
117
  - "./lib/mio/model/metadatadefinition/definition.rb"
119
118
  - "./lib/mio/model/metadatadefinition/option.rb"
119
+ - "./lib/mio/model/place_holder_group_asset_action.rb"
120
120
  - "./lib/mio/model/s3.rb"
121
121
  - "./lib/mio/model/variant.rb"
122
122
  - "./lib/mio/model/workflow.rb"