Class: ProductDropdownPresenter

Inherits:
Object
  • Object
show all
Defined in:
lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb

Defined Under Namespace

Classes: Option

Instance Method Summary collapse

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

#optionsObject



24
25
26
27
28
29
30
# File 'lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb', line 24

def options
  @options ||= begin
    products.select { |p| scoped_products.include?(p['path']) }.map do |p|
      Option.new(p)
    end
  end
end

#productsObject



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_productsObject



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