Sha256: f91b6067bee839aad6ce9862defe6d483413ae7525a95996f433ed575b9be6d8
Contents?: true
Size: 838 Bytes
Versions: 20
Compression:
Stored size: 838 Bytes
Contents
# typed: strict module Kuby class Definition extend T::Sig sig { returns(String) } attr_reader :app_name sig { params(app_name: String, block: T.nilable(T.proc.void)).void } def initialize(app_name, &block) @app_name = app_name @environments = T.let(@environments, T.nilable(T::Hash[Symbol, Environment])) end sig { params( name: Symbol, block: T.nilable(T.proc.void) ).returns(Environment) } def environment(name = Kuby.env, &block) name = name.to_s environments[name] ||= Environment.new(name, self) if block_given? environments[name].instance_eval(&block) end T.must(environments[name]) end sig { returns(T::Hash[Symbol, Environment]) } def environments @environments ||= {} end end end
Version data entries
20 entries across 20 versions & 1 rubygems