Class: Merb::Menus::Rule

Inherits:
Object
  • Object
show all
Extended by:
Enumerable
Defined in:
lib/merb-menus/rule.rb

Direct Known Subclasses

DisplayStyle, UrlGenerator

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, &rule) ⇒ Rule

Returns a new instance of Rule.



28
29
30
31
# File 'lib/merb-menus/rule.rb', line 28

def initialize(key, &rule)
  @key = key
  @rule = rule
end

Class Attribute Details

.collectionObject (readonly)

Returns the value of attribute collection.



6
7
8
# File 'lib/merb-menus/rule.rb', line 6

def collection
  @collection
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



33
34
35
# File 'lib/merb-menus/rule.rb', line 33

def key
  @key
end

#ownerObject (readonly)

Returns the value of attribute owner.



33
34
35
# File 'lib/merb-menus/rule.rb', line 33

def owner
  @owner
end

#ruleObject (readonly)

Returns the value of attribute rule.



33
34
35
# File 'lib/merb-menus/rule.rb', line 33

def rule
  @rule
end

Class Method Details

.[](key) ⇒ Object



17
18
19
# File 'lib/merb-menus/rule.rb', line 17

def [](key)
  find{|rule| rule.key == key}
end

.add_rule(key, owner, &rule) ⇒ Object



8
9
10
11
# File 'lib/merb-menus/rule.rb', line 8

def add_rule(key, owner, &rule)
  return nil unless block_given? and unique?(key, owner)
  @collection << new(key, &rule)
end

.eachObject



13
14
15
# File 'lib/merb-menus/rule.rb', line 13

def each
  @collection.each{|i| yield i}
end