Class: Eco::API::Session::Config
- Inherits:
-
Hash
- Object
- Hash
- Eco::API::Session::Config
show all
- Defined in:
- lib/eco/api/session/config.rb,
lib/eco/api/session/config/api.rb,
lib/eco/api/session/config/apis.rb,
lib/eco/api/session/config/sftp.rb,
lib/eco/api/session/config/files.rb,
lib/eco/api/session/config/logger.rb,
lib/eco/api/session/config/mailer.rb,
lib/eco/api/session/config/people.rb,
lib/eco/api/session/config/workflow.rb,
lib/eco/api/session/config/s3_storage.rb,
lib/eco/api/session/config/base_config.rb,
lib/eco/api/session/config/post_launch.rb
Defined Under Namespace
Classes: Api, Apis, BaseConfig, Files, Logger, Mailer, People, PostLaunch, S3Storage, SFTP, Workflow
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Hash
#deep_merge, #deep_merge!
Constructor Details
#initialize(name = :default) ⇒ Config
7
8
9
10
11
|
# File 'lib/eco/api/session/config.rb', line 7
def initialize(name = :default)
super(nil)
@name = name
self["org"] = {}
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
5
6
7
|
# File 'lib/eco/api/session/config.rb', line 5
def name
@name
end
|
Instance Method Details
#active_api(name) ⇒ Object
110
111
112
113
|
# File 'lib/eco/api/session/config.rb', line 110
def active_api(name)
apis.active_name = name
self
end
|
#active_enviro ⇒ Object
115
116
117
|
# File 'lib/eco/api/session/config.rb', line 115
def active_enviro
apis.active_root_name
end
|
#add_api(name, **kargs) ⇒ Object
105
106
107
108
|
# File 'lib/eco/api/session/config.rb', line 105
def add_api(name, **kargs)
apis.add(name, **kargs)
self
end
|
#api(logger = ::Logger.new(IO::NULL)) ⇒ Object
119
120
121
|
# File 'lib/eco/api/session/config.rb', line 119
def api(logger = ::Logger.new(IO::NULL))
apis.api(logger)
end
|
#apis ⇒ Object
27
28
29
|
# File 'lib/eco/api/session/config.rb', line 27
def apis
self["apis"] ||= Eco::API::Session::Config::Apis.new(config: self)
end
|
#apis? ⇒ Boolean
101
102
103
|
# File 'lib/eco/api/session/config.rb', line 101
def apis?
apis.apis?
end
|
#batch_policies ⇒ Object
277
278
279
280
281
282
283
284
285
|
# File 'lib/eco/api/session/config.rb', line 277
def batch_policies
@batch_policies = self["batch_policies"] ||= Eco::API::Session::Batch::Policies.new("batch_policy")
if block_given?
yield(@batch_policies)
self
else
@batch_policies
end
end
|
#clone(name) ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/eco/api/session/config.rb', line 13
def clone(name)
keys.each_with_object(self.class.new(name)) do |key, cnf|
begin
cnf[key] = self[key].clone(config: cnf)
rescue ArgumentError
cnf[key] = self[key].clone
end
end
end
|
#default_schema=(name) ⇒ Object
235
236
237
|
# File 'lib/eco/api/session/config.rb', line 235
def default_schema=(name)
people.default_schema = name
end
|
#default_usergroup=(value) ⇒ Object
214
215
216
|
# File 'lib/eco/api/session/config.rb', line 214
def default_usergroup=(value)
people.default_usergroup = value
end
|
#discarded_people_file=(value) ⇒ Object
218
219
220
|
# File 'lib/eco/api/session/config.rb', line 218
def discarded_people_file=(value)
people.discarded_file = value
end
|
#dry_run! ⇒ Object
81
82
83
|
# File 'lib/eco/api/session/config.rb', line 81
def dry_run!
self["dry-run"] = true
end
|
#dry_run? ⇒ Boolean
85
86
87
|
# File 'lib/eco/api/session/config.rb', line 85
def dry_run?
self["dry-run"]
end
|
#error_handlers ⇒ Object
287
288
289
290
291
292
293
294
295
|
# File 'lib/eco/api/session/config.rb', line 287
def error_handlers
@error_handlers = self["error_handlers"] ||= Eco::API::Error::Handlers.new
if block_given?
yield(@error_handlers)
self
else
@error_handlers
end
end
|
#file_manager ⇒ Object
148
149
150
|
# File 'lib/eco/api/session/config.rb', line 148
def file_manager
Eco::API::Common::Session::FileManager.new(self)
end
|
#file_timestamp_pattern=(pattern) ⇒ Object
144
145
146
|
# File 'lib/eco/api/session/config.rb', line 144
def file_timestamp_pattern=(pattern)
files.timestamp_pattern = pattern
end
|
#files ⇒ Object
43
44
45
|
# File 'lib/eco/api/session/config.rb', line 43
def files
self["files"] ||= Eco::API::Session::Config::Files.new(config: self)
end
|
#location_codes ⇒ Object
168
169
170
|
# File 'lib/eco/api/session/config.rb', line 168
def location_codes
org["location_codes"]
end
|
#location_codes=(file) ⇒ Object
164
165
166
|
# File 'lib/eco/api/session/config.rb', line 164
def location_codes=(file)
org["location_codes"] = file
end
|
#locations_mapper ⇒ Object
172
173
174
175
176
|
# File 'lib/eco/api/session/config.rb', line 172
def locations_mapper
return @locations_mapper if instance_variable_defined?(:@locations_mapper)
file = file_manager.newest(location_codes)
@locations_mapper = Eco::Data::Mapper.new(file_manager.load_json(file), internal: :first)
end
|
#log_connection=(value) ⇒ Object
76
77
78
|
# File 'lib/eco/api/session/config.rb', line 76
def log_connection=(value)
logger.log_connection = value
end
|
#log_console_level=(value) ⇒ Object
60
61
62
|
# File 'lib/eco/api/session/config.rb', line 60
def log_console_level=(value)
logger.console_level= value
end
|
#log_file=(file) ⇒ Object
68
69
70
|
# File 'lib/eco/api/session/config.rb', line 68
def log_file=(file)
logger.file = file
end
|
#log_file_level=(value) ⇒ Object
64
65
66
|
# File 'lib/eco/api/session/config.rb', line 64
def log_file_level=(value)
logger.file_level = value
end
|
#logger ⇒ Object
35
36
37
|
# File 'lib/eco/api/session/config.rb', line 35
def logger
self["logger"] ||= Eco::API::Session::Config::Logger.new(config: self)
end
|
#login_providers ⇒ Object
203
204
205
206
207
|
# File 'lib/eco/api/session/config.rb', line 203
def login_providers
return @login_providers if instance_variable_defined?(:@login_providers)
provs = api&.login_providers.to_a
@login_providers = Eco::API::Organization::LoginProviders.new(provs)
end
|
#mailer ⇒ Object
47
48
49
|
# File 'lib/eco/api/session/config.rb', line 47
def mailer
self["mailer"] ||= Eco::API::Session::Config::Mailer.new(config: self)
end
|
#org ⇒ Object
51
52
53
|
# File 'lib/eco/api/session/config.rb', line 51
def org
self["org"]
end
|
#people ⇒ Object
55
56
57
|
# File 'lib/eco/api/session/config.rb', line 55
def people
self["people"] ||= Eco::API::Session::Config::People.new(config: self)
end
|
#people_cache=(file) ⇒ Object
222
223
224
|
# File 'lib/eco/api/session/config.rb', line 222
def people_cache=(file)
people.cache = file
end
|
#person_fields_mapper=(file) ⇒ Object
231
232
233
|
# File 'lib/eco/api/session/config.rb', line 231
def person_fields_mapper=(file)
people.fields_mapper = file
end
|
#person_parser(format: :csv, &block) ⇒ Object
249
250
251
|
# File 'lib/eco/api/session/config.rb', line 249
def person_parser(format: :csv, &block)
people.parser(format: format, &block)
end
|
#policies ⇒ Object
267
268
269
270
271
272
273
274
275
|
# File 'lib/eco/api/session/config.rb', line 267
def policies
@policies = self["policies"] ||= Eco::API::Policies.new
if block_given?
yield(@policies)
self
else
@policies
end
end
|
#policy_groups ⇒ Object
191
192
193
194
195
|
# File 'lib/eco/api/session/config.rb', line 191
def policy_groups
return @policy_groups if instance_variable_defined?(:@policy_groups)
pgs = api&.policy_groups.to_a
@policy_groups = Eco::API::Organization::PolicyGroups.new(pgs)
end
|
#post_launch ⇒ Object
263
264
265
|
# File 'lib/eco/api/session/config.rb', line 263
def post_launch
self["post_launch"] ||= Eco::API::Session::Config::PostLaunch.new(config: self)
end
|
#presets_custom=(file) ⇒ Object
240
241
242
|
# File 'lib/eco/api/session/config.rb', line 240
def presets_custom=(file)
people.presets_custom = file
end
|
#presets_map=(file) ⇒ Object
244
245
246
|
# File 'lib/eco/api/session/config.rb', line 244
def presets_map=(file)
people.presets_map = file
end
|
#reopen {|_self| ... } ⇒ Object
23
24
25
|
# File 'lib/eco/api/session/config.rb', line 23
def reopen
yield(self)
end
|
#requests_backup_folder=(folder) ⇒ Object
226
227
228
|
# File 'lib/eco/api/session/config.rb', line 226
def requests_backup_folder=(folder)
people.requests_folder = folder
end
|
#require(file = nil, match: nil) ⇒ Object
152
153
154
155
156
157
158
159
160
|
# File 'lib/eco/api/session/config.rb', line 152
def require(file = nil, match: nil)
if match
file_manager.dir.dir_files(pattern: match).each do |file|
require_relative File.expand_path(file)
end
else
require_relative "#{File.expand_path(file_manager.dir.file(file))}"
end
end
|
#run_mode=(mode) ⇒ Object
89
90
91
|
# File 'lib/eco/api/session/config.rb', line 89
def run_mode=(mode)
apis.active_api.mode = mode
end
|
#run_mode_local? ⇒ Boolean
93
94
95
|
# File 'lib/eco/api/session/config.rb', line 93
def run_mode_local?
apis.active_api.local?
end
|
#run_mode_remote? ⇒ Boolean
97
98
99
|
# File 'lib/eco/api/session/config.rb', line 97
def run_mode_remote?
apis.active_api.remote?
end
|
#s3storage ⇒ Object
39
40
41
|
# File 'lib/eco/api/session/config.rb', line 39
def s3storage
self["s3_storage"] ||= Eco::API::Session::Config::S3Storage.new(config: self)
end
|
#schemas ⇒ Object
197
198
199
200
201
|
# File 'lib/eco/api/session/config.rb', line 197
def schemas
return @schemas if instance_variable_defined?(:@schemas)
schs = api&.person_schemas.to_a
@schemas = Eco::API::Organization::PersonSchemas.new(schs)
end
|
#session ⇒ Object
209
210
211
|
# File 'lib/eco/api/session/config.rb', line 209
def session
@session ||= Eco::API::Session.new(self)
end
|
#sftp ⇒ Object
31
32
33
|
# File 'lib/eco/api/session/config.rb', line 31
def sftp
self["sftp"] ||= Eco::API::Session::Config::SFTP.new(config: self)
end
|
#tagtree(enviro: nil) ⇒ Object
182
183
184
185
186
187
188
189
|
# File 'lib/eco/api/session/config.rb', line 182
def tagtree(enviro: nil)
return @tagtree if instance_variable_defined?(:@tagtree) && @tagtree.enviro == enviro
if tree_file = org["tagtree"]
tree = []
tree = file_manager.load_json(tree_file) unless !tree_file
@tagtree = Eco::API::Organization::TagTree.new(tree, enviro: enviro)
end
end
|
#tagtree=(file) ⇒ Object
178
179
180
|
# File 'lib/eco/api/session/config.rb', line 178
def tagtree=(file)
org["tagtree"] = file
end
|
#timestamp_console=(value) ⇒ Object
72
73
74
|
# File 'lib/eco/api/session/config.rb', line 72
def timestamp_console=(value)
logger.timestamp_console = value
end
|
#usecases ⇒ Object
253
254
255
256
257
258
259
260
261
|
# File 'lib/eco/api/session/config.rb', line 253
def usecases
@usecases = self["usecases"] ||= Eco::API::UseCases.new
if block_given?
yield(@usecases)
self
else
@usecases
end
end
|
#workflow ⇒ Object
297
298
299
300
301
302
|
# File 'lib/eco/api/session/config.rb', line 297
def workflow
@workflow = self["workflow"] ||= Eco::API::Session::Config::Workflow.new(config: self)
@workflow.tap do |wf|
yield(wf) if block_given?
end
end
|
#working_directory(mode: nil) ⇒ Object
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# File 'lib/eco/api/session/config.rb', line 128
def working_directory(mode: nil)
unless mode
wd = files.working_directory
return wd unless wd.to_s.strip.empty?
end
mode ||= :active_api
if mode == :active_api
apis.active_root_name
elsif mode == :raw_api_name
apis.active_name
else
files.working_directory
end
end
|
#working_directory=(path) ⇒ Object
124
125
126
|
# File 'lib/eco/api/session/config.rb', line 124
def working_directory=(path)
files.working_directory = path
end
|