Sha256: e0fa6f951cf07dac43c6f845fbbaa8414d5ccd54c5437a96ce4a2b29157526fb
Contents?: true
Size: 868 Bytes
Versions: 4
Compression:
Stored size: 868 Bytes
Contents
module Indexers module Dsl class Traitable < Api def initialize(indexer=nil, args=[], parent={}, binding=nil, &block) @indexer = indexer @binding = binding @block = block super args, parent, &block end def traits(*names) if @indexer @binding = @block.binding names.each do |name| instance_eval &@indexer.options[:traits][name] end @binding = nil end end def method_missing(name, *args, &block) if args.size == 0 && !block_given? && @binding.try(:local_variable_defined?, name) @binding.local_variable_get name else super end end private def continue(args, parent, &block) self.class.new @indexer, args, parent, @binding, &block end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
indexers-5.1.1 | lib/indexers/dsl/traitable.rb |
indexers-5.1.0 | lib/indexers/dsl/traitable.rb |
indexers-4.1.0.1 | lib/indexers/dsl/traitable.rb |
indexers-4.1.0.0 | lib/indexers/dsl/traitable.rb |