lib/ripple/inspection.rb in ripple-0.9.5 vs lib/ripple/inspection.rb in ripple-1.0.0.beta
- old
+ new
@@ -1,26 +1,32 @@
-# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
require 'ripple'
module Ripple
# Makes IRB and other inspect output a bit friendlier
module Inspection
+
# A human-readable version of the {Ripple::Document} or {Ripple::EmbeddedDocument}
+ # plus attributes
def inspect
attribute_list = attributes_for_persistence.except("_type").map {|k,v| "#{k}=#{v.inspect}" }.join(' ')
- identifier = self.class.embeddable? ? "" : ":#{key || '[new]'}"
- "<#{self.class.name}#{identifier} #{attribute_list}>"
+ inspection_string(attribute_list)
end
+
+ # A string representation of the {Ripple::Document} or {Ripple::EmbeddedDocument}
+ def to_s
+ inspection_string
+ end
+
+ private
+
+ def inspection_string(extra = nil)
+ body = self.class.name + persistance_identifier
+ body += " #{extra}" if extra
+ "<#{body}>"
+ end
+
+ def persistance_identifier
+ self.class.embeddable? ? "" : ":#{key || '[new]'}"
+ end
+
end
end