Class: ServerlessRedirector::Applicator
- Inherits:
-
Object
- Object
- ServerlessRedirector::Applicator
- Defined in:
- lib/serverless_redirector/applicator.rb
Instance Attribute Summary collapse
-
#destination ⇒ Object
readonly
Returns the value of attribute destination.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#logger_mutex ⇒ Object
readonly
Returns the value of attribute logger_mutex.
Instance Method Summary collapse
- #apply(operation) ⇒ Object
-
#initialize(destination, logger) ⇒ Applicator
constructor
A new instance of Applicator.
Constructor Details
#initialize(destination, logger) ⇒ Applicator
Returns a new instance of Applicator.
8 9 10 11 12 |
# File 'lib/serverless_redirector/applicator.rb', line 8 def initialize(destination, logger) @destination = destination @logger = logger @logger_mutex = Mutex.new end |
Instance Attribute Details
#destination ⇒ Object (readonly)
Returns the value of attribute destination.
6 7 8 |
# File 'lib/serverless_redirector/applicator.rb', line 6 def destination @destination end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
6 7 8 |
# File 'lib/serverless_redirector/applicator.rb', line 6 def logger @logger end |
#logger_mutex ⇒ Object (readonly)
Returns the value of attribute logger_mutex.
6 7 8 |
# File 'lib/serverless_redirector/applicator.rb', line 6 def logger_mutex @logger_mutex end |
Instance Method Details
#apply(operation) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/serverless_redirector/applicator.rb', line 14 def apply(operation) case operation when ServerlessRedirector::Operations::RemoveRedirect destination.remove_key operation.redirect.path when ServerlessRedirector::Operations::CreateRedirect, ServerlessRedirector::Operations::UpdateDestination rendered = ServerlessRedirector::Renderer.new('redirect.erb').render(url: operation.redirect.url) destination.write_key operation.redirect.path, operation.redirect.url, rendered end logger_mutex.synchronize { logger.info "=> Applied #{operation.summarize}" } rescue => e p e raise end |