Class: Engine2::Schemes
Instance Attribute Summary collapse
-
#builtin ⇒ Object
readonly
Returns the value of attribute builtin.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
- #[](name, raise = true) ⇒ Object
- #define_scheme(name, &blk) ⇒ Object
-
#initialize ⇒ Schemes
constructor
A new instance of Schemes.
Constructor Details
#initialize ⇒ Schemes
Returns a new instance of Schemes.
10 11 12 13 |
# File 'lib/engine2/scheme.rb', line 10 def initialize @builtin = {} @user = {} end |
Instance Attribute Details
#builtin ⇒ Object (readonly)
Returns the value of attribute builtin.
9 10 11 |
# File 'lib/engine2/scheme.rb', line 9 def builtin @builtin end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
9 10 11 |
# File 'lib/engine2/scheme.rb', line 9 def user @user end |
Instance Method Details
#[](name, raise = true) ⇒ Object
21 22 23 24 25 |
# File 'lib/engine2/scheme.rb', line 21 def [] name, raise = true scheme = @builtin[name] || @user[name] raise E2Error.new("Scheme #{name} not found") if !scheme && raise scheme end |
#define_scheme(name, &blk) ⇒ Object
15 16 17 18 19 |
# File 'lib/engine2/scheme.rb', line 15 def define_scheme name, &blk schemes = Engine2::core_loaded ? @user : @builtin raise E2Error.new("Scheme '#{name}' already defined") if schemes[name] schemes[name] = blk end |