Class: ProductDropdownPresenter
- Inherits:
-
Object
- Object
- ProductDropdownPresenter
- Defined in:
- lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb
Defined Under Namespace
Classes: Option
Instance Method Summary collapse
-
#initialize(scope) ⇒ ProductDropdownPresenter
constructor
A new instance of ProductDropdownPresenter.
- #options ⇒ Object
- #products ⇒ Object
- #scoped_products ⇒ Object
Constructor Details
#initialize(scope) ⇒ ProductDropdownPresenter
Returns a new instance of ProductDropdownPresenter.
20 21 22 |
# File 'lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb', line 20 def initialize(scope) @scope = scope end |
Instance Method Details
#options ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb', line 24 def @options ||= begin products.select { |p| scoped_products.include?(p['path']) }.map do |p| Option.new(p) end end end |
#products ⇒ Object
36 37 38 |
# File 'lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb', line 36 def products @products ||= Product.all.select { |p| p['dropdown'] == true } end |
#scoped_products ⇒ Object
32 33 34 |
# File 'lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb', line 32 def scoped_products @scoped_products ||= @scope.map(&:products).flatten.uniq end |