Sha256: d63bf05f02816acd4f9bdb16886747e9b29b3cba004cec51b16d028ee505912b

Contents?: true

Size: 1.17 KB

Versions: 45

Compression:

Stored size: 1.17 KB

Contents

module Effective
  module FormInputs
    class PriceField < Effective::FormInput

      def build_input(&block)
        @builder.hidden_field(name, value: price, id: tag_id + '_value_as_integer') +
        @template.text_field_tag(name, @template.number_to_currency(currency, unit: ''), options[:input].merge(id: tag_id, name: nil))
      end

      def input_group_options
        { input_group: { class: 'input-group' }, prepend: content_tag(:span, icon('dollar-sign'), class: 'input-group-text') }
      end

      def input_html_options
        { class: 'form-control effective_price', maxlength: 14, autocomplete: 'off', 'data-include-blank': include_blank? }
      end

      private

      def price
        return (include_blank? ? 0 : nil) unless value
        value.kind_of?(Integer) ? value : ('%.2f' % (value / 100.0))
      end

      def currency
        return (include_blank? ? 0.00 : nil) unless value
        value.kind_of?(Integer) ? ('%.2f' % (value / 100.0)) : value
      end

      def include_blank? # default false
        return @include_blank unless @include_blank.nil?
        @include_blank = (options.delete(:include_blank) || false)
      end

    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
effective_bootstrap-0.2.3 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.2.2 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.2.1 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.2.0 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.12 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.11 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.10 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.9 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.8 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.7 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.6 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.5 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.4 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.3 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.2 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.1 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.1.0 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.0.29 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.0.28 app/models/effective/form_inputs/price_field.rb
effective_bootstrap-0.0.27 app/models/effective/form_inputs/price_field.rb