Sha256: 14ff8051665df0e0c4a1ed942dbfa1ae5a06178c39ec55c82fed071610a8d034

Contents?: true

Size: 759 Bytes

Versions: 7

Compression:

Stored size: 759 Bytes

Contents

# allow datetimes to be given as unix times for activeinteractions
module RoquaDateTimeAsUnixFilterExtension
  def cast(value, interaction, **options)
    case value
    when Numeric, /^[0-9]+$/
      Time.at(value.to_i).to_datetime
    when ''
      super(nil, interaction, **options)
    else
      super
    end
  end
end
ActiveInteraction::DateTimeFilter.include RoquaDateTimeAsUnixFilterExtension

# allow datetimes to be given as unix times as string
module RoquaTimeAsUnixFilterExtension
  def cast(value, interaction, **options)
    case value
    when /^[0-9]+$/
      Time.at(value.to_i)
    when ''
      super(nil, interaction, **options)
    else
      super
    end
  end
end
ActiveInteraction::TimeFilter.include RoquaTimeAsUnixFilterExtension

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
roqua-support-0.4.6 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.5 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.4 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.3 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.2 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.1 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb
roqua-support-0.4.0 lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb