Sha256: d21bc5d5ea7a32e70fd6ed653a61e456bd578cfc8aac89dc8eed347e404e3067

Contents?: true

Size: 549 Bytes

Versions: 5

Compression:

Stored size: 549 Bytes

Contents

module PushType
  class SelectField < PushType::FieldType

    options template:       'select',
            choices:        [], 
            field_options:  { include_blank: 'Please select...' }

    def choices
      if @opts[:choices].respond_to? :call
        @opts[:choices].call
      else
        @opts[:choices]
      end
    end

    def multiple?
      @opts[:multiple]
    end

    def json_primitive
       multiple? ? :array : super 
    end

    def html_options
      @opts[:html_options].merge(multiple: multiple?)
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
push_type_core-0.6.0 app/fields/push_type/select_field.rb
push_type_core-0.6.0.beta.4 app/fields/push_type/select_field.rb
push_type_core-0.6.0.beta.3 app/fields/push_type/select_field.rb
push_type_core-0.6.0.beta.2 app/fields/push_type/select_field.rb
push_type_core-0.6.0.beta.1 app/fields/push_type/select_field.rb