Class: RailsOmnibar::Item::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_omnibar/item/base.rb

Direct Known Subclasses

Help

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(title:, url: nil, icon: nil, modal_html: nil, suggested: false, type: :default) ⇒ Base

Returns a new instance of Base.



6
7
8
9
10
11
12
13
14
15
# File 'lib/rails_omnibar/item/base.rb', line 6

def initialize(title:, url: nil, icon: nil, modal_html: nil, suggested: false, type: :default)
  url.present? && modal_html.present? && raise(ArgumentError, 'use EITHER url: OR modal_html:')

  @title      = validate_title(title)
  @url        = url
  @icon       = validate_icon(icon)
  @modal_html = modal_html
  @suggested  = !!suggested
  @type       = type
end

Instance Attribute Details

#iconObject (readonly)

Returns the value of attribute icon.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def icon
  @icon
end

Returns the value of attribute modal_html.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def modal_html
  @modal_html
end

#suggestedObject (readonly)

Returns the value of attribute suggested.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def suggested
  @suggested
end

#titleObject (readonly)

Returns the value of attribute title.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def title
  @title
end

#typeObject (readonly)

Returns the value of attribute type.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def type
  @type
end

#urlObject (readonly)

Returns the value of attribute url.



4
5
6
# File 'lib/rails_omnibar/item/base.rb', line 4

def url
  @url
end

Instance Method Details

#as_jsonObject



17
18
19
# File 'lib/rails_omnibar/item/base.rb', line 17

def as_json(*)
  { title: title, url: url, icon: icon, modalHTML: modal_html, suggested: suggested, type: type }
end