eco-helpers 0.6.17 → 0.7.1
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/.gitignore +19 -0
- data/.yardopts +2 -2
- data/Gemfile +6 -0
- data/Rakefile +27 -0
- data/eco-helpers.gemspec +9 -6
- data/lib/eco/api.rb +2 -1
- data/lib/eco/api/common/people.rb +1 -1
- data/lib/eco/api/common/people/base_parser.rb +31 -1
- data/lib/eco/api/common/people/default_parsers.rb +5 -1
- data/lib/eco/api/common/people/default_parsers/csv_parser.rb +37 -0
- data/lib/eco/api/common/people/default_parsers/numeric_parser.rb +0 -1
- data/lib/eco/api/common/people/entries.rb +14 -18
- data/lib/eco/api/common/people/entry_factory.rb +97 -9
- data/lib/eco/api/common/people/person_entry.rb +147 -206
- data/lib/eco/api/common/people/person_entry_attribute_mapper.rb +212 -0
- data/lib/eco/api/common/people/person_factory.rb +10 -12
- data/lib/eco/api/common/people/person_parser.rb +97 -37
- data/lib/eco/api/common/session/base_session.rb +1 -2
- data/lib/eco/api/common/session/file_manager.rb +1 -1
- data/lib/eco/api/organization.rb +2 -1
- data/lib/eco/api/organization/people.rb +54 -22
- data/lib/eco/api/organization/person_schemas.rb +54 -0
- data/lib/eco/api/organization/policy_groups.rb +5 -9
- data/lib/eco/api/organization/{presets.rb → presets_factory.rb} +1 -1
- data/lib/eco/api/policies.rb +10 -0
- data/lib/eco/api/policies/base_policy.rb +14 -0
- data/lib/eco/api/policies/policy.rb +20 -0
- data/lib/eco/api/policies/used_policies.rb +37 -0
- data/lib/eco/api/session.rb +36 -34
- data/lib/eco/api/session/batch.rb +94 -44
- data/lib/eco/api/session/batch_job.rb +108 -48
- data/lib/eco/api/session/batch_jobs.rb +4 -5
- data/lib/eco/api/session/batch_status.rb +70 -11
- data/lib/eco/api/session/config.rb +22 -5
- data/lib/eco/api/session/config/files.rb +10 -1
- data/lib/eco/api/session/config/people.rb +18 -5
- data/lib/eco/api/session/config/policies.rb +29 -0
- data/lib/eco/api/session/config/use_cases.rb +3 -7
- data/lib/eco/api/session/job_groups.rb +9 -10
- data/lib/eco/api/usecases.rb +2 -1
- data/lib/eco/api/usecases/base_case.rb +7 -2
- data/lib/eco/api/usecases/default_cases/change_email_case.rb +4 -2
- data/lib/eco/api/usecases/default_cases/create_case.rb +2 -1
- data/lib/eco/api/usecases/default_cases/create_details_case.rb +3 -1
- data/lib/eco/api/usecases/default_cases/create_details_with_supervisor_case.rb +4 -2
- data/lib/eco/api/usecases/default_cases/hris_case.rb +20 -13
- data/lib/eco/api/usecases/default_cases/new_email_case.rb +3 -1
- data/lib/eco/api/usecases/default_cases/new_id_case.rb +4 -2
- data/lib/eco/api/usecases/default_cases/recover_db_case.rb +9 -5
- data/lib/eco/api/usecases/default_cases/remove_account_case.rb +4 -2
- data/lib/eco/api/usecases/default_cases/set_supervisor_case.rb +4 -2
- data/lib/eco/api/usecases/default_cases/to_csv_case.rb +2 -2
- data/lib/eco/api/usecases/default_cases/to_csv_detailed_case.rb +2 -2
- data/lib/eco/api/usecases/default_cases/update_case.rb +16 -2
- data/lib/eco/api/usecases/default_cases/update_details_case.rb +3 -1
- data/lib/eco/api/usecases/default_cases/upsert_case.rb +25 -3
- data/lib/eco/api/usecases/use_case.rb +23 -140
- data/lib/eco/api/usecases/use_case_chain.rb +95 -0
- data/lib/eco/api/usecases/use_case_io.rb +117 -0
- data/lib/eco/api/usecases/use_group.rb +25 -5
- data/lib/eco/common/base_cli_backup.rb +1 -0
- data/lib/eco/language/models.rb +1 -1
- data/lib/eco/language/models/collection.rb +42 -31
- data/lib/eco/language/models/parser_serializer.rb +68 -0
- data/lib/eco/version.rb +1 -1
- metadata +93 -38
- data/lib/eco/api/common/people/types.rb +0 -47
- data/lib/eco/api/usecases/case_data.rb +0 -13
- data/lib/eco/language/models/attribute_parser.rb +0 -38
- data/lib/eco/lexic/dictionary.rb +0 -33
- data/lib/eco/lexic/dictionary/dictionary.txt +0 -355484
- data/lib/eco/lexic/dictionary/tags.json +0 -38
@@ -0,0 +1,117 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
module UseCases
|
4
|
+
class UseCaseIO
|
5
|
+
TYPES = [:import, :filter, :transform, :sync, :export]
|
6
|
+
ALL_PARAMS = [:input, :people, :session, :options]
|
7
|
+
TYPE_PARAMS = {
|
8
|
+
import: [:input, :session],
|
9
|
+
filter: [:people, :session, :options],
|
10
|
+
transform: [:people, :session],
|
11
|
+
export: [:people, :session, :options]
|
12
|
+
}
|
13
|
+
|
14
|
+
attr_reader :usecase
|
15
|
+
attr_reader :input, :people, :session, :options
|
16
|
+
attr_accessor :output
|
17
|
+
|
18
|
+
class << self
|
19
|
+
def valid_type?(type)
|
20
|
+
TYPES.include?(type)
|
21
|
+
end
|
22
|
+
|
23
|
+
def type_params(type)
|
24
|
+
raise "Invalid type '#{type.to_s}'" if !valid_type?(type)
|
25
|
+
TYPE_PARAMS[type]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def initialize(input: nil, people: nil, session:, options: {}, usecase:)
|
30
|
+
self.usecase = usecase
|
31
|
+
@output = nil
|
32
|
+
|
33
|
+
validate_args(input: input, people: people, session: session, options: options)
|
34
|
+
|
35
|
+
@input = input
|
36
|
+
@people = people
|
37
|
+
@session = session
|
38
|
+
@options = options
|
39
|
+
end
|
40
|
+
|
41
|
+
def usecase=(value)
|
42
|
+
raise "It should be a UseCase. Given: #{value}" if !value.is_a?(UseCase)
|
43
|
+
@usecase = value
|
44
|
+
end
|
45
|
+
|
46
|
+
def type
|
47
|
+
@usecase.type
|
48
|
+
end
|
49
|
+
|
50
|
+
def params(input: nil, people: nil, session: nil, options: {}, keyed: false)
|
51
|
+
opts = @options.merge(options&.dup || {})
|
52
|
+
input ||= @input
|
53
|
+
people ||= @people
|
54
|
+
session ||= @session
|
55
|
+
|
56
|
+
kargs = {}
|
57
|
+
kargs.merge!(input: input) if input_required?
|
58
|
+
kargs.merge!(people: people) if people_required?
|
59
|
+
kargs.merge!(session: session, options: opts)
|
60
|
+
keyed ? kargs : kargs.values
|
61
|
+
end
|
62
|
+
|
63
|
+
def chain(usecase:)
|
64
|
+
raise "It should be a UseCase. Given: #{usecase}" if !usecase.is_a?(UseCase)
|
65
|
+
|
66
|
+
kargs = params(keyed: true)
|
67
|
+
|
68
|
+
# TODO: review chaining framework (redirection should depend on self.type as well)
|
69
|
+
case usecase.type
|
70
|
+
when :import
|
71
|
+
kargs[:input] = output
|
72
|
+
when :filter
|
73
|
+
kargs[:people] = output
|
74
|
+
when :transform, :sync, :export
|
75
|
+
# no redirections => should it redirect the input?
|
76
|
+
end
|
77
|
+
|
78
|
+
self.class.new(kargs)
|
79
|
+
end
|
80
|
+
|
81
|
+
protected
|
82
|
+
|
83
|
+
private
|
84
|
+
|
85
|
+
def validate_args(input:, people:, session:, options:)
|
86
|
+
case
|
87
|
+
when !session.is_a?(Eco::API::Session)
|
88
|
+
raise "A UseCase needs a Session object. Given: #{session}"
|
89
|
+
when input_required? && !input
|
90
|
+
raise "UseCase of type '#{@type.to_s}' requires a valid input. None given"
|
91
|
+
when people_required? && !people.is_a?(Eco::API::Organization::People)
|
92
|
+
raise "UseCase of type '#{@type.to_s}' requires a People object. Given: #{people}"
|
93
|
+
when !options || (options && !options.is_a?(Hash))
|
94
|
+
raise "To inject dependencies via ':options' it should be a Hash object. Given: #{options}"
|
95
|
+
when options_required? && !options
|
96
|
+
raise "UseCase of type '#{@type.to_s}' requires a Hash ':options' object."
|
97
|
+
end
|
98
|
+
true
|
99
|
+
end
|
100
|
+
|
101
|
+
def input_required?
|
102
|
+
[:import, :sync].include?(type)
|
103
|
+
end
|
104
|
+
|
105
|
+
def people_required?
|
106
|
+
[:filter, :transform, :sync, :export].include?(type)
|
107
|
+
end
|
108
|
+
|
109
|
+
def options_required?
|
110
|
+
[:filter].include?(type)
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -2,10 +2,11 @@ module Eco
|
|
2
2
|
module API
|
3
3
|
module UseCases
|
4
4
|
class UseGroup
|
5
|
+
include Enumerable
|
5
6
|
|
6
7
|
def initialize()
|
7
|
-
@usecases
|
8
|
-
@cache_init
|
8
|
+
@usecases = {}
|
9
|
+
@cache_init = false
|
9
10
|
@cases_by_name = {}
|
10
11
|
end
|
11
12
|
|
@@ -20,7 +21,9 @@ module Eco
|
|
20
21
|
end
|
21
22
|
|
22
23
|
def define(name, type:, &block)
|
23
|
-
|
24
|
+
UseCase.new(name, type: type, root: self, &block).tap do |usecase|
|
25
|
+
add(usecase)
|
26
|
+
end
|
24
27
|
end
|
25
28
|
|
26
29
|
def defined?(name, type: nil)
|
@@ -54,7 +57,7 @@ module Eco
|
|
54
57
|
def merge(cases)
|
55
58
|
return self if !cases
|
56
59
|
raise "Expected a UseGroup object. Given #{cases}" if !cases.is_a?(UseGroup)
|
57
|
-
cases_hash = cases.
|
60
|
+
cases_hash = cases.to_h
|
58
61
|
|
59
62
|
@usecases.merge!(cases_hash)
|
60
63
|
|
@@ -66,9 +69,26 @@ module Eco
|
|
66
69
|
self
|
67
70
|
end
|
68
71
|
|
72
|
+
def length
|
73
|
+
count
|
74
|
+
end
|
75
|
+
|
76
|
+
def empty?
|
77
|
+
count == 0
|
78
|
+
end
|
79
|
+
|
80
|
+
def each(params: {}, &block)
|
81
|
+
return to_enum(:each) unless block
|
82
|
+
items.each(&block)
|
83
|
+
end
|
84
|
+
|
85
|
+
def items
|
86
|
+
@usecases.values
|
87
|
+
end
|
88
|
+
|
69
89
|
protected
|
70
90
|
|
71
|
-
def
|
91
|
+
def to_h
|
72
92
|
@usecases
|
73
93
|
end
|
74
94
|
|
data/lib/eco/language/models.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module Eco
|
2
2
|
module Language
|
3
3
|
module Models
|
4
|
-
class Collection
|
4
|
+
class Collection
|
5
|
+
include Enumerable
|
5
6
|
|
6
|
-
ATTR_PRESENCE_METHODS =
|
7
|
+
ATTR_PRESENCE_METHODS = ["present", "empty", "present_all?", "present_some?"]
|
7
8
|
ATTR_COLLECTION_METHODS = ["exclude", "remove", "attr", "attr?", "attrs", "unique_attrs", "contains"] + ATTR_PRESENCE_METHODS
|
8
9
|
|
9
10
|
class << self
|
@@ -34,14 +35,14 @@ module Eco
|
|
34
35
|
|
35
36
|
end
|
36
37
|
|
37
|
-
#attr_reader :
|
38
|
+
#attr_reader :items
|
38
39
|
|
39
40
|
def initialize(data = [], klass:, factory: nil, handy: Eco::Common::Language.new)
|
40
41
|
raise "Raise klass required, given: #{klass}" if !klass
|
41
42
|
@klass = klass
|
42
43
|
@factory = factory
|
43
44
|
@handy = handy
|
44
|
-
|
45
|
+
@items = to_klass(data)
|
45
46
|
end
|
46
47
|
|
47
48
|
def newFrom(data)
|
@@ -53,17 +54,29 @@ module Eco
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def new
|
56
|
-
self.class.new(
|
57
|
+
self.class.new(to_a, klass: @klass, factory: @factory)
|
58
|
+
end
|
59
|
+
|
60
|
+
def length
|
61
|
+
count
|
62
|
+
end
|
63
|
+
|
64
|
+
def empty?
|
65
|
+
count == 0
|
66
|
+
end
|
67
|
+
|
68
|
+
def each(params: {}, &block)
|
69
|
+
return to_enum(:each) unless block
|
70
|
+
@items.each(&block)
|
57
71
|
end
|
58
72
|
|
59
73
|
def <(value)
|
60
|
-
|
61
|
-
|
62
|
-
self
|
74
|
+
@items.clear
|
75
|
+
self << value
|
63
76
|
end
|
64
77
|
|
65
78
|
def <<(value)
|
66
|
-
|
79
|
+
@items.concat(into_a(value))
|
67
80
|
on_change
|
68
81
|
self
|
69
82
|
end
|
@@ -72,28 +85,26 @@ module Eco
|
|
72
85
|
newFrom self.map(&block)
|
73
86
|
end
|
74
87
|
|
75
|
-
def delete(value)
|
76
|
-
self <
|
77
|
-
on_change
|
78
|
-
self
|
88
|
+
def delete!(value)
|
89
|
+
self < @items - into_a(value)
|
79
90
|
end
|
80
91
|
|
81
92
|
# attr dependant methods
|
82
93
|
def exclude(attr, value, modifier = Language::MatchModifier.new)
|
83
|
-
newFrom
|
94
|
+
newFrom @items - self.attr(attr, value, modifier)
|
84
95
|
end
|
85
96
|
|
86
97
|
def remove(attr, value, modifier = Language::MatchModifier.new)
|
87
|
-
self <
|
98
|
+
self < exclude(attr, value, modifier)
|
88
99
|
on_change
|
89
100
|
self
|
90
101
|
end
|
91
102
|
|
92
103
|
def attr(attr, value = true, modifier = Language::MatchModifier.new)
|
93
104
|
if !!value == value # boolean?
|
94
|
-
|
105
|
+
present(attr, value)
|
95
106
|
else
|
96
|
-
return newFrom
|
107
|
+
return newFrom select { |object|
|
97
108
|
attr_val = fetch_attr(object, attr)
|
98
109
|
match?(attr_val, value, modifier)
|
99
110
|
}
|
@@ -103,36 +114,36 @@ module Eco
|
|
103
114
|
def attr?(attr, value = true, modifier = Language::MatchModifier.new)
|
104
115
|
modifier = modifier.new.reverse
|
105
116
|
if !!value == value # boolean?
|
106
|
-
|
117
|
+
present(attr, value).length == length
|
107
118
|
else
|
108
|
-
obj_vals =
|
119
|
+
obj_vals = attrs(attr)
|
109
120
|
return match?(obj_vals, value, modifier)
|
110
121
|
end
|
111
122
|
end
|
112
123
|
|
113
124
|
def attrs(attr)
|
114
|
-
|
125
|
+
map { |object| fetch_attr(object, attr) }
|
115
126
|
end
|
116
127
|
|
117
128
|
def unique_attrs(attr)
|
118
|
-
|
129
|
+
to_h(attr).keys
|
119
130
|
end
|
120
131
|
|
121
132
|
def present(attr, flag = true)
|
122
133
|
block = ->(o) { !!fetch_attr(o, attr) == !!flag }
|
123
|
-
newFrom
|
134
|
+
newFrom select(&block)
|
124
135
|
end
|
125
136
|
|
126
137
|
def empty(attr, flag = true)
|
127
|
-
|
138
|
+
present(attr, !flag)
|
128
139
|
end
|
129
140
|
|
130
141
|
def present_all?(attr, flag = true)
|
131
|
-
|
142
|
+
present(attr, flag).length == length
|
132
143
|
end
|
133
144
|
|
134
145
|
def present_some?(attr, flag = true)
|
135
|
-
|
146
|
+
present(attr, flag).length > 0
|
136
147
|
end
|
137
148
|
|
138
149
|
def contains(attr, value, modifier = Language::MatchModifier.new)
|
@@ -141,14 +152,14 @@ module Eco
|
|
141
152
|
end
|
142
153
|
|
143
154
|
def group_by(attr)
|
144
|
-
|
145
|
-
return {} if !attr
|
146
|
-
self.to_a.group_by { |object| object.method(attr).call }
|
155
|
+
to_h(attr)
|
156
|
+
#return {} if !attr
|
157
|
+
#self.to_a.group_by { |object| object.method(attr).call }
|
147
158
|
end
|
148
159
|
|
149
160
|
def to_h(attr)
|
150
161
|
return {} if !attr
|
151
|
-
|
162
|
+
to_a.group_by { |object| object.method(attr).call }
|
152
163
|
end
|
153
164
|
|
154
165
|
protected
|
@@ -158,8 +169,8 @@ module Eco
|
|
158
169
|
end
|
159
170
|
|
160
171
|
def into_a(value)
|
161
|
-
value = [].push(value) unless value.is_a?(
|
162
|
-
value
|
172
|
+
value = [].push(value) unless value.is_a?(Enumerable)
|
173
|
+
value.to_a
|
163
174
|
end
|
164
175
|
|
165
176
|
private
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Eco
|
2
|
+
module Language
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class ParserSerializer
|
6
|
+
|
7
|
+
attr_reader :attr
|
8
|
+
|
9
|
+
# Parser/seralizer.
|
10
|
+
# @param attr [String, Symbol] name of the parsed/serialized.
|
11
|
+
# @param dependencies [Hash] provisioning of _**default dependencies**_ that will be required when calling back to the
|
12
|
+
# parsing or serializing functions.
|
13
|
+
def initialize(attr, dependencies: {})
|
14
|
+
@attr = attr
|
15
|
+
@dependencies = dependencies
|
16
|
+
end
|
17
|
+
|
18
|
+
# Defines the _parser_ of the attribute.
|
19
|
+
# @note
|
20
|
+
# 1. the _block_ should expect one or two parameters.
|
21
|
+
# 2. the final dependencies is a merge of _default dependencies_ with `parse` call dependencies.
|
22
|
+
# @yield [source_data, dependencies] user defined parser that returns the parsed value.
|
23
|
+
# @yieldparam source_data [Any] source data that will be parsed.
|
24
|
+
# @yieldparam dependencies [Hash] hash with the provisioned dependencies.
|
25
|
+
def def_parser(&block)
|
26
|
+
@parser = block
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
# Defines the _serializer_ of the attribute.
|
31
|
+
# @note
|
32
|
+
# 1. the block should expect one or two parameters.
|
33
|
+
# 2. the final dependencies is a merge of _default dependencies_ with `serialize` call dependencies.
|
34
|
+
# @yield [source_data, dependencies] user defined serialiser that returns the serialised value.
|
35
|
+
# @yieldparam source_data [Any] source data that will be serialised.
|
36
|
+
# @yieldparam dependencies [Hash] hash with the provisioned dependencies.
|
37
|
+
def def_serializer(&block)
|
38
|
+
@serializer = block
|
39
|
+
self
|
40
|
+
end
|
41
|
+
|
42
|
+
# Calls the `parser` of this attribute by passing `source` and resolved dependencies.
|
43
|
+
# @note
|
44
|
+
# - the method depenencies override keys of the _default dependencies_.
|
45
|
+
# @raise [Exception] when there is **no** `parser` defined.
|
46
|
+
# @param source [Any] source data to be parsed.
|
47
|
+
# @param dependencies [Hash] _additional dependencies_ that should be merged to the _default dependencies_.
|
48
|
+
def parse(source, dependencies: {})
|
49
|
+
raise "There is no parser for this attribue '#{attr}'" if !@parser
|
50
|
+
@parser.call(source, @dependencies.merge(dependencies), attr)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Calls the `serializer` of this attribute by passing `object` and resolved dependencies.
|
54
|
+
# @note
|
55
|
+
# - the method depenencies override keys of the _default dependencies_.
|
56
|
+
# @raise [Exception] when there is **no** `serializer` defined.
|
57
|
+
# @param object [Any] source data to be serialized.
|
58
|
+
# @param dependencies [Hash] _additional dependencies_ that should be merged to the _default dependencies_.
|
59
|
+
def serialize(object, dependencies: {})
|
60
|
+
raise "There is no serializer for this attribue '#{attr}'" if !@serializer
|
61
|
+
@serializer.call(object, @dependencies.merge(dependencies), attr)
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/lib/eco/version.rb
CHANGED
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: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Segura
|
@@ -10,6 +10,20 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2018-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,6 +44,20 @@ dependencies:
|
|
30
44
|
- - ">="
|
31
45
|
- !ruby/object:Gem::Version
|
32
46
|
version: '3.8'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '10.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '10.0'
|
33
61
|
- !ruby/object:Gem::Dependency
|
34
62
|
name: yard
|
35
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,65 +119,45 @@ dependencies:
|
|
91
119
|
- !ruby/object:Gem::Version
|
92
120
|
version: 0.4.2
|
93
121
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '1'
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '1.9'
|
103
|
-
type: :runtime
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '1'
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: '1.9'
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: distribution
|
122
|
+
name: thor
|
115
123
|
requirement: !ruby/object:Gem::Requirement
|
116
124
|
requirements:
|
117
125
|
- - "~>"
|
118
126
|
- !ruby/object:Gem::Version
|
119
|
-
version: '0
|
127
|
+
version: '0'
|
120
128
|
- - ">="
|
121
129
|
- !ruby/object:Gem::Version
|
122
|
-
version: 0.
|
130
|
+
version: '0.20'
|
123
131
|
type: :runtime
|
124
132
|
prerelease: false
|
125
133
|
version_requirements: !ruby/object:Gem::Requirement
|
126
134
|
requirements:
|
127
135
|
- - "~>"
|
128
136
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0
|
137
|
+
version: '0'
|
130
138
|
- - ">="
|
131
139
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.
|
140
|
+
version: '0.20'
|
133
141
|
- !ruby/object:Gem::Dependency
|
134
|
-
name:
|
142
|
+
name: nokogiri
|
135
143
|
requirement: !ruby/object:Gem::Requirement
|
136
144
|
requirements:
|
137
145
|
- - "~>"
|
138
146
|
- !ruby/object:Gem::Version
|
139
|
-
version: '
|
147
|
+
version: '1.6'
|
140
148
|
- - ">="
|
141
149
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
150
|
+
version: 1.6.8
|
143
151
|
type: :runtime
|
144
152
|
prerelease: false
|
145
153
|
version_requirements: !ruby/object:Gem::Requirement
|
146
154
|
requirements:
|
147
155
|
- - "~>"
|
148
156
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
157
|
+
version: '1.6'
|
150
158
|
- - ">="
|
151
159
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
160
|
+
version: 1.6.8
|
153
161
|
- !ruby/object:Gem::Dependency
|
154
162
|
name: aws-sdk-s3
|
155
163
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,6 +218,46 @@ dependencies:
|
|
210
218
|
- - "~>"
|
211
219
|
- !ruby/object:Gem::Version
|
212
220
|
version: '2.6'
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: faker
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '1'
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '1.9'
|
231
|
+
type: :runtime
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - "~>"
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '1'
|
238
|
+
- - ">="
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: '1.9'
|
241
|
+
- !ruby/object:Gem::Dependency
|
242
|
+
name: distribution
|
243
|
+
requirement: !ruby/object:Gem::Requirement
|
244
|
+
requirements:
|
245
|
+
- - "~>"
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0.7'
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 0.7.3
|
251
|
+
type: :runtime
|
252
|
+
prerelease: false
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0.7'
|
258
|
+
- - ">="
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: 0.7.3
|
213
261
|
description:
|
214
262
|
email:
|
215
263
|
- oscar@ecoportal.co.nz
|
@@ -220,7 +268,9 @@ files:
|
|
220
268
|
- ".gitignore"
|
221
269
|
- ".rspec"
|
222
270
|
- ".yardopts"
|
271
|
+
- Gemfile
|
223
272
|
- README.md
|
273
|
+
- Rakefile
|
224
274
|
- eco-helpers.gemspec
|
225
275
|
- lib/eco-helpers.rb
|
226
276
|
- lib/eco/api.rb
|
@@ -229,6 +279,7 @@ files:
|
|
229
279
|
- lib/eco/api/common/people/base_parser.rb
|
230
280
|
- lib/eco/api/common/people/default_parsers.rb
|
231
281
|
- lib/eco/api/common/people/default_parsers/boolean_parser.rb
|
282
|
+
- lib/eco/api/common/people/default_parsers/csv_parser.rb
|
232
283
|
- lib/eco/api/common/people/default_parsers/date_parser.rb
|
233
284
|
- lib/eco/api/common/people/default_parsers/multi_parser.rb
|
234
285
|
- lib/eco/api/common/people/default_parsers/numeric_parser.rb
|
@@ -236,10 +287,10 @@ files:
|
|
236
287
|
- lib/eco/api/common/people/entries.rb
|
237
288
|
- lib/eco/api/common/people/entry_factory.rb
|
238
289
|
- lib/eco/api/common/people/person_entry.rb
|
290
|
+
- lib/eco/api/common/people/person_entry_attribute_mapper.rb
|
239
291
|
- lib/eco/api/common/people/person_factory.rb
|
240
292
|
- lib/eco/api/common/people/person_modifier.rb
|
241
293
|
- lib/eco/api/common/people/person_parser.rb
|
242
|
-
- lib/eco/api/common/people/types.rb
|
243
294
|
- lib/eco/api/common/session.rb
|
244
295
|
- lib/eco/api/common/session/base_session.rb
|
245
296
|
- lib/eco/api/common/session/environment.rb
|
@@ -253,12 +304,17 @@ files:
|
|
253
304
|
- lib/eco/api/eco_faker.rb
|
254
305
|
- lib/eco/api/organization.rb
|
255
306
|
- lib/eco/api/organization/people.rb
|
307
|
+
- lib/eco/api/organization/person_schemas.rb
|
256
308
|
- lib/eco/api/organization/policy_groups.rb
|
257
309
|
- lib/eco/api/organization/preferences.rb
|
258
310
|
- lib/eco/api/organization/preferences_reference.json
|
259
|
-
- lib/eco/api/organization/
|
311
|
+
- lib/eco/api/organization/presets_factory.rb
|
260
312
|
- lib/eco/api/organization/presets_values.json
|
261
313
|
- lib/eco/api/organization/tag_tree.rb
|
314
|
+
- lib/eco/api/policies.rb
|
315
|
+
- lib/eco/api/policies/base_policy.rb
|
316
|
+
- lib/eco/api/policies/policy.rb
|
317
|
+
- lib/eco/api/policies/used_policies.rb
|
262
318
|
- lib/eco/api/session.rb
|
263
319
|
- lib/eco/api/session/batch.rb
|
264
320
|
- lib/eco/api/session/batch_job.rb
|
@@ -271,13 +327,13 @@ files:
|
|
271
327
|
- lib/eco/api/session/config/logger.rb
|
272
328
|
- lib/eco/api/session/config/mailer.rb
|
273
329
|
- lib/eco/api/session/config/people.rb
|
330
|
+
- lib/eco/api/session/config/policies.rb
|
274
331
|
- lib/eco/api/session/config/s3_storage.rb
|
275
332
|
- lib/eco/api/session/config/use_cases.rb
|
276
333
|
- lib/eco/api/session/job_groups.rb
|
277
334
|
- lib/eco/api/session/task.rb
|
278
335
|
- lib/eco/api/usecases.rb
|
279
336
|
- lib/eco/api/usecases/base_case.rb
|
280
|
-
- lib/eco/api/usecases/case_data.rb
|
281
337
|
- lib/eco/api/usecases/default_cases.rb
|
282
338
|
- lib/eco/api/usecases/default_cases/change_email_case.rb
|
283
339
|
- lib/eco/api/usecases/default_cases/create_case.rb
|
@@ -302,6 +358,8 @@ files:
|
|
302
358
|
- lib/eco/api/usecases/default_cases/update_details_case.rb
|
303
359
|
- lib/eco/api/usecases/default_cases/upsert_case.rb
|
304
360
|
- lib/eco/api/usecases/use_case.rb
|
361
|
+
- lib/eco/api/usecases/use_case_chain.rb
|
362
|
+
- lib/eco/api/usecases/use_case_io.rb
|
305
363
|
- lib/eco/api/usecases/use_group.rb
|
306
364
|
- lib/eco/cli.rb
|
307
365
|
- lib/eco/cli/api.rb
|
@@ -340,14 +398,11 @@ files:
|
|
340
398
|
- lib/eco/language/match.rb
|
341
399
|
- lib/eco/language/match_modifier.rb
|
342
400
|
- lib/eco/language/models.rb
|
343
|
-
- lib/eco/language/models/attribute_parser.rb
|
344
401
|
- lib/eco/language/models/collection.rb
|
345
402
|
- lib/eco/language/models/modifier.rb
|
403
|
+
- lib/eco/language/models/parser_serializer.rb
|
346
404
|
- lib/eco/language/models/wrap.rb
|
347
405
|
- lib/eco/language/values_at.rb
|
348
|
-
- lib/eco/lexic/dictionary.rb
|
349
|
-
- lib/eco/lexic/dictionary/dictionary.txt
|
350
|
-
- lib/eco/lexic/dictionary/tags.json
|
351
406
|
- lib/eco/scripting.rb
|
352
407
|
- lib/eco/scripting/README.md
|
353
408
|
- lib/eco/scripting/arguments.rb
|