mio-config 2.9.0 → 2.10.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: 61b9c58271e6a76d72c7c7c5dc406c0c6fcda909
4
- data.tar.gz: 81ff2c15326544960e24520d9867fcb52bbc873c
3
+ metadata.gz: d1308045c8215a36a9bdc6e4bf48814c7d6e106c
4
+ data.tar.gz: 6ce46bd3210f83ad1aae98cdc30bbbea234599db
5
5
  SHA512:
6
- metadata.gz: 2fbafc6990f8dab8315b2156f960514a71b84996981f41f69e6c9603e3186f3d9ff81e475e16d8811a1f6156d4bf4191d15705ab8596498d9d13aa05f337a0f2
7
- data.tar.gz: f0b8e1faed33b694da9c55539cd0422092a50b1afef0e24914fe7a2ddea6c73403bb8b3304e14252292db0154e28a1a878dd38929a1322c2c259ad97d91b7c89
6
+ metadata.gz: 095e1e0f82f81ce4e89242d33b33482eb3f340f66c37ccaa4317cf1e0a76016e0c6f27272575821b95313c83b8c0a95720b402d965b9d4e2079cf82fa714ff85
7
+ data.tar.gz: dab75e68bda7f74fa933dfd66472c3170629d9e344ffd9a5be4c8ab2c38430cd4827f985344295c2e32cf1767099cb5da91df6ea5a3c1197ef8b1c3e41d189a5
data/lib/mio/model.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  class Mio
2
2
  class Model
3
+ attr_reader :args
3
4
  class << self
4
5
  attr_accessor :fields, :resource_name
5
6
  def set_resource r
@@ -6,7 +6,10 @@ class Mio
6
6
  field :key, String, 'AWS API Key with access to S3'
7
7
  field :secret, String, 'AWS secret'
8
8
  field :bucket, String, 'AWS bucket name'
9
+ field :variant, String, 'Variant name'
10
+ field :metadataDefinition, String, 'Metadata definition id'
9
11
  field :visibility, Array, 'Ids of the accounts which may see the import action', [4]
12
+ field :sourceJsonVariable, String, 'Json Variable to grab metadata from'
10
13
 
11
14
  field :enable, Symbol, ':true or :false', :true
12
15
  field :start, Symbol, ':true or :false', :true
@@ -21,6 +24,18 @@ class Mio
21
24
  }
22
25
  end
23
26
 
27
+ def metadata_definition_id metadata_definition_name
28
+ r = 'metadataDefinitions'
29
+ metadata_definitions = @client.find_all(r)
30
+
31
+ md = metadata_definitions[r].find{|md| md['name'] == metadata_definition_name}
32
+ if md.nil?
33
+ raise Mio::Model::NoSuchResource, 'No such metadata definition[' + metadata_definition_name + ']'
34
+ end
35
+
36
+ md['id']
37
+ end
38
+
24
39
  def config_hash
25
40
  {
26
41
  "source-file": {
@@ -61,6 +76,21 @@ class Mio
61
76
  "value": "IMPORT",
62
77
  "isExpression": false
63
78
  }
79
+ },
80
+ "variant-and-metadata-definition": {
81
+ "variant": {
82
+ "value": @args.variant,
83
+ "isExpression": false
84
+ },
85
+ "metadata": {
86
+ "metadata-definition": {
87
+ "id": metadata_definition_id(@args.metadataDefinition)
88
+ },
89
+ "source-json-variable": {
90
+ "value": @args.sourceJsonVariable,
91
+ "isExpression": false
92
+ }
93
+ }
64
94
  }
65
95
  }
66
96
  end
@@ -21,10 +21,10 @@ class Mio
21
21
  end
22
22
 
23
23
  def go
24
- unless look_up
24
+ @object = look_up
25
+ unless @object
25
26
  @object = create
26
27
  else
27
- @object = look_up
28
28
  set_start :stop
29
29
  end
30
30
  template_path = "#{self.class.resource_name}/#{@object['id']}/body"
@@ -43,10 +43,10 @@ class Mio
43
43
  raise Mio::Model::EmptyField, 'Field definitions to Mio::Model::MetadataDefinition must contain at least one definition'
44
44
  end
45
45
 
46
- unless look_up
46
+ @object = look_up
47
+ unless @object
47
48
  @object = create
48
49
  else
49
- @object = look_up
50
50
  set_start :stop
51
51
  end
52
52
  definition_path = "#{self.class.resource_name}/#{@object['id']}/definition"
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.9.0
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jspc