Sha256: 19b1cbc6b67bb7ba88a6c44d52a97ba085a0a9d29544e1a6e106b7ee44c700ca

Contents?: true

Size: 501 Bytes

Versions: 12

Compression:

Stored size: 501 Bytes

Contents

# frozen_string_literal: true

module Fields
  class SelectFieldPresenter < FieldPresenter
    def include_blank?
      required?
    end

    def can_custom_value?
      !@model.options.strict_select
    end

    def collection
      collection = @model.choices.map(&:label)
      if can_custom_value? && value.present?
        ([value] + collection).uniq
      else
        collection
      end
    end

    def options_for_select
      @view.options_for_select(collection, value)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
script_core-0.3.2 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.3.0 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.7 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.6 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.5 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.4 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.3 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.2 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.1 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.2.0 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.1.1 spec/dummy/app/presenters/fields/select_field_presenter.rb
script_core-0.1.0 spec/dummy/app/presenters/fields/select_field_presenter.rb