eco-helpers 2.0.11 → 2.0.16

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.
data/lib/eco/cli.rb CHANGED
@@ -22,16 +22,7 @@ module Eco
22
22
 
23
23
  def run(session:)
24
24
  io = Eco::API::UseCases::BaseIO.new(session: session, options: options)
25
- #session.workflow.run(io: io)
26
- session.workflow(io: io) do |wf, io|
27
- io = wf.run(:options, io: io)
28
- io = wf.run(:load, io: io)
29
- io = wf.run(:usecases, io: io)
30
- io = wf.run(:launch_jobs, io: io)
31
- io = wf.run(:post_launch, io: io)
32
- io = wf.run(:end, io: io)
33
- io = wf.run(:close, io: io)
34
- end
25
+ session.workflow(io: io).run(io: io)
35
26
  end
36
27
 
37
28
  end
@@ -1,12 +1,30 @@
1
1
  ASSETS.cli.config do |cnf|
2
2
  cnf.usecases do |cases|
3
3
 
4
+ desc = "Draws the Supervisors hiearchy in a file (use option -to file.ext)"
5
+ cases.add("-supers-hierarchy", :export, desc, case_name: "supers-hierarchy") do |people, session, options|
6
+ file = (SCR.get_arg("-to") && SCR.get_file("-to", required: true, should_exist: false)) || "supers_hierarchy.txt"
7
+ options.deep_merge!(output: {file: file})
8
+ end
9
+
10
+ desc = "Draws the Cyclic Supervisors when identified (use option -to file.ext)"
11
+ cases.add("-identify-cyclic-supers", :export, desc, case_name: "identify-cyclic-supers") do |people, session, options|
12
+ file = (SCR.get_arg("-to") && SCR.get_file("-to", required: true, should_exist: false)) || "supers_hierarchy.txt"
13
+ options.deep_merge!(output: {file: file})
14
+ end
15
+
16
+ desc = "Abstracts the Abilities that each Usergroup should probably have (use option -to file.ext)"
17
+ cases.add("-abstract-policygroup-abilities", :export, desc, case_name: "abstract-policygroup-abilities") do |people, session, options|
18
+ file = (SCR.get_arg("-to") && SCR.get_file("-to", required: true, should_exist: false)) || "suggested_abilities.txt"
19
+ options.deep_merge!(output: {file: file})
20
+ end
21
+
4
22
  desc = "It exports to a CSV the (filtered) people"
5
23
  cases.add("-people-to-csv", :export, desc) do |people, session, options|
6
24
  file = SCR.get_file("-people-to-csv", required: true, should_exist: false)
7
25
  options.deep_merge!(export: {file: {name: file, format: :csv}})
8
26
  options.deep_merge!(export: {options: {nice_header: true}}) if SCR.get_arg("-nice-header")
9
-
27
+ options.deep_merge!(export: {options: {internal_names: true}}) if SCR.get_arg("-internal-names")
10
28
  case_name = SCR.get_arg("-detailed")? "to-csv-detailed" : "to-csv"
11
29
  session.usecases.case(case_name)
12
30
  end
@@ -73,7 +91,7 @@ ASSETS.cli.config do |cnf|
73
91
  end
74
92
 
75
93
  options.deep_merge!(ignore: {missing: {policy_groups: true}}) if SCR.get_arg("-ignore-missing-policy-groups")
76
-
94
+
77
95
  end
78
96
 
79
97
  desc = "Restores the people manager by using a backup.json file"
@@ -2,8 +2,13 @@ ASSETS.cli.config do |config|
2
2
  ASSETS.config.workflow do |wf|
3
3
 
4
4
  io = nil
5
+ rescued = false
6
+
5
7
  # default rescue
6
8
  wf.rescue do |exception, io|
9
+ next io if rescued
10
+ rescued = true
11
+
7
12
  io.session.logger.debug(exception.patch_full_message)
8
13
  wf.run(:close, io: io)
9
14
  io
@@ -5,6 +5,29 @@ module Eco
5
5
  module Files
6
6
  class Directory
7
7
 
