Class: AmaLayout::Navigation

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Model
Defined in:
lib/ama_layout/navigation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Navigation

Returns a new instance of Navigation.



13
14
15
16
# File 'lib/ama_layout/navigation.rb', line 13

def initialize(args = {})
  args = defaults.merge args
  super
end

Instance Attribute Details

#current_urlObject

Returns the value of attribute current_url.



11
12
13
# File 'lib/ama_layout/navigation.rb', line 11

def current_url
  @current_url
end

#display_nameObject

Returns the value of attribute display_name.



11
12
13
# File 'lib/ama_layout/navigation.rb', line 11

def display_name
  @display_name
end

Returns the value of attribute nav_file_path.



11
12
13
# File 'lib/ama_layout/navigation.rb', line 11

def nav_file_path
  @nav_file_path
end

#userObject

Returns the value of attribute user.



11
12
13
# File 'lib/ama_layout/navigation.rb', line 11

def user
  @user
end

Instance Method Details

#decorateObject



7
8
9
# File 'lib/ama_layout/navigation.rb', line 7

def decorate
  AmaLayout::NavigationDecorator.new(self)
end

#emailObject



48
49
50
# File 'lib/ama_layout/navigation.rb', line 48

def email
  user.email
end

#itemsObject



38
39
40
41
42
# File 'lib/ama_layout/navigation.rb', line 38

def items
  navigation_items.fetch(user.try(:navigation), []).map do |n|
    NavigationItem.new n.merge(current_url: current_url)
  end
end


44
45
46
# File 'lib/ama_layout/navigation.rb', line 44

def navigation_items
  YAML.safe_load(ERB.new(File.read(nav_file_path)).result)
end