class Consyncful::Base

Provides common functionality of Mongoid models created from contentful entries

Public Class Methods

contentful_model_name(name) click to toggle source
# File lib/consyncful/base.rb, line 16
def self.contentful_model_name(name)
  self.model_map ||= {}

  self.model_map[name] = self
end
references_many(name) click to toggle source

rubocop:disable Lint/NestedMethodDefinition

# File lib/consyncful/base.rb, line 23
def self.references_many(name)
  has_and_belongs_to_many name.to_sym, class_name: 'Consyncful::Base', inverse_of: nil do
    def in_order
      _target.to_a.sort_by do |reference|
        _base[foreign_key].index(reference.id)
      end
    end
  end
end
references_one(name) click to toggle source

rubocop:enable Lint/NestedMethodDefinition

# File lib/consyncful/base.rb, line 34
def self.references_one(name)
  belongs_to name.to_sym, optional: true, class_name: 'Consyncful::Base'
end

Public Instance Methods

in_order() click to toggle source
# File lib/consyncful/base.rb, line 25
def in_order
  _target.to_a.sort_by do |reference|
    _base[foreign_key].index(reference.id)
  end
end