Class: Eco::API::Common::Session::Environment
- Defined in:
- lib/eco/api/common/session/environment.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#file_manager ⇒ Object
(also: #fm)
readonly
Returns the value of attribute file_manager.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
- #api(version: nil) ⇒ Object
- #api?(version:) ⇒ Boolean
-
#initialize(init = {}, session:) ⇒ Environment
constructor
A new instance of Environment.
-
#log(level, &block) ⇒ Object
Shortcut to logger.
- #mailer ⇒ Object
- #mailer? ⇒ Boolean
- #s3uploader ⇒ Object
- #s3uploader? ⇒ Boolean
- #sftp ⇒ Object
- #sftp? ⇒ Boolean
Constructor Details
#initialize(init = {}, session:) ⇒ Environment
Returns a new instance of Environment.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/eco/api/common/session/environment.rb', line 13 def initialize(init = {}, session:) init = init.conf if init.is_a?(Environment) msg = "Expected object Eco::API::Session::Config or Environment. Given: #{init}" raise msg unless init.is_a?(Eco::API::Session::Config) invalid_session = session && !session.is_a?(Eco::API::Session) raise "Expected an Eco::API::Session object. Given: #{session}" if invalid_session @config = init @session = session @file_manager = Eco::API::Common::Session::FileManager.new(enviro: self) @logger = Eco::API::Common::Session::Logger.new(enviro: self) end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
6 7 8 |
# File 'lib/eco/api/common/session/environment.rb', line 6 def config @config end |
#file_manager ⇒ Object (readonly) Also known as: fm
Returns the value of attribute file_manager.
7 8 9 |
# File 'lib/eco/api/common/session/environment.rb', line 7 def file_manager @file_manager end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
7 8 9 |
# File 'lib/eco/api/common/session/environment.rb', line 7 def logger @logger end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
6 7 8 |
# File 'lib/eco/api/common/session/environment.rb', line 6 def session @session end |
Instance Method Details
#api(version: nil) ⇒ Object
55 56 57 |
# File 'lib/eco/api/common/session/environment.rb', line 55 def api(version: nil) config.api(logger, version: version) end |
#api?(version:) ⇒ Boolean
59 60 61 |
# File 'lib/eco/api/common/session/environment.rb', line 59 def api?(version:) config.apis.active_api.version_available?(version) end |
#log(level, &block) ⇒ Object
Shortcut to logger.
64 65 66 67 68 |
# File 'lib/eco/api/common/session/environment.rb', line 64 def log(level, &block) return unless logger.respond_to?(:level) logger&.send(level, &block) end |
#mailer ⇒ Object
28 29 30 31 |
# File 'lib/eco/api/common/session/environment.rb', line 28 def mailer return nil unless mailer? @mailer ||= Eco::API::Common::Session::Mailer.new(enviro: self) end |
#mailer? ⇒ Boolean
33 34 35 |
# File 'lib/eco/api/common/session/environment.rb', line 33 def mailer? config.mailer.configured? end |
#s3uploader ⇒ Object
46 47 48 49 |
# File 'lib/eco/api/common/session/environment.rb', line 46 def s3uploader return nil unless s3uploader? @s3uploader ||= Eco::API::Common::Session::S3Uploader.new(enviro: self) end |
#s3uploader? ⇒ Boolean
51 52 53 |
# File 'lib/eco/api/common/session/environment.rb', line 51 def s3uploader? config.s3storage.configured? end |
#sftp ⇒ Object
37 38 39 40 |
# File 'lib/eco/api/common/session/environment.rb', line 37 def sftp return nil unless sftp? @sftp ||= Eco::API::Common::Session::SFTP.new(enviro: self) end |
#sftp? ⇒ Boolean
42 43 44 |
# File 'lib/eco/api/common/session/environment.rb', line 42 def sftp? config.sftp.configured? end |