Class: Radiant::AdminUI::Tab

Inherits:
Object
  • Object
show all
Defined in:
lib/radiant/admin_ui.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, url, options = {}) ⇒ Tab

Returns a new instance of Tab.



14
15
16
17
18
# File 'lib/radiant/admin_ui.rb', line 14

def initialize(name, url, options = {})
  @name, @url = name, url
  @visibility = [options[:for], options[:visibility]].flatten.compact
  @visibility = [:all] if @visibility.empty?
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



12
13
14
# File 'lib/radiant/admin_ui.rb', line 12

def name
  @name
end

#urlObject

Returns the value of attribute url.



12
13
14
# File 'lib/radiant/admin_ui.rb', line 12

def url
  @url
end

#visibilityObject

Returns the value of attribute visibility.



12
13
14
# File 'lib/radiant/admin_ui.rb', line 12

def visibility
  @visibility
end

Instance Method Details

#shown_for?(user) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
# File 'lib/radiant/admin_ui.rb', line 20

def shown_for?(user)
  visibility.include?(:all) or
    visibility.any? { |role| user.send("#{role}?") }
end