Sha256: 56ad7a0fcf36075a6314c6fb48b1c0ebbc28c82c431ab769bb41ca6a3273a888

Contents?: true

Size: 798 Bytes

Versions: 83

Compression:

Stored size: 798 Bytes

Contents

module Sunspot
  # 
  # A TextFieldSetup encapsulates a regular (or composite) setup, and exposes
  # the #field() method returning text fields instead of attribute fields.
  #
  class TextFieldSetup #:nodoc:
    def initialize(setup)
      @setup = setup
    end

    # 
    # Return a text field with the given name. Duck-type compatible with
    # Setup and CompositeSetup, but return text fields instead.
    #
    def field(name)
      fields = @setup.text_fields(name)
      if fields
        if fields.length == 1
          fields.first
        else
          raise(
            Sunspot::UnrecognizedFieldError,
            "The text field with name #{name} has incompatible configurations for the classes #{@setup.type_names.join(', ')}"
          )
        end
      end
    end
  end
end

Version data entries

83 entries across 83 versions & 15 rubygems

Version Path
sunspot-1.2.0 lib/sunspot/text_field_setup.rb
ruben-sunspot-1.1.1 lib/sunspot/text_field_setup.rb
ruben-sunspot-1.1.0 lib/sunspot/text_field_setup.rb
nuatt_sunspot-1.1.0.3 lib/sunspot/text_field_setup.rb
sunspot-1.1.0 lib/sunspot/text_field_setup.rb
sunspot-1.0.5 lib/sunspot/text_field_setup.rb
sunspot-1.0.4 lib/sunspot/text_field_setup.rb
sunspot-1.0.3 lib/sunspot/text_field_setup.rb
sunspot-1.0.2 lib/sunspot/text_field_setup.rb
sunspot-1.0.1 lib/sunspot/text_field_setup.rb
sunspot-1.0.0 lib/sunspot/text_field_setup.rb
sunspot-0.10.9 lib/sunspot/text_field_setup.rb
sunspot-0.10.8 lib/sunspot/text_field_setup.rb
nxa-sunspot-0.10.7 lib/sunspot/text_field_setup.rb
sunspot-0.10.7 lib/sunspot/text_field_setup.rb
sunspot-0.10.6 lib/sunspot/text_field_setup.rb
sunspot-0.10.5 lib/sunspot/text_field_setup.rb
sunspot-0.10.4 lib/sunspot/text_field_setup.rb
kuahyeow-sunspot-0.10.3 lib/sunspot/text_field_setup.rb
sunspot-0.10.3 lib/sunspot/text_field_setup.rb