Class: Dry::Effects::Effects::Timestamp

Inherits:
Module
  • Object
show all
Defined in:
lib/dry/effects/effects/timestamp.rb

Constant Summary collapse

Timestamp =
Effect.new(type: :timestamp)

Instance Method Summary collapse

Constructor Details

#initialize(options = EMPTY_HASH) ⇒ Timestamp

Returns a new instance of Timestamp.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/dry/effects/effects/timestamp.rb', line 9

def initialize(options = EMPTY_HASH)
  super()

  module_eval do
    define_method(:timestamp) do |round: Undefined|
      round_to = Undefined.coalesce(round, options.fetch(:round, Undefined))

      if Undefined.equal?(round_to)
        ::Dry::Effects.yield(Timestamp)
      else
        ::Dry::Effects.yield(Timestamp.keywords(round_to: round_to))
      end
    end
  end
end