Class: Pageflow::PageTypes
- Inherits:
-
Object
- Object
- Pageflow::PageTypes
- Includes:
- Enumerable
- Defined in:
- lib/pageflow/page_types.rb
Instance Method Summary collapse
- #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 8 |
# File 'lib/pageflow/page_types.rb', line 5 def initialize @page_types = [] @page_types_by_name = {} end |
Instance Method Details
#each(&block) ⇒ Object
25 26 27 |
# File 'lib/pageflow/page_types.rb', line 25 def each(&block) @page_types.each(&block) end |
#find_by_name!(name) ⇒ Object
15 16 17 18 19 |
# File 'lib/pageflow/page_types.rb', line 15 def find_by_name!(name) @page_types_by_name.fetch(name) do raise "Unknown page type with name #{name}." end end |
#names ⇒ Object
21 22 23 |
# File 'lib/pageflow/page_types.rb', line 21 def names map(&:name) end |
#register(page_type) ⇒ Object
10 11 12 13 |
# File 'lib/pageflow/page_types.rb', line 10 def register(page_type) @page_types << page_type @page_types_by_name[page_type.name] = page_type end |