Sha256: e09ccb0098c2133984bf261d0e6587939470b17c649d017c6342ddfa6a530df0
Contents?: true
Size: 805 Bytes
Versions: 5
Compression:
Stored size: 805 Bytes
Contents
module Take class Project module Requirement class Base def self.default_action(&blk) if block_given? @_default_action = blk else @_default_action end end 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 def fills_requirement? block = @block || default_action block.call(@data, @project) end def expected_block? true end def default_action self.class.default_action end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems