1
0
Fork 0
mirror of https://github.com/awesome-print/awesome_print synced 2023-03-27 23:22:34 -04:00

order keys alphabetically, fixes specs for ruby 1.8 & 1.9

This commit is contained in:
fuJiin 2011-05-06 12:29:06 -07:00
parent 3efefd1f29
commit 9c9ae6e258
2 changed files with 7 additions and 7 deletions

View file

@ -31,7 +31,7 @@ module AwesomePrintMongoMapper
def awesome_mongo_mapper_instance(object) def awesome_mongo_mapper_instance(object)
return object.inspect if !defined?(ActiveSupport::OrderedHash) return object.inspect if !defined?(ActiveSupport::OrderedHash)
data = object.keys.keys.inject(ActiveSupport::OrderedHash.new) do |hash, name| data = object.keys.keys.sort_by{|k| k}.inject(ActiveSupport::OrderedHash.new) do |hash, name|
hash[name] = object[name] hash[name] = object[name]
hash hash
end end
@ -43,7 +43,7 @@ module AwesomePrintMongoMapper
def awesome_mongo_mapper_class(object) def awesome_mongo_mapper_class(object)
return object.inspect if !defined?(ActiveSupport::OrderedHash) || !object.respond_to?(:keys) return object.inspect if !defined?(ActiveSupport::OrderedHash) || !object.respond_to?(:keys)
data = object.keys.inject(ActiveSupport::OrderedHash.new) do |hash, c| data = object.keys.sort_by{|k| k}.inject(ActiveSupport::OrderedHash.new) do |hash, c|
hash[c.first] = (c.last.type || "undefined").to_s.underscore.intern hash[c.first] = (c.last.type || "undefined").to_s.underscore.intern
hash hash
end end

View file

@ -4,7 +4,7 @@ begin
require "mongo_mapper" require "mongo_mapper"
require "ap/mixin/mongo_mapper" require "ap/mixin/mongo_mapper"
if defined?(MongoMapper) if defined?(::MongoMapper)
class User class User
include MongoMapper::Document include MongoMapper::Document
@ -23,8 +23,8 @@ begin
str = <<-EOS.strip str = <<-EOS.strip
#<User:0x01234567> { #<User:0x01234567> {
"_id" => BSON::ObjectId('4d9183739a546f6806000001'), "_id" => BSON::ObjectId('4d9183739a546f6806000001'),
"last_name" => "Capone", "first_name" => "Al",
"first_name" => "Al" "last_name" => "Capone"
} }
EOS EOS
out.gsub!(/'([\w]+){23}'/, "'4d9183739a546f6806000001'") out.gsub!(/'([\w]+){23}'/, "'4d9183739a546f6806000001'")
@ -36,8 +36,8 @@ EOS
@ap.send(:awesome, User).should == <<-EOS.strip @ap.send(:awesome, User).should == <<-EOS.strip
class User < Object { class User < Object {
"_id" => :object_id, "_id" => :object_id,
"last_name" => :string, "first_name" => :string,
"first_name" => :string "last_name" => :string
} }
EOS EOS
end end