module MagicLocales::Association::ClassMethods

C L A S S - M E T H O D S # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Public Instance Methods

has_languages() click to toggle source
# File lib/app/models/magic_locales/association.rb, line 25
def has_languages
  # send :include, InstanceMethods
  
  has_many  :spoken_languages, 
                -> { where.not(default: true) }, 
                as:         :owner, 
                class_name: "MagicLocales::Language", 
                dependent: :destroy
  
  has_many  :foreign_languages, 
                -> { where.not(level: 'native') }, 
                as:         :owner, 
                class_name: "MagicLocales::Language", 
                dependent:  :destroy
  
  has_many  :native_languages, 
                -> { where(level: 'native') }, 
                as:         :owner, 
                class_name: "MagicLocales::Language", 
                dependent:  :destroy
  
  accepts_nested_attributes_for :spoken_languages,  allow_destroy: true,    reject_if: proc { |atts| atts['locale_id'].blank? }
end
has_one_language() click to toggle source
# File lib/app/models/magic_locales/association.rb, line 12
def has_one_language
  # send :include, InstanceMethods
  
  has_one   :language, 
                -> { where(level: 'native', default: true) }, 
                as:         :owner, 
                class_name: "MagicLocales::Language", 
                dependent:  :destroy
  
  accepts_nested_attributes_for :language,          allow_destroy: true,    reject_if: proc { |atts| atts['locale_id'].blank? }
end