Class: Pageflow::PageTypes
- Inherits:
-
Object
- Object
- Pageflow::PageTypes
- Includes:
- Enumerable
- Defined in:
- lib/pageflow/page_types.rb
Instance Method Summary collapse
- #clear ⇒ Object
- #each(&block) ⇒ Object
- #find_by_name!(name) ⇒ Object
-
#initialize ⇒ PageTypes
constructor
A new instance of PageTypes.
- #names ⇒ Object
- #register(page_type) ⇒ Object
Constructor Details
#initialize ⇒ PageTypes
Returns a new instance of PageTypes.
5 6 7 |
# File 'lib/pageflow/page_types.rb', line 5 def initialize clear end |
Instance Method Details
#clear ⇒ Object
9 10 11 12 |
# File 'lib/pageflow/page_types.rb', line 9 def clear @page_types = [] @page_types_by_name = {} end |
#each(&block) ⇒ Object
29 30 31 |
# File 'lib/pageflow/page_types.rb', line 29 def each(&block) @page_types.each(&block) end |
#find_by_name!(name) ⇒ Object
19 20 21 22 23 |
# File 'lib/pageflow/page_types.rb', line 19 def find_by_name!(name) @page_types_by_name.fetch(name) do raise "Unknown page type with name #{name}." end end |
#names ⇒ Object
25 26 27 |
# File 'lib/pageflow/page_types.rb', line 25 def names map(&:name) end |
#register(page_type) ⇒ Object
14 15 16 17 |
# File 'lib/pageflow/page_types.rb', line 14 def register(page_type) @page_types << page_type @page_types_by_name[page_type.name] = page_type end |