class Indexers::Dsl::Traitable
Public Class Methods
new(indexer=nil, args=[], parent={}, binding=nil, &block)
click to toggle source
Calls superclass method
Indexers::Dsl::Api::new
# File lib/indexers/dsl/traitable.rb, line 5 def initialize(indexer=nil, args=[], parent={}, binding=nil, &block) @indexer = indexer @binding = binding @block = block super args, parent, &block end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
Indexers::Dsl::Api#method_missing
# File lib/indexers/dsl/traitable.rb, line 22 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
traits(*names)
click to toggle source
# File lib/indexers/dsl/traitable.rb, line 12 def traits(*names) if @indexer @binding = @block.binding names.each do |name| instance_eval &@indexer.options[:traits][name] end @binding = nil end end
Private Instance Methods
continue(args, parent, &block)
click to toggle source
# File lib/indexers/dsl/traitable.rb, line 32 def continue(args, parent, &block) self.class.new @indexer, args, parent, @binding, &block end