Sha256: 14bb252aecfd90330a1dd6f1ab326943476fea3649ef2f7dbbd77726c667811f

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

# encoding: utf-8

require 'mongoid'

module Mongoid#:nodoc:

  module Document #:nodoc:
    def as_json(options = {})
      attrs = super(options)
      attrs["id"] = attrs["_id"]
      attrs
    end
  end

  module Fields #:nodoc:
    module Internal #:nodoc:
      class RawArray < Mongoid::Fields::Internal::Array
        def resizable?; false; end
      end
    end

    class RawArray < ::Array; end
  end

  class Criteria
    def to_liquid
      Locomotive::Liquid::Drops::ProxyCollection.new(self)
    end
  end

  # without callback feature
  module Callbacks #:nodoc:
    module ClassMethods #:nodoc:
      def without_callback(*args, &block)
        skip_callback(*args)
        yield
        set_callback(*args)
      end
    end
  end

  # make the validators work with localized field
  module Validations #:nodoc:
    def read_attribute_for_validation_with_localization(attr)
      if fields[attr.to_s] && fields[attr.to_s].localized?
        send(attr.to_sym)
      else
        read_attribute_for_validation_without_localization(attr)
      end
    end

    alias_method_chain :read_attribute_for_validation, :localization

    class PresenceValidator < ActiveModel::EachValidator
      def validate_each(document, attribute, value)
        document.errors.add(attribute, :blank, options) if value.blank?
      end
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc7 lib/locomotive/mongoid/patches.rb
locomotive_cms-2.0.0.rc6 lib/locomotive/mongoid/patches.rb
locomotive_cms-2.0.0.rc5 lib/locomotive/mongoid/patches.rb
locomotive_cms-2.0.0.rc4 lib/locomotive/mongoid/patches.rb
locomotive_cms-2.0.0.rc2 lib/locomotive/mongoid/patches.rb
locomotive_cms-2.0.0.rc1 lib/locomotive/mongoid/patches.rb