Module: Studio::SidebarSections
- Defined in:
- lib/studio/sidebar_sections.rb
Class Method Summary collapse
Class Method Details
.resolve(declared, view) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/studio/sidebar_sections.rb', line 22 def resolve(declared, view) sections = declared.respond_to?(:call) ? declared.call(view) : declared admin = view.respond_to?(:admin?) && view.admin? Array(sections).map { |section| symbolize(section) } .reject { |section| section[:admin] && !admin } .map { |section| section.merge(links: Array(section[:links]).map { |link| symbolize(link) }) } end |
.symbolize(hash) ⇒ Object
30 31 32 |
# File 'lib/studio/sidebar_sections.rb', line 30 def symbolize(hash) hash.to_h.each_with_object({}) { |(key, value), out| out[key.to_sym] = value } end |