Sha256: 03222fff2686efea69fe296896c710207d3751345b79a7155342d5d62c6fdb53

Contents?: true

Size: 759 Bytes

Versions: 6

Compression:

Stored size: 759 Bytes

Contents

module Mongoid::RadMicelaneous
  extend ActiveSupport::Concern
  
  delegate :t, to: I18n
  
  def to_rson options = {}
    with_errors = if options.include?('errors')
      options.delete 'errors'
    elsif options.include?(:errors)
      options.delete :errors
    else
      true
    end
    
    # standard MongoMaper as_json conversion
    hash = as_json(options)
    
    # MongoMaper fix
    hash['id'] = hash.delete('_id').to_s if hash.include? '_id'
              
    # adding errors
    if with_errors            
      errors = {}
      errors.each do |name, list|
        errors[name.to_s] = list
      end
      hash['errors'] = errors unless errors.empty?
    end
    
    hash
  end
  
  module ClassMethods
    delegate :t, to: I18n
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rad_kit-0.0.6 lib/kit/mongoid/rad_micelaneous.rb
rad_kit-0.0.5 lib/kit/mongoid/rad_micelaneous.rb
rad_kit-0.0.4 lib/kit/mongoid/rad_micelaneous.rb
rad_kit-0.0.3 lib/kit/mongoid/rad_micelaneous.rb
rad_kit-0.0.2 lib/kit/mongoid/rad_micelaneous.rb
rad_kit-0.0.1 lib/kit/mongoid/rad_micelaneous.rb