class Blockhead::ValueExtractor

Attributes

extractor[R]

Public Class Methods

new(value, arg, &block) click to toggle source
# File lib/blockhead/value_extractor.rb, line 8
def initialize(value, arg, &block)
  proc = block.to_proc if block

  @extractor = Extractors::Enumerable.new value, arg, proc

  extractors.inject(extractor) do |fallback, link|
    fallback.next = link.new value, arg, proc
  end
end

Private Instance Methods

extractors() click to toggle source
# File lib/blockhead/value_extractor.rb, line 20
def extractors
  [Extractors::Block, Extractors::Proc, Extractors::Value]
end