Class: Criteria::ClassHeirarchyContext
- Inherits:
-
Object
- Object
- Criteria::ClassHeirarchyContext
- Defined in:
- lib/criteria.rb
Instance Method Summary collapse
- #get(cl, var, default = nil) ⇒ Object
-
#initialize ⇒ ClassHeirarchyContext
constructor
A new instance of ClassHeirarchyContext.
- #set(cl, var, value) ⇒ Object
- #unset(cl, var) ⇒ Object
Constructor Details
#initialize ⇒ ClassHeirarchyContext
Returns a new instance of ClassHeirarchyContext.
616 617 618 |
# File 'lib/criteria.rb', line 616 def initialize() @vars = {} end |
Instance Method Details
#get(cl, var, default = nil) ⇒ Object
619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 |
# File 'lib/criteria.rb', line 619 def get(cl, var, default=nil) @vars[cl]||={} out = @vars[cl][var] # search up the inheretence heirarchy clazz = cl while !clazz.nil? and out.nil? out = (@vars[clazz]||{})[var] clazz = clazz.superclass end # set default if no value was found if out.nil? and !default.nil? @vars[cl][var] = default out = @vars[cl][var] end out end |
#set(cl, var, value) ⇒ Object
643 644 645 646 |
# File 'lib/criteria.rb', line 643 def set(cl,var, value) @vars[cl]||={} @vars[cl][var] = value end |
#unset(cl, var) ⇒ Object
639 640 641 |
# File 'lib/criteria.rb', line 639 def unset(cl, var) @vars[cl].delete var end |