Sha256: 21746c2d8611d60f5219cd102cb807d42b2a8b0d124020ebc83af5c85c1d1bac

Contents?: true

Size: 1.51 KB

Versions: 3

Compression:

Stored size: 1.51 KB

Contents

module Hancock
  module Model
    extend ActiveSupport::Concern
    included do
      Hancock.register_model(self)

      if Hancock.mongoid?
        include Mongoid::Document
        include Mongoid::Timestamps::Short

        if Hancock.config.localize
          include Hancock::ModelLocalizeable
        end

        _collection_name = collection_name.to_s
        if _collection_name =~ /^hancock_/
          enjoy_collection_name = _collection_name.sub(/^hancock_/, 'enjoy_')
          if Mongoid.client('default').collections.map(&:name).include?(enjoy_collection_name)
            modules = []
            self.name.sub("Hancock", "Enjoy").split("::").each do |mod|
              modules << mod
              eval("::#{modules.join("::")} ||= #{modules.join("::").sub("Enjoy", "Hancock")}")
            end
            store_in collection: enjoy_collection_name
          end
        end

        def self.goto_hancock
        end
      end

      include ActiveModel::ForbiddenAttributesProtection
      include Hancock::BooleanField
      include Hancock::SortField

      if Hancock.mongoid? and defined?(RailsAdminComments)
        include RailsAdminComments::Commentable
        include RailsAdminComments::ModelCommentable
      end

      if Hancock.config.history_tracking
        if Hancock.mongoid?
          if defined?(TrackablePatch)
            include TrackablePatch
          elsif defined?(Trackable)
            include Trackable
          end
        end
      end

      include Hancock::RailsAdminPatch
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hancock_cms-1.0.1 lib/hancock/model.rb
hancock_cms-1.0.0.3 lib/hancock/model.rb
hancock_cms-1.0.0.2 lib/hancock/model.rb