Class: SemanticNavigation::Configuration
- Inherits:
-
Object
- Object
- SemanticNavigation::Configuration
- Defined in:
- lib/semantic_navigation/configuration.rb
Constant Summary collapse
- @@bootstrap_version =
2
{}
- @@renderers =
{}
- @@render_styles =
{}
Class Method Summary collapse
- .bootstrap_version(version = nil) ⇒ Object
- .navigate(id, options = {}, &block) ⇒ Object
- .navigation(name) ⇒ Object
- .register_renderer(*options) ⇒ Object
- .run(&block) ⇒ Object
- .styles_for(name) ⇒ Object
Instance Method Summary collapse
Class Method Details
.bootstrap_version(version = nil) ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/semantic_navigation/configuration.rb', line 68 def self.bootstrap_version(version=nil) if version @@bootstrap_version = version else @@bootstrap_version end end |
.navigate(id, options = {}, &block) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/semantic_navigation/configuration.rb', line 22 def self.navigate(id, = {}, &block) [:id] = id.to_sym [:i18n_name] = "semantic_navigation.#{id}" = Core::Navigation.new() .instance_eval &block if block_given? @@navigations[id.to_sym] = end |
.navigation(name) ⇒ Object
64 65 66 |
# File 'lib/semantic_navigation/configuration.rb', line 64 def self.(name) @@navigations[name] end |
.register_renderer(*options) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/semantic_navigation/configuration.rb', line 47 def self.register_renderer(*) if .count == 1 name = [0].name.demodulize.underscore.to_sym renderer_class = [0] elsif .count == 2 name = [0].to_sym renderer_class = [1].is_a?(Symbol) ? @@renderers[[1]] : [1] end @@renderers[name] = renderer_class SemanticNavigation::HelperMethods.class_eval " def #{name}_for(name, options = {}) options[:as] = :#{name} navigation_for name, options end " end |
.run(&block) ⇒ Object
18 19 20 |
# File 'lib/semantic_navigation/configuration.rb', line 18 def self.run(&block) self.class_eval &block if block_given? end |
.styles_for(name) ⇒ Object
43 44 45 |
# File 'lib/semantic_navigation/configuration.rb', line 43 def self.styles_for(name) @@render_styles[name.to_sym] = proc end |
Instance Method Details
#render(menu_id, renderer_name, options, view_object) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/semantic_navigation/configuration.rb', line 30 def render(, renderer_name, , view_object) @@view_object = view_object renderer = @@renderers[renderer_name].new unless @@render_styles[renderer_name].nil? renderer.instance_eval &@@render_styles[renderer_name] end .keys.each{|key| renderer.send "#{key}=", [key]} renderer.name = renderer_name = @@navigations[] .mark_active .render(renderer) end |