8
+ class << self
9
+ def create(path, includes_file: false)
10
+ return true if Files.file_exists?(path)
11
+
12
+ parts = Files.split(File.expand_path(path))
13
+ filename = parts.pop if includes_file
14
+
15
+ return true if Files.dir_exists?(File.join(*parts))
16
+
17
+ subpath = nil
18
+ begin
19
+ parts.each do |curr|
20
+ subpath = subpath ? File.join(subpath, curr) : curr
21
+ Dir.mkdir(subpath) unless Files.dir_exists?(subpath)
22
+ end
23
+ rescue Exception => e
24
+ pp e
25
+ return false
26
+ end
27
+ true
28
+ end
29
+ end
30
+
8
31
  attr_reader :dir_path
9
32
 
10
33
  def initialize(dir_path = Dir.pwd)
@@ -14,12 +37,14 @@ module Eco
14
37
  end
15
38
 
16
39
  def exists?
17
- Files.dir_exists(@dir_path)
40
+ Files.dir_exists?(@dir_path)
18
41
  end
19
42
 
20
43
  def create
21
- succeed = Directory.create(File.expand_path(@dir_path)) unless self.exists?
22
- self.full_path if succeed
44
+ return self.full_path if self.exists?
45
+ if succeed = Directory.create(File.expand_path(@dir_path))
46
+ return self.full_path
47
+ end
23
48
  end
24
49
 
25
50
  def full_path
@@ -57,23 +82,6 @@ module Eco
57
82
  File.join(*args)
58
83
  end
59
84
 
60
- def self.create(path, includes_file: false)
61
- return true if Files.file_exists?(path)
62
- parts = Files.split(File.expand_path(path))
63
- filename = parts.pop if includes_file
64
- return true if Files.dir_exists?(File.join(*parts))
65
- subpath = nil
66
- begin
67
- parts.each do |curr|
68
- subpath = subpath ? File.join(subpath, curr) : curr
69
- Dir.mkdir(subpath) unless Files.dir_exists?(subpath)
70
- end
71
- rescue Exception => e
72
- pp e
73
- end
74
- false
75
- end
76
-
77
85
  private
78
86
 
79
87
  def file_pattern(value)
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = "2.0.11"
2
+ VERSION = "2.0.16"
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.11
4
+ version: 2.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -340,6 +340,7 @@ files:
340
340
  - lib/eco/api/organization/preferences.rb
341
341
  - lib/eco/api/organization/preferences_reference.json
342
342
  - lib/eco/api/organization/presets_factory.rb
343
+ - lib/eco/api/organization/presets_integrity.json
343
344
  - lib/eco/api/organization/presets_reference.json
344
345
  - lib/eco/api/organization/presets_values.json
345
346
  - lib/eco/api/organization/tag_tree.rb
@@ -374,6 +375,7 @@ files:
374
375
  - lib/eco/api/usecases/base_case.rb
375
376
  - lib/eco/api/usecases/base_io.rb
376
377
  - lib/eco/api/usecases/default_cases.rb
378
+ - lib/eco/api/usecases/default_cases/abstract_policygroup_abilities_case.rb
377
379
  - lib/eco/api/usecases/default_cases/append_usergroups_case.rb
378
380
  - lib/eco/api/usecases/default_cases/change_email_case.rb
379
381
  - lib/eco/api/usecases/default_cases/codes_to_tags_case.rb
@@ -398,6 +400,8 @@ files:
398
400
  - lib/eco/api/usecases/default_cases/restore_db_case.rb
399
401
  - lib/eco/api/usecases/default_cases/set_default_tag_case.rb
400
402
  - lib/eco/api/usecases/default_cases/set_supervisor_case.rb
403
+ - lib/eco/api/usecases/default_cases/supers_cyclic_identify_case.rb
404
+ - lib/eco/api/usecases/default_cases/supers_hierarchy_case.rb
401
405
  - lib/eco/api/usecases/default_cases/switch_supervisor_case.rb
402
406
  - lib/eco/api/usecases/default_cases/to_csv_case.rb
403
407
  - lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb