eco-helpers 2.0.33 → 2.0.37

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
  SHA256:
3
- metadata.gz: 84ad4121fdba090ce8585df6a999c91a0a1ba5c8fa67d52f6dc4ec5d39da18b9
4
- data.tar.gz: 96e540e97b6a54a92e246fd794821002ab015c9199d033bcb22abbc2bd729a69
3
+ metadata.gz: 0a1e3f56c23a45ecb80f852556b02b1ac7cc3a2546a72bcb5d2d05283bbc66b6
4
+ data.tar.gz: 82250daa8e645c1a68d79d047d938fd3371c909d9eeb04dca58548d5bd907543
5
5
  SHA512:
6
- metadata.gz: a6a3c9b2920974830e3d9ea1619f9f4e2f8652112d0b0683526888cd9d29c29c61e35afe53d94bd0927ddb4b8bd621827cdf5a8a18830143f6549f7b3d8fc37d
7
- data.tar.gz: ceaf87bc2b6190f70c91f9ad09da865ecb064bd1be9f783a75cb91f531a9918ee80a1d583ba74c21ab56ac9863eccd6d6c3321b78988961762335e80036f4ed6
6
+ metadata.gz: d93e88f2f6dab9ca740d7c21741be6c6aec2885c98336fe7d0d247964e995b519603aaf989872073a3ff93234f64cce3cb62bece56ed4c33d7597de186f70bae
7
+ data.tar.gz: 4cd351d33ef0f66d178273d64ba52b39356204a8b31aabc358bda6267892af678c785b17537eb2ca2b00533a81b2ee600b3e648f40891b4438162a7362d33825
data/CHANGELOG.md CHANGED
@@ -1,7 +1,57 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [2.0.33] - 2021-08-xx
4
+ ## [2.0.37] - 2021-09-03
5
+
6
+ ### Added
7
+ ### Changed
8
+
9
+ ### Fixed
10
+ - `Eco::API::UseCases::OozeSamples::OozeBaseCase`
11
+ - `#update_ooze` only count dry run for changed pages (to have better feedack)
12
+ - stop downloading the people manager
13
+ - `Eco::API::UseCases::OozeSamples::RegisterUpdateCase`
14
+ - prevent queuing non page objects
15
+
16
+ ## [2.0.36] - 2021-08-31
17
+
18
+ ### Fixed
19
+ - `Eco::API::UseCases::OozeSamples::OozeBaseCase`
20
+ - `#update_ooze` only count dry run for changed pages (to have better feedack)
21
+
22
+ ## [2.0.35] - 2021-08-30
23
+
24
+ ### Added
25
+ - `Eco::API::UseCases::OozeSamples::OozeBaseCase`
26
+ - `#new_target` optional warning when switching `target`
27
+ - `block` that is called when switching target and there were unsaved changes
28
+ - `#dirty?` helper method to check if there are changes
29
+ - `#before_loading_new_target` hook to allow child classes to anticipate when the `target` is going to change
30
+
31
+ ### Changed
32
+ - `Eco::API::UseCases::OozeSamples::Helpers::Shortcuts#object_reference` improved reference text
33
+ - `Eco::API::UseCases::OozeSamples::RegisterUpdateCase`
34
+ - added resilience when switching target (i.e. from one stage to another stage in same entry)
35
+ - added `batch_queue`
36
+
37
+ ### Fixed
38
+ - `Eco::API::UseCases::OozeSamples::RegisterUpdateCase`
39
+ - actual `batch_size` updates
40
+ - actual safe switch of target (i.e. against another stage of same ooze)
41
+
42
+ ## [2.0.34] - 2021-08-28
43
+
44
+ ### Added
45
+ - `Eco::API::UseCases::OozeSamples::OozeBaseCase` refactored ooze base case
46
+ - `Eco::API::UseCases::OozeSamples::RegisterUpdateCase` new case for full register update
47
+
48
+ ### Changed
49
+ - `Eco::API::UseCases::OozeSamples::OozeRunBaseCase` made child of `OozeBaseCase` and simplified to its essential
50
+ - `Eco::API::UseCases::OozeSamples::OozeUpdateCase` remove unnecessary code and helpers that are now inherited from `OoozeBaseCase`
51
+ - `Eco::API::UseCases::OozeSamples::OozeFromDocCase` remove unnecessary code
52
+
53
+
54
+ ## [2.0.33] - 2021-08-16
5
55
 
