Sha256: 7128ea8fb09667323d0764b62c5f725f3b1c5f05d64da451324b1dab9df5ea71
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
# This file contains various hacks for Rails compatibility. class Hash # Hack so that CouchRest::Document, which descends from Hash, # doesn't appear to Rails routing as a Hash of options def self.===(other) return false if self == Hash && other.is_a?(CouchRest::Document) super end end CouchRest::Document.class_eval do # Need this when passing doc to a resourceful route alias_method :to_param, :id # Hack so that CouchRest::Document, which descends from Hash, # doesn't appear to Rails routing as a Hash of options def is_a?(o) return false if o == Hash super end alias_method :kind_of?, :is_a? # Gives extended doc a seamless logger def logger ActiveRecord::Base.logger end end CouchRest::CastedModel.class_eval do # The to_param method is needed for rails to generate resourceful routes. # In your controller, remember that it's actually the id of the document. def id return nil if base_doc.nil? base_doc.id end alias_method :to_param, :id end require Pathname.new(File.dirname(__FILE__)).join('..', 'validation', 'validation_errors') CouchRest::Validation::ValidationErrors.class_eval do # Returns the total number of errors added. Two errors added to the same attribute will be counted as such. # This method is called by error_messages_for def count errors.values.inject(0) { |error_count, errors_for_attribute| error_count + errors_for_attribute.size } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sporkd-couchrest-0.30 | lib/couchrest/support/rails.rb |
sporkd-couchrest-0.31 | lib/couchrest/support/rails.rb |
sporkd-couchrest-0.33 | lib/couchrest/support/rails.rb |