Sha256: c724be578dfece4e85aed38f7442a5089caa324bc2982a3e874830127e5f4b80

Contents?: true

Size: 441 Bytes

Versions: 4

Compression:

Stored size: 441 Bytes

Contents

module Indexers
  class Proxy

    def initialize(name, options={}, &block)
      @name = name
      @options = options.merge(traits: {})
      instance_eval &block
      Indexers.definitions.add name, @options
    end

    %i(mappings serialize search).each do |name|
      define_method name do |&block|
        @options[name] = block
      end
    end

    def trait(name, &block)
      @options[:traits][name] = block
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
indexers-5.1.1 lib/indexers/proxy.rb
indexers-5.1.0 lib/indexers/proxy.rb
indexers-4.1.0.1 lib/indexers/proxy.rb
indexers-4.1.0.0 lib/indexers/proxy.rb