Class: Roger::Release::Processors::Base
- Inherits:
-
Object
- Object
- Roger::Release::Processors::Base
- Defined in:
- lib/roger/release/processors.rb
Overview
Abstract Processor class
Direct Known Subclasses
Class Attribute Summary collapse
-
.name ⇒ Object
Name of this processor.
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#release ⇒ Object
readonly
Returns the value of attribute release.
Instance Method Summary collapse
- #call(release, options = {}) ⇒ Object
-
#default_options ⇒ Object
Default options for this processor.
-
#name ⇒ Object
Name of this processor.
Class Attribute Details
.name ⇒ Object
Name of this processor
13 14 15 |
# File 'lib/roger/release/processors.rb', line 13 def name @name || raise(ArgumentError, "Implement in subclass") end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
7 8 9 |
# File 'lib/roger/release/processors.rb', line 7 def @options end |
#release ⇒ Object (readonly)
Returns the value of attribute release.
7 8 9 |
# File 'lib/roger/release/processors.rb', line 7 def release @release end |
Instance Method Details
#call(release, options = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/roger/release/processors.rb', line 30 def call(release, = {}) @release = release @options = {}.update() @options.update() if @options.update() # Stop immideatly if we've been disabled return if @options[:disable] perform end |
#default_options ⇒ Object
Default options for this processor
19 20 21 |
# File 'lib/roger/release/processors.rb', line 19 def {} end |
#name ⇒ Object
Name of this processor.
-
Can be set by setting the :name config in the release block
-
Can be overwritten in implementation if needed
26 27 28 |
# File 'lib/roger/release/processors.rb', line 26 def name && [:name] || self.class.name end |