Class: Eco::API::Session::Config::Files
Instance Attribute Summary
Attributes inherited from BaseConfig
#config
#logger
Instance Method Summary
collapse
Methods inherited from BaseConfig
#apis, attr_key, #clone, #file_manager
#log
Methods inherited from Hash
#deep_merge, #deep_merge!
Constructor Details
#initialize(config:) ⇒ Files
Returns a new instance of Files.
6
7
8
9
10
|
# File 'lib/eco/api/session/config/files.rb', line 6
def initialize(config:)
super
@validations = {}
end
|
Instance Method Details
#add_validation(format, &block) ⇒ Object
30
31
32
33
|
# File 'lib/eco/api/session/config/files.rb', line 30
def add_validation(format, &block)
raise "Block must be given" unless block_given?
@validations[format] = block
end
|
#validate(format, input) ⇒ Object
35
36
37
|
# File 'lib/eco/api/session/config/files.rb', line 35
def validate(format, input)
@validations[format].call(input) if @validations.key?(format)
end
|
#working_directory ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/eco/api/session/config/files.rb', line 16
def working_directory
return self['dir'] unless config.apis.active_api&.one_off?
one_off_dir = File.join('one_off', config.apis.active_name.to_s)
dir = Eco::Data::Files::Directory.new(one_off_dir)
msg = "Could not create the folder '#{dir.full_path}'"
raise msg unless dir.create
self['dir'] = one_off_dir
end
|
#working_directory=(path) ⇒ Object
12
13
14
|
# File 'lib/eco/api/session/config/files.rb', line 12
def working_directory=(path)
self['dir'] = path
end
|