6
56
  ### Added
7
57
  - `Eco::API::UseCases::OozeSamples::OozeFromDocCase` use case to abstract form from doc
data/eco-helpers.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "redcarpet", ">= 3.5.1", "< 3.6"
32
32
 
33
33
  spec.add_dependency 'ecoportal-api', '>= 0.8.3', '< 0.9'
34
- spec.add_dependency 'ecoportal-api-v2', '>= 0.8.9', '< 0.9'
34
+ spec.add_dependency 'ecoportal-api-v2', '>= 0.8.13', '< 0.9'
35
35
  spec.add_dependency 'aws-sdk-s3', '>= 1.83.0', '< 2'
36
36
  spec.add_dependency 'aws-sdk-ses', '>= 1.36.0', '< 2'
37
37
  spec.add_dependency 'dotenv', '>= 2.7.6', '< 2.8'
@@ -3,7 +3,7 @@ class Eco::API::UseCases::DefaultCases::UpsertCase < Eco::API::Common::Loaders::
3
3
  type :sync
4
4
 
5
5
  attr_reader :options
6
-
6
+
7
7
  def main(entries, people, session, options, usecase)
8
8
  @options = options
9
9
  micro = session.micro
@@ -54,6 +54,21 @@ module Eco
54
54
  end
55
55
  end
56
56
 
57
+ def object_reference(obj)
58
+ return "No reference" unless obj
59
+ "".tap do |ref|
60
+ case obj
61
+ when Ecoportal::API::V2::Page::Stage
62
+ ref << "Stage"
63
+ when Ecoportal::API::V2::Pages::PageStage
64
+ ref << "Page (#{obj.id}) (#{object_reference(obj.current_stage)})"
65
+ when Ecoportal::API::V2::Page
66
+ ref << "Page"
67
+ end
68
+ ref << " '#{obj.name}'" if obj.respond_to?(:name)
69
+ end
70
+ end
71
+
57
72
  end
58
73
  end
59
74
  end
