Class: Spree::Api::Products::FiltersPresenter
- Inherits:
-
Object
- Object
- Spree::Api::Products::FiltersPresenter
- Defined in:
- app/presenters/spree/api/products/filters_presenter.rb
Instance Method Summary collapse
-
#initialize(current_store, current_currency, params) ⇒ FiltersPresenter
constructor
A new instance of FiltersPresenter.
- #to_h ⇒ Object
Constructor Details
#initialize(current_store, current_currency, params) ⇒ FiltersPresenter
Returns a new instance of FiltersPresenter.
5 6 7 |
# File 'app/presenters/spree/api/products/filters_presenter.rb', line 5 def initialize(current_store, current_currency, params) @products_for_filters = find_products_for_filters(current_store, current_currency, params) end |
Instance Method Details
#to_h ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'app/presenters/spree/api/products/filters_presenter.rb', line 9 def to_h option_values = Spree::OptionValues::FindAvailable.new(products_scope: products_for_filters).execute option_values_presenters = Spree::Filters::OptionsPresenter.new(option_values_scope: option_values).to_a product_properties = Spree::ProductProperties::FindAvailable.new(products_scope: products_for_filters).execute product_properties_presenters = Spree::Filters::PropertiesPresenter.new(product_properties_scope: product_properties).to_a { option_types: option_values_presenters.map(&:to_h), product_properties: product_properties_presenters.map(&:to_h) } end |