eco-helpers 0.6.13 → 0.6.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/eco-helpers.gemspec +1 -1
- data/lib/eco/api.rb +1 -2
- data/lib/eco/api/common/people/person_entry.rb +1 -1
- data/lib/eco/api/common/people/person_factory.rb +3 -3
- data/lib/eco/api/common/session/base_session.rb +14 -2
- data/lib/eco/api/common/session/environment.rb +9 -7
- data/lib/eco/api/common/version_patches/external_person.rb +16 -2
- data/lib/eco/api/common/version_patches/internal_person.rb +17 -0
- data/lib/eco/api/session.rb +13 -19
- data/lib/eco/api/session/batch.rb +4 -17
- data/lib/eco/api/session/batch_job.rb +4 -13
- data/lib/eco/api/session/{job_group.rb → batch_jobs.rb} +6 -8
- data/lib/eco/api/session/batch_status.rb +3 -7
- data/lib/eco/api/session/config.rb +186 -0
- data/lib/eco/api/session/config/api.rb +49 -0
- data/lib/eco/api/session/config/apis.rb +91 -0
- data/lib/eco/api/session/config/files.rb +32 -0
- data/lib/eco/api/session/config/logger.rb +56 -0
- data/lib/eco/api/session/config/mailer.rb +67 -0
- data/lib/eco/api/session/config/people.rb +95 -0
- data/lib/eco/api/session/config/s3_storage.rb +64 -0
- data/lib/eco/api/session/config/use_cases.rb +33 -0
- data/lib/eco/api/session/job_groups.rb +4 -6
- data/lib/eco/api/session/task.rb +2 -13
- data/lib/eco/version.rb +1 -1
- metadata +18 -11
- data/lib/eco/api/session_config.rb +0 -187
- data/lib/eco/api/session_config/api.rb +0 -47
- data/lib/eco/api/session_config/apis.rb +0 -89
- data/lib/eco/api/session_config/files.rb +0 -30
- data/lib/eco/api/session_config/logger.rb +0 -54
- data/lib/eco/api/session_config/mailer.rb +0 -65
- data/lib/eco/api/session_config/people.rb +0 -93
- data/lib/eco/api/session_config/s3_storage.rb +0 -62
- data/lib/eco/api/session_config/use_cases.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12bd692f0b9d72b4116b42bfba1159f32d0be43f
|
4
|
+
data.tar.gz: 9e5d0d188d6a5b2ea908e96c2ac5ff17e8b322a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3d1a520ec06cb397d3a24b3daf3113d1a4766db082649fc0317cbd29bf0088374a1380c66e6724159fff070cbdacbf71fc7157649cc913c86a21df941513271
|
7
|
+
data.tar.gz: 30feb556fd73cf5c3fca8c39769ba2e0749394d6e1c0de4e608151ed8d6f0f4fa19da76dc2737f2eef146ed86e1a8aafddc386f0d9c335674458625f4fce4deb
|
data/eco-helpers.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.add_development_dependency "yard", "~> 0.9", ">= 0.9.18"
|
27
27
|
s.add_development_dependency "redcarpet", "~> 3.4", ">= 3.4.0"
|
28
28
|
|
29
|
-
s.add_dependency 'ecoportal-api', '~> 0.3', '>= 0.3.6'
|
29
|
+
s.add_dependency 'ecoportal-api', '~> 0.3', '>= 0.3.6', '< 0.4.0'
|
30
30
|
s.add_dependency 'faker', '~> 1', '>= 1.9'
|
31
31
|
s.add_dependency 'distribution', '~> 0.7', '>= 0.7.3'
|
32
32
|
s.add_dependency 'thor', '~> 0', '>= 0.20'
|
data/lib/eco/api.rb
CHANGED
@@ -237,7 +237,7 @@ module Eco
|
|
237
237
|
unserialized_entry.merge(serial_attrs)
|
238
238
|
end
|
239
239
|
|
240
|
-
# returns entry with
|
240
|
+
# returns entry with internal names and values
|
241
241
|
def internal_entry(data)
|
242
242
|
return parsed_entry(data) if parsing?
|
243
243
|
unserialized_entry(data)
|
@@ -10,9 +10,9 @@ module Eco
|
|
10
10
|
|
11
11
|
def initialize(person: {}, schema: {}, account: {}, modifier: Common::People::PersonModifier.new)
|
12
12
|
@modifier = Common::People::PersonModifier.new(modifier)
|
13
|
-
@person
|
13
|
+
@person = person
|
14
14
|
@account = account
|
15
|
-
@schema
|
15
|
+
@schema = schema
|
16
16
|
@schema_attrs = @schema&.fields&.map { |fld| fld.alt_id }
|
17
17
|
end
|
18
18
|
|
@@ -21,7 +21,7 @@ module Eco
|
|
21
21
|
return PersonFactory.new(person: person, schema: @schema, modifier: in_raw_modifier).new unless !person
|
22
22
|
person = klass.new(person_hash(@person))
|
23
23
|
person.account = account_hash(@account) if @modifier.add_account? && @modifier.internal?
|
24
|
-
person.
|
24
|
+
person.add_details(@schema) unless @modifier.no_details?
|
25
25
|
person
|
26
26
|
end
|
27
27
|
|
@@ -6,6 +6,7 @@ module Eco
|
|
6
6
|
|
7
7
|
include Common::People
|
8
8
|
|
9
|
+
attr_accessor :session
|
9
10
|
attr_accessor :environment, :config
|
10
11
|
alias_method :enviro, :environment
|
11
12
|
alias_method :enviro=, :environment=
|
@@ -14,8 +15,13 @@ module Eco
|
|
14
15
|
alias_method :fm, :file_manager
|
15
16
|
|
16
17
|
def initialize(e)
|
17
|
-
|
18
|
-
|
18
|
+
raise "Expected object Eco::API::Common::Session::Environment. Given: #{e.class}" unless e.is_a?(Environment)
|
19
|
+
#e = Environment.new(e) if !e.is_a?(Environment)
|
20
|
+
self.environment = e #if e.is_a?(Environment)
|
21
|
+
end
|
22
|
+
|
23
|
+
def session
|
24
|
+
enviro.session
|
19
25
|
end
|
20
26
|
|
21
27
|
def environment=(value)
|
@@ -39,6 +45,12 @@ module Eco
|
|
39
45
|
enviro.logger
|
40
46
|
end
|
41
47
|
|
48
|
+
# TODO: paremeter for the exception
|
49
|
+
def fatal(msg)
|
50
|
+
logger.fatal(msg)
|
51
|
+
raise msg
|
52
|
+
end
|
53
|
+
|
42
54
|
end
|
43
55
|
end
|
44
56
|
end
|
@@ -6,18 +6,20 @@ module Eco
|
|
6
6
|
|
7
7
|
include Common::People
|
8
8
|
|
9
|
-
attr_reader :config
|
9
|
+
attr_reader :config, :session
|
10
10
|
attr_reader :api #, :host, :version
|
11
11
|
attr_reader :file_manager, :logger
|
12
12
|
|
13
13
|
alias_method :fm, :file_manager
|
14
14
|
|
15
|
-
def initialize(init = {})
|
15
|
+
def initialize(init = {}, session:)
|
16
16
|
init = init.conf if init.is_a?(Environment)
|
17
|
-
msg = "
|
18
|
-
raise msg unless init.is_a?(Eco::API::
|
17
|
+
msg = "Expected object Eco::API::Session::Config or Environment. Given: #{init}"
|
18
|
+
raise msg unless init.is_a?(Eco::API::Session::Config)
|
19
|
+
raise "Expected an Eco::API::Session object. Given: #{session}" if session && !session.is_a?(Eco::API::Session)
|
19
20
|
|
20
|
-
@config
|
21
|
+
@config = init
|
22
|
+
@session = session
|
21
23
|
@file_manager = Eco::API::Common::Session::FileManager.new(enviro: self)
|
22
24
|
@logger = Eco::API::Common::Session::Logger.new(enviro: self)
|
23
25
|
new_api
|
@@ -27,9 +29,9 @@ module Eco
|
|
27
29
|
return nil unless config.apis.active_api
|
28
30
|
|
29
31
|
log_connection = config.logger.log_connection?
|
30
|
-
|
32
|
+
logg = log_connection ? logger : ::Logger.new(IO::NULL)
|
31
33
|
|
32
|
-
api = config.api(
|
34
|
+
api = config.api(logg)
|
33
35
|
|
34
36
|
unless log_connection
|
35
37
|
logger.info("Created connection pointing to '#{config.apis.active_api.host}' in '#{config.apis.active_api.mode}' mode")
|
@@ -1,10 +1,24 @@
|
|
1
1
|
module Ecoportal
|
2
2
|
module API
|
3
3
|
class V1
|
4
|
-
class Person
|
5
|
-
|
4
|
+
class Person
|
5
|
+
|
6
|
+
def consolidate!
|
6
7
|
@original_doc = JSON.parse(@doc.to_json)
|
7
8
|
end
|
9
|
+
|
10
|
+
def sync
|
11
|
+
consolidate!
|
12
|
+
end
|
13
|
+
|
14
|
+
#def reset_details!
|
15
|
+
# doc["details"] = JSON.parse(original_doc["details"])
|
16
|
+
#end
|
17
|
+
|
18
|
+
#def consolidate_details!
|
19
|
+
# original_doc["details"] = JSON.parse(doc["details"])
|
20
|
+
#end
|
21
|
+
|
8
22
|
end
|
9
23
|
end
|
10
24
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Internal
|
4
|
+
class Person
|
5
|
+
|
6
|
+
#def reset_account!
|
7
|
+
# doc["account"] = JSON.parse(original_doc["account"])
|
8
|
+
#end
|
9
|
+
|
10
|
+
#def consolidate_account!
|
11
|
+
# original_doc["account"] = JSON.parse(doc["account"])
|
12
|
+
#end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/eco/api/session.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
module Eco
|
2
2
|
module API
|
3
3
|
class Session < Common::Session::BaseSession
|
4
|
-
|
5
4
|
attr_reader :batch, :policy_groups
|
6
5
|
attr_accessor :schema, :schemas_hash
|
7
6
|
attr_reader :tagtree
|
@@ -11,12 +10,17 @@ module Eco
|
|
11
10
|
#alias_method :org, :organization
|
12
11
|
|
13
12
|
def initialize(init = {})
|
14
|
-
|
13
|
+
e = init
|
14
|
+
msg = "Expected object Eco::API::Session::Config or Eco::API::Common::Session::Environment. Given: #{init}"
|
15
|
+
raise msg unless e.is_a?(Session::Config) || e.is_a?(Eco::API::Common::Session::Environment)
|
16
|
+
e = Eco::API::Common::Session::Environment.new(init, session: self) if !e.is_a?(Eco::API::Common::Session::Environment)
|
17
|
+
super(e)
|
18
|
+
|
15
19
|
logger.debug("LINE COMMAND: #{$0} #{ARGV.join(" ")}")
|
16
20
|
|
17
21
|
@batch = Batch.new(enviro)
|
18
|
-
@task = Task.new(
|
19
|
-
@job_groups = JobGroups.new(
|
22
|
+
@task = Task.new(enviro)
|
23
|
+
@job_groups = JobGroups.new(enviro)
|
20
24
|
|
21
25
|
@use_cases = Eco::API::UseCases::DefaultCases.new.merge(config.usecases.use_group)
|
22
26
|
|
@@ -46,16 +50,12 @@ module Eco
|
|
46
50
|
end
|
47
51
|
|
48
52
|
def self.configure
|
49
|
-
#
|
50
|
-
conf =
|
53
|
+
# TODO: change to Session::Config.new.tap
|
54
|
+
conf = Session::Config.new
|
51
55
|
yield(conf) if block_given?
|
52
56
|
conf
|
53
57
|
end
|
54
58
|
|
55
|
-
def config
|
56
|
-
enviro.config
|
57
|
-
end
|
58
|
-
|
59
59
|
# TASKS & JOBS
|
60
60
|
def do
|
61
61
|
@task
|
@@ -100,7 +100,7 @@ module Eco
|
|
100
100
|
case value
|
101
101
|
when String
|
102
102
|
sch = @schemas_hash[value.downcase]
|
103
|
-
|
103
|
+
fatal "The schema with id or name '#{value}' does not exist" if !sch
|
104
104
|
@schema = sch
|
105
105
|
when Ecoportal::API::V1::PersonSchema
|
106
106
|
@schema = value
|
@@ -163,20 +163,14 @@ module Eco
|
|
163
163
|
@use_cases.case(name, type: type).process(**args)
|
164
164
|
end
|
165
165
|
|
166
|
-
private
|
167
|
-
|
168
|
-
def fatal(msg)
|
169
|
-
logger.fatal(msg)
|
170
|
-
raise msg
|
171
|
-
end
|
172
|
-
|
173
166
|
end
|
174
167
|
end
|
175
168
|
end
|
176
169
|
|
170
|
+
require_relative 'session/config'
|
177
171
|
require_relative 'session/batch'
|
178
172
|
require_relative 'session/batch_status'
|
179
173
|
require_relative 'session/task'
|
180
174
|
require_relative 'session/batch_job'
|
181
|
-
require_relative 'session/
|
175
|
+
require_relative 'session/batch_jobs'
|
182
176
|
require_relative 'session/job_groups'
|
@@ -15,11 +15,7 @@ module Eco
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def launch(people = nil, method:, api: nil, params: {per_page: DEFAULT_BATCH_BLOCK})
|
18
|
-
if !valid_method?(method)
|
19
|
-
msg = "Invalid batch method: #{method}."
|
20
|
-
logger.fatal(msg)
|
21
|
-
raise msg
|
22
|
-
end
|
18
|
+
fatal "Invalid batch method: #{method}." if !valid_method?(method)
|
23
19
|
return nil if !people || !people.is_a?(Array)
|
24
20
|
batch_from(people, method, api || self.api, params: params)
|
25
21
|
end
|
@@ -35,11 +31,7 @@ module Eco
|
|
35
31
|
end
|
36
32
|
|
37
33
|
def batch_get(api, params: {})
|
38
|
-
unless people_api = api&.people
|
39
|
-
msg = "cannot batch get without api connnection, please provide a valid api connection!"
|
40
|
-
logger.fatal(msg)
|
41
|
-
raise msg
|
42
|
-
end
|
34
|
+
fatal "cannot batch get without api connnection, please provide a valid api connection!" unless people_api = api&.people
|
43
35
|
|
44
36
|
params = {per_page: DEFAULT_BATCH_BLOCK}.merge(params)
|
45
37
|
client = people_api.client
|
@@ -69,8 +61,7 @@ module Eco
|
|
69
61
|
unless response.success?
|
70
62
|
msg = "Request failed - params: #{params}"
|
71
63
|
msg += "\n Error message: - Status #{response.status}: #{response.body}"
|
72
|
-
|
73
|
-
raise msg
|
64
|
+
fatal(msg)
|
74
65
|
end
|
75
66
|
people = []
|
76
67
|
response.body["results"].each do |person_hash|
|
@@ -83,11 +74,7 @@ module Eco
|
|
83
74
|
|
84
75
|
def batch_from(people, method, api, params: {})
|
85
76
|
return nil if !people || !people.is_a?(Array)
|
86
|
-
unless people_api = api&.people
|
87
|
-
msg = "cannot batch #{method} without api connnection, please provide a valid api connection!"
|
88
|
-
logger.fatal(msg)
|
89
|
-
raise msg
|
90
|
-
end
|
77
|
+
fatal "cannot batch #{method} without api connnection, please provide a valid api connection!" unless people_api = api&.people
|
91
78
|
|
92
79
|
# batch Status
|
93
80
|
status = new_status(people, method)
|
@@ -7,16 +7,15 @@ module Eco
|
|
7
7
|
|
8
8
|
attr_reader :name, :status
|
9
9
|
|
10
|
-
def initialize(
|
10
|
+
def initialize(e, name:, type:, sets:)
|
11
11
|
raise "A name is required to refer a job. Given: #{name}" if !name
|
12
12
|
raise "Type should be one of #{TYPES}. Given: #{type}" if !BatchJob.valid_type?(type)
|
13
13
|
raise "Sets should be some of #{SETS}. Given: #{sets}" if !BatchJob.valid_sets?(sets)
|
14
|
-
super(
|
14
|
+
super(e)
|
15
15
|
|
16
16
|
@name = name
|
17
17
|
@type = type
|
18
|
-
@sets = [sets].flatten
|
19
|
-
@root = root
|
18
|
+
@sets = [sets].flatten.compact
|
20
19
|
reset
|
21
20
|
end
|
22
21
|
|
@@ -66,7 +65,7 @@ module Eco
|
|
66
65
|
|
67
66
|
if !simulate && queue.length > 0
|
68
67
|
backup_update(queue)
|
69
|
-
@status = batch.launch(queue, method: @type.to_s)
|
68
|
+
@status = session.batch.launch(queue, method: @type.to_s)
|
70
69
|
@status.root = self
|
71
70
|
end
|
72
71
|
|
@@ -141,14 +140,6 @@ module Eco
|
|
141
140
|
file_manager.save_json(data_body, file, :timestamp)
|
142
141
|
end
|
143
142
|
|
144
|
-
def session
|
145
|
-
@root.session
|
146
|
-
end
|
147
|
-
|
148
|
-
def batch
|
149
|
-
session.batch
|
150
|
-
end
|
151
|
-
|
152
143
|
end
|
153
144
|
|
154
145
|
end
|
@@ -2,13 +2,11 @@ module Eco
|
|
2
2
|
module API
|
3
3
|
class Session
|
4
4
|
class BatchJobs < API::Common::Session::BaseSession
|
5
|
-
attr_reader :name
|
5
|
+
attr_reader :name
|
6
6
|
|
7
|
-
def initialize(
|
8
|
-
|
9
|
-
|
10
|
-
@session = session
|
11
|
-
@name = name
|
7
|
+
def initialize(e, name:)
|
8
|
+
super(e)
|
9
|
+
@name = name
|
12
10
|
reset
|
13
11
|
end
|
14
12
|
|
@@ -26,9 +24,9 @@ module Eco
|
|
26
24
|
end
|
27
25
|
|
28
26
|
def new(name, type:, sets:)
|
29
|
-
|
27
|
+
fatal "Can't create job named '#{name}' because it already exists." if exists?(name)
|
30
28
|
|
31
|
-
job = BatchJob.new(name, type: type, sets: sets
|
29
|
+
job = BatchJob.new(enviro, name: name, type: type, sets: sets)
|
32
30
|
@jobs[name] = job
|
33
31
|
@callbacks[job] = Proc.new if block_given?
|
34
32
|
|
@@ -7,12 +7,8 @@ module Eco
|
|
7
7
|
|
8
8
|
def initialize(e, queue:, method:)
|
9
9
|
super(e)
|
10
|
+
fatal("In batch operations you must batch an array. Received: #{queue}") unless queue && queue.is_a?(Array)
|
10
11
|
|
11
|
-
unless queue && queue.is_a?(Array)
|
12
|
-
msg = "In batch operations you must batch an array. Received: #{queue}"
|
13
|
-
logger.fatal(msg)
|
14
|
-
raise msg
|
15
|
-
end
|
16
12
|
@method = method
|
17
13
|
@queue = queue
|
18
14
|
@hash = @queue.each_with_index.map do |entry, i|
|
@@ -42,7 +38,7 @@ module Eco
|
|
42
38
|
end
|
43
39
|
|
44
40
|
def people
|
45
|
-
|
41
|
+
fatal "This batch wasn't a 'get'. Can't obtain people without 'get' method" unless method == "get"
|
46
42
|
out = Array(0..queue.length-1)
|
47
43
|
@responses.each_with_index do |respose, i|
|
48
44
|
out[i] = response.result
|
@@ -123,7 +119,7 @@ module Eco
|
|
123
119
|
def valid_index(index: nil, entry: nil)
|
124
120
|
index ||= @hash[entry]
|
125
121
|
unless index && index < @queue.length
|
126
|
-
|
122
|
+
fatal "You must provide either the index or the original entry object of the batch"
|
127
123
|
end
|
128
124
|
index
|
129
125
|
end
|
@@ -0,0 +1,186 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
class Session
|
4
|
+
class Config < Hash
|
5
|
+
def initialize()
|
6
|
+
super(nil)
|
7
|
+
self["org"] = {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def reopen
|
11
|
+
yield(self)
|
12
|
+
end
|
13
|
+
|
14
|
+
def apis
|
15
|
+
self["apis"] ||= Session::Config::Apis.new(root: self)
|
16
|
+
end
|
17
|
+
|
18
|
+
def logger
|
19
|
+
self["logger"] ||= Session::Config::Logger.new(root: self)
|
20
|
+
end
|
21
|
+
|
22
|
+
def s3storage
|
23
|
+
self["s3_storage"] ||= Session::Config::S3Storage.new(root: self)
|
24
|
+
end
|
25
|
+
|
26
|
+
def files
|
27
|
+
self["files"] ||= Session::Config::Files.new(root: self)
|
28
|
+
end
|
29
|
+
|
30
|
+
def mailer
|
31
|
+
self["mailer"] ||= Session::Config::Mailer.new(root: self)
|
32
|
+
end
|
33
|
+
|
34
|
+
def org
|
35
|
+
self["org"]
|
36
|
+
end
|
37
|
+
|
38
|
+
def people
|
39
|
+
self["people"] ||= Session::Config::People.new(root: self)
|
40
|
+
end
|
41
|
+
|
42
|
+
def usecases
|
43
|
+
self["usecases"] ||= Session::Config::UseCases.new(root: self)
|
44
|
+
end
|
45
|
+
|
46
|
+
# LOGGER
|
47
|
+
def log_console_level=(value)
|
48
|
+
logger.console_level= value
|
49
|
+
end
|
50
|
+
|
51
|
+
def log_file_level=(value)
|
52
|
+
logger.file_level = value
|
53
|
+
end
|
54
|
+
|
55
|
+
def log_file=(file)
|
56
|
+
logger.file = file
|
57
|
+
end
|
58
|
+
|
59
|
+
def timestamp_console=(value)
|
60
|
+
logger.timestamp_console = value
|
61
|
+
end
|
62
|
+
|
63
|
+
def log_connection=(value)
|
64
|
+
logger.log_connection = value
|
65
|
+
end
|
66
|
+
|
67
|
+
# API
|
68
|
+
def dry_run!
|
69
|
+
self["dry-run"] = true
|
70
|
+
end
|
71
|
+
|
72
|
+
def dry_run?
|
73
|
+
self["dry-run"]
|
74
|
+
end
|
75
|
+
|
76
|
+
def run_mode=(mode)
|
77
|
+
apis.active_api.mode = mode
|
78
|
+
end
|
79
|
+
|
80
|
+
def run_mode_local?
|
81
|
+
apis.active_api.local?
|
82
|
+
end
|
83
|
+
|
84
|
+
def run_mode_remote?
|
85
|
+
apis.active_api.remote?
|
86
|
+
end
|
87
|
+
|
88
|
+
def apis?
|
89
|
+
apis.apis?
|
90
|
+
end
|
91
|
+
|
92
|
+
def add_api(name, **kargs)
|
93
|
+
apis.add(name, **kargs)
|
94
|
+
self
|
95
|
+
end
|
96
|
+
|
97
|
+
def active_api(name)
|
98
|
+
apis.active_name = name
|
99
|
+
self
|
100
|
+
end
|
101
|
+
|
102
|
+
def api(logger = ::Logger.new(IO::NULL))
|
103
|
+
apis.api(logger)
|
104
|
+
end
|
105
|
+
|
106
|
+
def policy_groups
|
107
|
+
policy_groups = api&.policy_groups.to_a.compact
|
108
|
+
Eco::API::Organization::PolicyGroups.new(policy_groups)
|
109
|
+
end
|
110
|
+
|
111
|
+
# FILES
|
112
|
+
def working_directory=(path)
|
113
|
+
files.working_directory = path
|
114
|
+
end
|
115
|
+
|
116
|
+
def file_timestamp_pattern=(pattern)
|
117
|
+
files.timestamp_pattern = pattern
|
118
|
+
end
|
119
|
+
|
120
|
+
def file_manager
|
121
|
+
Eco::API::Common::Session::FileManager.new(self)
|
122
|
+
end
|
123
|
+
|
124
|
+
def require(file)
|
125
|
+
require_relative "#{File.expand_path(file_manager.dir.file(file))}"
|
126
|
+
end
|
127
|
+
|
128
|
+
# ORG
|
129
|
+
def tagtree=(file)
|
130
|
+
org["tagtree"] = file
|
131
|
+
end
|
132
|
+
|
133
|
+
# PEOPLE
|
134
|
+
def discarded_people_file=(value)
|
135
|
+
people.discarded_file = value
|
136
|
+
end
|
137
|
+
|
138
|
+
def people_cache=(file)
|
139
|
+
people.cache = file
|
140
|
+
end
|
141
|
+
|
142
|
+
def requests_backup_folder=(folder)
|
143
|
+
people.requests_folder = folder
|
144
|
+
end
|
145
|
+
|
146
|
+
# PERSON FIELDS MAPPER
|
147
|
+
def person_fields_mapper=(file)
|
148
|
+
people.fields_mapper = file
|
149
|
+
end
|
150
|
+
|
151
|
+
def default_schema=(name)
|
152
|
+
people.default_schema = name
|
153
|
+
end
|
154
|
+
|
155
|
+
# ACCOUNT PRESETS
|
156
|
+
def presets_custom=(file)
|
157
|
+
people.presets_custom = file
|
158
|
+
end
|
159
|
+
|
160
|
+
def presets_map=(file)
|
161
|
+
people.presets_map = file
|
162
|
+
end
|
163
|
+
|
164
|
+
# CUSTOM PERSON PARSERS
|
165
|
+
def person_parser(format: :csv, &block)
|
166
|
+
people.add_parser(format: format, &block)
|
167
|
+
end
|
168
|
+
|
169
|
+
# CUSTOM USE CASES
|
170
|
+
def use_cases(&block)
|
171
|
+
usecases.add(&block)
|
172
|
+
end
|
173
|
+
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
require_relative 'config/api'
|
180
|
+
require_relative 'config/apis'
|
181
|
+
require_relative 'config/logger'
|
182
|
+
require_relative 'config/mailer'
|
183
|
+
require_relative 'config/s3_storage'
|
184
|
+
require_relative 'config/files'
|
185
|
+
require_relative 'config/people'
|
186
|
+
require_relative 'config/use_cases'
|