@@ -0,0 +1,143 @@
1
+ # @attr_reader target [Ecoportal::API::V2::Page] current target ooze.
2
+ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders::UseCase
3
+ name "ooze-base"
4
+ type :other
5
+
6
+ include Eco::API::UseCases::OozeSamples::Helpers
7
+
8
+ attr_reader :session, :options, :usecase
9
+ attr_reader :target
10
+
11
+ SAVE_PATCH = "ooze_patch_update.json"
12
+ DRY_COUNT = 5
13
+
14
+ def main(session, options, usecase)
15
+ options[:end_get] = false
16
+ raise "You need to inherit from this class ('#{self.class}') and call super with a block" unless block_given?
17
+ @session = session; @options = options; @usecase = usecase
18
+ @target = nil
19
+ yield
20
+ end
21
+
22
+ # Write here your script
23
+ def process_ooze(ooze = target)
24
+ raise "You need to inherit from this class ('#{self.class}') and call super with a block" unless block_given?
25
+ yield(ooze)
26
+ update_ooze(ooze)
27
+ end
28
+
29
+ private
30
+
31
+ # Hook method to use before the target is switched
32
+ def before_loading_new_target(ooze_id)
33
+ end
34
+
35
+ def ooze(ooze_id = nil, stage_id: nil)
36
+ return target unless ooze_id
37
+ before_loading_new_target(ooze_id)
38
+ apiv2.pages.get(ooze_id, stage_id: stage_id).tap do |ooze|
39
+ if ooze
40
+ new_target(ooze)
41
+ logger.info("Got #{object_reference(ooze)}")
42
+ else
43
+ exit_error "Could not get ooze '#{ooze_id}'"
44
+ end
45
+ end
46
+ end
47
+
48
+ def stage(id_name = nil, ooze: target)
49
+ if ooze_id = ooze && ooze.id
50
+ exit_error "#{object_reference(ooze)} does not have stages!" unless ooze.stages?
51
+ else
52
+ exit_error "There's no target ooze to get retrieve stages from"
53
+ end
54
+
55
+ if stg = ooze.stages[id_name] || ooze.stages.get_by_name(id_name)
56
+ return ooze if ooze.respond_to?(:current_stage_id) && (ooze.current_stage_id == stg.id)
57
+ before_loading_new_target(ooze_id)
58
+ return apiv2.pages.get(ooze_id, stage_id: stg.id).tap do |stage|
59
+ if stage
60
+ new_target(stage)
61
+ logger.info("Got #{object_reference(stage)} from #{object_reference(ooze)}")
62
+ else
63
+ exit_error "Could not get stage '#{id_name}' in ooze '#{ooze_id}'"
64
+ end
65
+ end
66
+ end
67
+ exit_error "Stage '#{id_name}' doesn't exist in ooze '#{ooze_id}'"
68
+ end
69
+
70
+ def update_ooze(ooze = target)
71
+ if !options[:simulate]
72
+ return unless dirty?(ooze)
73
+ apiv2.pages.update(ooze).tap do |response|
74
+ if response.success?
75
+ ooze.consolidate!
76
+ logger.info("Successful update of #{object_reference(ooze)}")
77
+ else
78
+ logger.error("Could not update #{object_reference(ooze)} (created_at: #{ooze.created_at}: #{response.body}")
79
+ end
80
+ end
81
+ else
82
+ unless options.dig(:feedback, :only_stats)
83
+ if patch = (patch_doc(ooze) || {})["page"]
84
+ pp patch
85
+ end
86
+ end
87
+ backup_patch!(ooze)
88
+ exit(0) if dirty?(ooze) && dry_count > DRY_COUNT
89
+ end
90
+ end
91
+
92
+ def new_target(object, warn_pending_changes: true)
93
+ if dirty?(target)
94
+ if warn_pending_changes
95
+ msg = "You you are switching to a new target #{object_reference(object)}"
96
+ msg += " after doing unsaved changes to #{object_reference(target)}"
97
+ logger.warn msg
98
+ end
99
+ yield(target) if block_given?
100
+ end
101
+ @target = object
102
+ end
103
+
104
+ def dirty?(object)
105
+ object && patch_doc(object)["page"]
106
+ end
107
+
108
+ def backup_patch!(ooze = target)
109
+ unless patch = (patch_doc(ooze) || {})["page"]
110
+ logger.info "No changes to update for #{object_reference(ooze)}."
111
+ return
112
+ end
113
+
114
+ patch = patch_doc(ooze)
115
+ # store the request
116
+ File.open(SAVE_PATCH, "w") do |file|
117
+ #file << (patch_doc || {}).to_json
118
+ file << JSON.pretty_generate(patch || {})
119
+ end
120
+ # TODO: ooze_requests folder with subfolders: for each run
121
+ puts "Saved patch at: #{File.expand_path(SAVE_PATCH)}"
122
+ end
123
+
124
+ def patch_doc(ooze = target)
125
+ apiv2.pages.get_body(ooze)
126
+ end
127
+
128
+ def dry_count
129
+ @dry_count ||= 0
130
+ @dry_count += 1
131
+ end
132
+
133
+ def apiv2
134
+ @apiv2 ||= session.api(version: :oozes)
135
+ end
136
+
137
+ def exit_error(msg)
138
+ logger.error(msg)
139
+ exit(1)
140
+ end
141
+
142
+
143
+ end
@@ -4,13 +4,6 @@ class Eco::API::UseCases::OozeSamples::OozeFromDocCase < Eco::API::UseCases::Ooz
4
4
  name "ooze-forms-case"
5
5
  type :other
6
6
 
7
- def main(session, options, usecase)
8
- raise "You need to inherit from this class and call super with a block" unless block_given?
9
- super(session, options, usecase) do
10
- yield
11
- end
12
- end
13
-
14
7
  private
15
8
 
16
9
  def with_column(num = 0)
@@ -1,4 +1,5 @@
1
- class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::Common::Loaders::UseCase
1
+ # Base class to run a script against a single ooze.
2
+ class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::UseCases::OozeSamples::OozeBaseCase
2
3
  name "ooze-run-base"
3
4
  type :other
4
5
 
@@ -6,20 +7,28 @@ class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::Common::Loade
6
7
 
