Class: Dry::Effects::Effects::Env
- Inherits:
-
Module
- Object
- Module
- Dry::Effects::Effects::Env
- Defined in:
- lib/dry/effects/effects/env.rb
Constant Summary collapse
- Read =
Effect.new(type: :env, name: :read)
Instance Method Summary collapse
-
#initialize(*args, **kwargs) ⇒ Env
constructor
A new instance of Env.
Constructor Details
#initialize(*args, **kwargs) ⇒ Env
Returns a new instance of Env.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/dry/effects/effects/env.rb', line 9 def initialize(*args, **kwargs) super() readers = args.zip(args) + kwargs.to_a module_eval do if readers.empty? define_method(:env) do |key| ::Dry::Effects.yield(Read.(key)) end else readers.each do |reader, key| define_method(reader) do ::Dry::Effects.yield(Read.payload(key)) end end end end end |