Class: Spree::Property

Inherits:
Base
  • Object
show all
Includes:
FilterParam, Metadata, Webhooks::HasWebhooks
Defined in:
app/models/spree/property.rb

Instance Method Summary collapse

Methods inherited from Base

belongs_to_required_by_default, for_store, has_many_inversing, json_api_columns, json_api_permitted_attributes, json_api_type, page, spree_base_scopes, spree_base_uniqueness_scope

Methods included from Spree::Preferences::Preferable

#clear_preferences, #default_preferences, #defined_preferences, #deprecated_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_deprecated, #preference_type, #set_preference

Instance Method Details

#uniq_values(product_properties_scope: nil) ⇒ Object



27
28
29
30
31
32
33
# File 'app/models/spree/property.rb', line 27

def uniq_values(product_properties_scope: nil)
  with_uniq_values_cache_key(product_properties_scope) do
    properties = product_properties
    properties = properties.where(id: product_properties_scope) if product_properties_scope.present?
    properties.where.not(value: [nil, '']).pluck(:filter_param, :value).uniq
  end
end