7
8
  SAVE_PATCH = "ooze_patch_update.json"
8
9
 
9
- def main(session, options, usecase)
10
- raise "You need to inherit from this class and call super with a block" unless block_given?
10
+ def main(session, options, usecase, &block)
11
+ raise "You need to inherit from this class and call super with a block" unless block
11
12
  @session = session; @options = options; @usecase = usecase
12
- yield
13
- end_script!
13
+ process_ooze(&block)
14
+ end
15
+
16
+ def process_ooze(ooze = target)
17
+ raise "You need to inherit from this class and call super with a block" unless block_given?
18
+ super(ooze) do
19
+ yield(ooze)
20
+ exit_if_no_changes!
21
+ end
14
22
  end
15
23
 
16
24
  private
17
25
 
18
- def end_script!
19
- exit_if_no_changes!
20
- backup_patch!
21
- launch_request unless options[:simulate]
22
- exit(0)
26
+ def ooze
27
+ super(ooze_id, stage_id: stage_id)
28
+ end
29
+
30
+ def stage(stage_id_name = stage_id, ooze: target)
31
+ super(stage_id_name, ooze: ooze)
23
32
  end
24
33
 
25
34
  def ooze_id
@@ -30,54 +39,9 @@ class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::Common::Loade
30
39
  options.dig(:source, :stage_id)
31
40
  end
32
41
 
33
- def target
34
- @target ||= ooze
35
- end
36
-
37
- def new_target(object)
38
- if @target && patch_doc["page"]
39
- logger.warn "You you are switching to a new target #{object_reference(object)} after doing unsaved changes to #{object_reference(@target)}"
40
- end
41
- @target = object
42
- end
43
-
44
- def stage(id_name = stage_id)
45
- if stg = ooze.stages[id_name] || ooze.stages.get_by_name(id_name)
46
- return apiv2.pages.get(ooze_id, stage_id: stg.id).tap do |stage|
47
- if stage
48
- new_target(stage)
49
- logger.info("Got #{object_reference(stage)} from #{object_reference(ooze)}")
50
- else
51
- logger.error("Could not get stage '#{id_name}' in ooze '#{ooze_id}'")
52
- exit(1)
53
- end
54
- end
55
- end
56
- raise "Stage '#{id_name}' doesn't exist in ooze '#{ooze_id}'"
57
- end
58
-
59
- def ooze
60
- @ooze ||= apiv2.pages.get(ooze_id, stage_id: stage_id).tap do |ooze|
61
- if ooze
62
- new_target(ooze)
63
- logger.info("Got #{object_reference(ooze)}")
64
- else
65
- logger.error("Could not get ooze '#{ooze_id}'")
66
- exit(1)
67
- end
68
- end
69
- end
70
-
71
- def launch_request
42
+ def update_ooze
72
43
  prompt_to_confirm!
73
-
74
- apiv2.pages.update(target).tap do |response|
75
- if response.success?
76
- logger.info("All went OK")
77
- else
78
- logger.error(response.body)
79
- end
80
- end
44
+ super
81
45
  end
82
46
 
83
47
  def exit_if_no_changes!
@@ -87,46 +51,10 @@ class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::Common::Loade
87
51
  end
88
52
  end
89
53
 
90
- def apiv2
91
- @apiv2 ||= session.api(version: :oozes)
92
- end
93
-
94
- def patch_doc
95
- apiv2.pages.get_body(target)
96
- end
97
-
98
- def backup_patch!
99
- # store the request
100
- File.open(SAVE_PATCH, "w") do |file|
101
- #file << (patch_doc || {}).to_json
102
- file << JSON.pretty_generate(patch_doc || {})
103
- end
104
- puts "Saved patch at: #{File.expand_path(SAVE_PATCH)}"
105
- end
106
-
107
- def object_reference(obj)
108
- return "No reference" unless obj
109
- "".tap do |ref|
110
- case obj
111
- when Ecoportal::API::V2::Page::Stage
112
- ref << "Stage "
113
- when Ecoportal::API::V2::Pages::PageStage
114
- ref << "StagePage "
115
- when Ecoportal::API::V2::Page
116
- ref << "Page "
117
- end
118
- ref << "'#{obj.name}' " if obj.respond_to?(:name)
119
- end
120
- end
121
-
122
54
  def prompt_to_confirm!
