Class: Spree::Base

Inherits:
ApplicationRecord
  • Object
show all
Includes:
Preferences::Preferable, RansackableAttributes, TranslatableResourceScopes
Defined in:
app/models/spree/base.rb

Class Method Summary collapse

Methods included from Preferences::Preferable

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

Class Method Details

.belongs_to_required_by_defaultObject



26
27
28
# File 'app/models/spree/base.rb', line 26

def self.belongs_to_required_by_default
  false
end

.for_store(store) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'app/models/spree/base.rb', line 30

def self.for_store(store)
  plural_model_name = model_name.plural.gsub(/spree_/, '').to_sym

  if store.respond_to?(plural_model_name)
    store.send(plural_model_name)
  else
    self
  end
end

.has_many_inversingObject



49
50
51
# File 'app/models/spree/base.rb', line 49

def self.has_many_inversing
  false
end

.json_api_columnsObject



53
54
55
# File 'app/models/spree/base.rb', line 53

def self.json_api_columns
  column_names.reject { |c| c.match(/_id$|id|preferences|(.*)password|(.*)token|(.*)api_key/) }
end

.json_api_permitted_attributesObject



57
58
59
60
61
62
63
64
65
# File 'app/models/spree/base.rb', line 57

def self.json_api_permitted_attributes
  skipped_attributes = %w[id]

  if included_modules.include?(CollectiveIdea::Acts::NestedSet::Model)
    skipped_attributes.push('lft', 'rgt', 'depth')
  end

  column_names.reject { |c| skipped_attributes.include?(c.to_s) }
end

.json_api_typeObject



67
68
69
# File 'app/models/spree/base.rb', line 67

def self.json_api_type
  to_s.demodulize.underscore
end

.page(num) ⇒ Object



19
20
21
# File 'app/models/spree/base.rb', line 19

def self.page(num)
  send Kaminari.config.page_method_name, num
end

.spree_base_scopesObject



40
41
42
# File 'app/models/spree/base.rb', line 40

def self.spree_base_scopes
  where(nil)
end

.spree_base_uniqueness_scopeObject



44
45
46
# File 'app/models/spree/base.rb', line 44

def self.spree_base_uniqueness_scope
  ApplicationRecord.try(:spree_base_uniqueness_scope) || []
end