Class: Conjoin::Nav::Config
- Inherits:
-
Struct
- Object
- Struct
- Conjoin::Nav::Config
- Defined in:
- lib/conjoin/nav.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
Returns the value of attribute app.
-
#block ⇒ Object
Returns the value of attribute block.
Instance Method Summary collapse
- #config ⇒ Object
- #load_links(links) ⇒ Object
- #load_nav(name) ⇒ Object
- #nav(name, links) ⇒ Object
- #run ⇒ Object
Instance Attribute Details
#app ⇒ Object
Returns the value of attribute app
26 27 28 |
# File 'lib/conjoin/nav.rb', line 26 def app @app end |
#block ⇒ Object
Returns the value of attribute block
26 27 28 |
# File 'lib/conjoin/nav.rb', line 26 def block @block end |
Instance Method Details
#load_links(links) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/conjoin/nav.rb', line 46 def load_links links loaded_links = [] links.each do |link| link = OpenStruct.new(link) if !link.if or app.instance_exec(&link.if) link.icon = config.icon_class + '-' + link.icon if link.icon link.active = URI.decode(app.req.env['REQUEST_URI'])[link.path] link.active_class = link.active ? config.active_class : false link.id = "nav-#{link.text.underscore}" link.label = app.instance_exec(&link.label) if link.label if link.subs link.subs = load_links link.subs end if link.active_class or !link.hidden loaded_links << link end end end loaded_links end |
#load_nav(name) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/conjoin/nav.rb', line 36 def load_nav name if links = config.navs[name] loaded_links = load_links links else raise "There isn't a nav called: #{name}" end block.call loaded_links end |
#nav(name, links) ⇒ Object
31 32 33 34 |
# File 'lib/conjoin/nav.rb', line 31 def nav name, links config.navs[name] ||= [] config.navs[name].concat links end |
#run ⇒ Object
27 28 29 |
# File 'lib/conjoin/nav.rb', line 27 def run self.instance_eval(&block) end |