Class: Glass::MenuItem
- Inherits:
-
Object
- Object
- Glass::MenuItem
- Defined in:
- lib/glass/menu_item.rb
Constant Summary collapse
- BUILT_IN_ACTIONS =
[:reply, :reply_all, :delete, :share, :read_aloud, :voice_call, :navigate, :toggle_pinned]
Instance Attribute Summary collapse
-
#action ⇒ Object
Returns the value of attribute action.
-
#display_name ⇒ Object
Returns the value of attribute display_name.
-
#icon_url ⇒ Object
Returns the value of attribute icon_url.
-
#id ⇒ Object
Returns the value of attribute id.
-
#remove_when_selected ⇒ Object
Returns the value of attribute remove_when_selected.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ MenuItem
constructor
A new instance of MenuItem.
- #serialize ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ MenuItem
17 18 19 20 21 22 23 |
# File 'lib/glass/menu_item.rb', line 17 def initialize(opts={}) self.action = opts[:action] || "CUSTOM" self.id = opts[:id] self.display_name = opts[:display_name] self.icon_url = opts[:icon_url] self.remove_when_selected = opts[:remove_when_selected] || false end |
Instance Attribute Details
#action ⇒ Object
Returns the value of attribute action.
3 4 5 |
# File 'lib/glass/menu_item.rb', line 3 def action @action end |
#display_name ⇒ Object
Returns the value of attribute display_name.
3 4 5 |
# File 'lib/glass/menu_item.rb', line 3 def display_name @display_name end |
#icon_url ⇒ Object
Returns the value of attribute icon_url.
3 4 5 |
# File 'lib/glass/menu_item.rb', line 3 def icon_url @icon_url end |
#id ⇒ Object
Returns the value of attribute id.
3 4 5 |
# File 'lib/glass/menu_item.rb', line 3 def id @id end |
#remove_when_selected ⇒ Object
Returns the value of attribute remove_when_selected.
3 4 5 |
# File 'lib/glass/menu_item.rb', line 3 def remove_when_selected @remove_when_selected end |
Class Method Details
.create(action_sym, args) ⇒ Object
12 13 14 15 |
# File 'lib/glass/menu_item.rb', line 12 def self.create(action_sym, args) args = BUILT_IN_ACTIONS.include?(action_sym) ? args.merge({action: action_sym.to_s.upcase}) : args.merge({id: action_sym}) new(args) end |
Instance Method Details
#serialize ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/glass/menu_item.rb', line 29 def serialize hash = {action: action} hash.merge!({id: id, removeWhenSelected: remove_when_selected, values: [{ displayName: display_name, iconUrl: icon_url}]}) if action == "CUSTOM" hash end |