Class: EnvironmentScoped
- Inherits:
-
Module
- Object
- Module
- EnvironmentScoped
- Defined in:
- lib/etna/environment_scoped.rb
Instance Method Summary collapse
-
#initialize(&block) ⇒ EnvironmentScoped
constructor
A new instance of EnvironmentScoped.
Constructor Details
#initialize(&block) ⇒ EnvironmentScoped
Returns a new instance of EnvironmentScoped.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/etna/environment_scoped.rb', line 2 def initialize(&block) environment_class = Class.new do class_eval(&block) attr_reader :environment def initialize(environment) @environment = environment end end super() do define_method :environment do |env| env = env.to_sym (@envs ||= {})[env] ||= environment_class.new(env) end end end |