Class: Take::Project::Requirement::Base
- Inherits:
-
Object
- Object
- Take::Project::Requirement::Base
- Defined in:
- lib/take/project/requirement/base.rb
Class Method Summary collapse
Instance Method Summary collapse
- #default_action ⇒ Object
- #expected_block? ⇒ Boolean
- #fills_requirement? ⇒ Boolean
-
#initialize(type, data, project, &blk) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(type, data, project, &blk) ⇒ Base
Returns a new instance of Base.
14 15 16 17 18 19 20 21 22 |
# File 'lib/take/project/requirement/base.rb', line 14 def initialize(type, data, project, &blk) @type = type @data = data @block = blk @project = project raise ArgumentError, "Unexpected block for requirement " \ "#{self.class}" unless expected_block? end |
Class Method Details
.default_action(&blk) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/take/project/requirement/base.rb', line 6 def self.default_action(&blk) if block_given? @_default_action = blk else @_default_action end end |
Instance Method Details
#default_action ⇒ Object
33 34 35 |
# File 'lib/take/project/requirement/base.rb', line 33 def default_action self.class.default_action end |
#expected_block? ⇒ Boolean
29 30 31 |
# File 'lib/take/project/requirement/base.rb', line 29 def expected_block? true end |
#fills_requirement? ⇒ Boolean
24 25 26 27 |
# File 'lib/take/project/requirement/base.rb', line 24 def fills_requirement? block = @block || default_action block.call(@data, @project) end |