123
55
  micro.prompt_user("Do you want to proceed (y/N)?", default: "Y") do |response|
124
56
  exit(1) unless response.upcase.start_with?("Y")
125
57
  end
126
58
  end
127
59
 
128
- def logger
129
- session.logger
130
- end
131
-
132
60
  end
@@ -2,15 +2,6 @@ class Eco::API::UseCases::OozeSamples::OozeUpdateCase < Eco::API::UseCases::Ooze
2
2
  name "single-ooze-case"
3
3
  type :other
4
4
 
5
- include Eco::API::UseCases::OozeSamples::Helpers
6
-
7
- def main(session, options, usecase)
8
- raise "You need to inherit from this class and call super with a block" unless block_given?
9
- super(session, options, usecase) do
10
- yield
11
- end
12
- end
13
-
14
5
  private
15
6
 
16
7
  def with_fields(type: nil, label: nil)
@@ -0,0 +1,163 @@
1
+ # Use case to update a register
2
+ # @note
3
+ # - You can define methods `filters` and `search` to change the target entries of the register
4
+ # - You need to define the `process_ooze` method
5
+ # This case expects `options[:source][:register_id]`
6
+ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::OozeSamples::OozeBaseCase
7
+
8
+ class << self
9
+ # @return [Integer] the number of pages to be processed in each batch
10
+ def batch_size(size = nil)
11
+ @batch_size ||= 25
12
+ return @batch_size unless size
13
+ @batch_size = size
14
+ end
15
+ end
16
+
17
+ name "register-update-case"
18
+ type :other
19
+
20
+ def main(session, options, usecase, &block)
21
+ super(session, options, usecase) do
22
+ with_each_entry do |ooze|
23
+ process_ooze(&block)
24
+ end
25
+ end
26
+ end
27
+
28
+ def process_ooze(ooze = target)
29
+ raise "You need to define this method"
30
+ end
31
+
32
+ private
33
+
34
+ def before_loading_new_target(ooze_id)
35
+ if pending = queue_shift(ooze_id)
36
+ update_ooze(pending)
37
+ end
38
+ end
39
+
40
+ def new_target(object, warn_pending_changes: false)
41
+ enqueue(object)
42
+ super(object, warn_pending_changes: warn_pending_changes) do |pending|
43
+ #enqueue(pending)
44
+ end
45
+ end
46
+
47
+ def with_each_entry
48
+ batched_search_results do |page_results|
49
+ page_results.each do |page_result|
50
+ if pending = queue_shift(page_result.id)
51
+ if dirty?(pending)
52
+ msg = "Inconsistent search results. "
53
+ msg << "Launching update on '#{object_reference(pending)}' to be able to queue it back"
54
+ console.warn msg
55
+ update_ooze(pending)
56
+ end
57
+ end
58
+ if ooz = ooze(page_result.id)
59
+ yield(ooz)
60
+ end
61
+ end
62
+ update_oozes
63
+ end
64
+ end
65
+
66
+ def enqueue(object)
67
+ return unless object && object.respond_to?(:id)
68
+ unless object.is_a?(Ecoportal::API::V2::Page) or object.is_a?(Ecoportal::API::V2::Pages::PageStage)
69
+ raise "Queuing is just for entries. Expecting Page or PageStage. Given: #{object.class}"
70
+ end
71
+ if elem = queue_get(object.id)
72
+ msg = "Something is wrong. Native case 'RegisterUpdateCase' is "
73
+ if (elem != object) && dirty?(elem)
74
+ msg << "trying to queue different objects with same page id:\n"
75
+ msg << " • already queued (changes will go): #{object_reference(elem)}\n"
76
+ msg << " • tried to queue (lost changes): #{object_reference(object)}"
77
+ logger.warn msg
78
+ end
79
+ else
80
+ batch_queue << object unless batch_queue.include?(object)
81
+ end
82
+ end
83
+
84
+ def queue_shift(id = nil)
85
+ if id
86
+ batch_queue.delete(queue_get(id))
87
+ else
88
+ batch_queue.shift
89
+ end
90
+ end
91
+
92
+ def queue_get(id)
93
+ batch_queue.find {|e| e.id == id}
94
+ end
95
+
96
+ def batch_queue
97
+ @batch_queue ||= []
98
+ end
99
+
100
+ def batched_search_results
101
+ raise "Missing block. It yields in slices of #{self.class.batch_size} results" unless block_given?
102
+ results_preview
103
+ results = []
104
+ apiv2.registers.search(register_id, search_options) do |page_result|
105
+ results << page_result
106
+ if results.length >= self.class.batch_size
107
+ yield(results)
108
+ results = []
109
+ end
110
+ end
111
+ yield(results) unless results.empty?
112
+ end
113
+
114
+ def update_oozes(batched_oozes = batch_queue)
115
+ batched_oozes.each do |ooze|
116
+ update_ooze(ooze)
117
+ end
118
+ batched_oozes.clear
119
+ end
120
+
121
+ def backup_patch!(ooze = target)
122
+ unless patch = (patch_doc(ooze) || {})["page"]
123
+ logger.info "No changes to update for #{object_reference(ooze)}."
124
+ return
125
+ end
126
+ end
127
+
128
+ def results_preview
129
+ apiv2.registers.search(register_id, search_options.merge(only_first: true)).tap do |search_results|
130
+ str_results = "Total target entries: #{search_results.total} (out of #{search_results.total_before_filtering})"
131
+ session.prompt_user("Do you want to proceed (y/N):", explanation: str_results, default: "N", timeout: 10) do |res|
132
+ if res.upcase.start_with?("N")
133
+ puts "..."
134
+ logger.info "Aborting script..."
135
+ exit(0)
136
+ end
137
+ end
138
+ end
139
+ end
140
+
141
+ def search_options
142
+ @search_options ||= {}.tap do |opts|
143
+ opts.merge!(sort: "created_at")
144
+ opts.merge!(dir: "asc")
145
+ opts.merge!(query: conf_filters) if conf_search
146
+ opts.merge!(filters: conf_filters)
147
+ end
148
+ end
149
+
150
+ def conf_filters
151
+ return filters if self.respond_to?(:filters)
152
+ []
153
+ end
154
+
155
+ def conf_search
156
+ return search if self.respond_to?(:search)
157
+ end
158
+
159
+ def register_id
160
+ options.dig(:source, :register_id)
161
+ end
162
+
163
+ end
@@ -9,6 +9,8 @@ module Eco
9
9
  end
