Sha256: 89db4154f56662ecbc2caed9a80d7d5176b18ac667d2364586a24a6cd6b3a4be

Contents?: true

Size: 1.04 KB

Versions: 81

Compression:

Stored size: 1.04 KB

Contents

module Avo
  module Fields
    class DateTimeField < DateField
      attr_reader :format
      attr_reader :time_24hr
      attr_reader :timezone

      def initialize(id, **args, &block)
        super(id, **args, &block)

        @picker_format = args[:picker_format].present? ? args[:picker_format] : "Y-m-d H:i:S"
        @time_24hr = args[:time_24hr].present? ? args[:time_24hr] : false
        @timezone = args[:timezone].present? ? args[:timezone] : Rails.application.config.time_zone
      end

      def formatted_value
        return nil if value.nil?

        if @format.is_a?(Symbol)
          value.to_time.in_time_zone(timezone).to_formatted_s(@format)
        else
          value.to_time.in_time_zone(timezone).strftime(@format)
        end
      end

      def fill_field(model, key, value, params)
        if value.nil?
          model[id] = nil

          return model
        end

        return model if value.blank?

        model[id] = value.to_time.in_time_zone(Rails.application.config.time_zone)

        model
      end
    end
  end
end

Version data entries

81 entries across 81 versions & 1 rubygems

Version Path
avo-1.25.2 lib/avo/fields/date_time_field.rb
avo-2.10.2 lib/avo/fields/date_time_field.rb
avo-2.10.0 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre7 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre6 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre5 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre4 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre2 lib/avo/fields/date_time_field.rb
avo-2.9.1.pre1 lib/avo/fields/date_time_field.rb
avo-2.9.0 lib/avo/fields/date_time_field.rb
avo-2.8.0 lib/avo/fields/date_time_field.rb
avo-2.7.1.pre.1 lib/avo/fields/date_time_field.rb
avo-2.7.0 lib/avo/fields/date_time_field.rb
avo-2.6.1.pre.2 lib/avo/fields/date_time_field.rb
avo-2.6.1.pre.1 lib/avo/fields/date_time_field.rb
avo-2.6.0 lib/avo/fields/date_time_field.rb
avo-2.5.2.pre.7 lib/avo/fields/date_time_field.rb
avo-2.5.2.pre.6 lib/avo/fields/date_time_field.rb
avo-2.5.2.pre.5 lib/avo/fields/date_time_field.rb
avo-2.5.2.pre.4 lib/avo/fields/date_time_field.rb