Class: Spree::Property

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

Constant Summary collapse

TRANSLATABLE_FIELDS =
%i[name presentation filter_param].freeze

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



33
34
35
36
37
38
39
# File 'app/models/spree/property.rb', line 33

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