10
10
 
11
11
  require_relative 'ooze_samples/helpers'
12
+ require_relative 'ooze_samples/ooze_base_case'
12
13
  require_relative 'ooze_samples/ooze_run_base_case'
13
14
  require_relative 'ooze_samples/ooze_update_case'
14
15
  require_relative 'ooze_samples/ooze_from_doc_case'
16
+ require_relative 'ooze_samples/register_update_case'
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = "2.0.33"
2
+ VERSION = "2.0.37"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eco-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.33
4
+ version: 2.0.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -136,7 +136,7 @@ dependencies:
136
136
  requirements:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: 0.8.9
139
+ version: 0.8.13
140
140
  - - "<"
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0.9'
@@ -146,7 +146,7 @@ dependencies:
146
146
  requirements:
147
147
  - - ">="
148
148
  - !ruby/object:Gem::Version
149
- version: 0.8.9
149
+ version: 0.8.13
150
150
  - - "<"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.9'
@@ -559,9 +559,11 @@ files:
559
559
  - lib/eco/api/usecases/ooze_samples.rb
560
560
  - lib/eco/api/usecases/ooze_samples/helpers.rb
561
561
  - lib/eco/api/usecases/ooze_samples/helpers/shortcuts.rb
562
+ - lib/eco/api/usecases/ooze_samples/ooze_base_case.rb
562
563
  - lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
563
564
  - lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
564
565
  - lib/eco/api/usecases/ooze_samples/ooze_update_case.rb
566
+ - lib/eco/api/usecases/ooze_samples/register_update_case.rb
565
567
  - lib/eco/api/usecases/use_case.rb
566
568
  - lib/eco/api/usecases/use_case_chain.rb
567
569
  - lib/eco/api/usecases/use_case_io.rb