class Take::Project::Requirement::Base

Public Class Methods

default_action(&blk) click to toggle source
# 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
new(type, data, project, &blk) click to toggle source
# 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

Public Instance Methods

default_action() click to toggle source
# File lib/take/project/requirement/base.rb, line 33
def default_action
  self.class.default_action
end
expected_block?() click to toggle source
# File lib/take/project/requirement/base.rb, line 29
def expected_block?
  true
end
fills_requirement?() click to toggle source
# File lib/take/project/requirement/base.rb, line 24
def fills_requirement?
  block = @block || default_action
  block.call(@data, @project)
end