Class: Hash
Overview
Module
Direct Known Subclasses
Instance Method Summary collapse
-
#from_orient ⇒ Object
converts hash from db to activeorient.
- #to_human ⇒ Object
-
#to_or ⇒ Object
converts a hash to a string appropiate to include in raw queries.
-
#to_orient ⇒ Object
converts :abc => anything to “abc” => anything converts nn => anything to nn => anything.
Instance Method Details
#from_orient ⇒ Object
converts hash from db to activeorient
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
# File 'lib/other.rb', line 295 def from_orient #puts "here hash.from_orient --> #{self.inspect}" if keys.include?("@class" ) ActiveOrient::Model.orientdb_class( name: self["@class"] ).new self # create a dummy class and fill with attributes from result-set elsif keys.include?("@type") && self["@type"] == 'd' ActiveOrient::Model.orientdb_class(name: 'query' ).new self else # populate the hash by converting keys: stings to symbols, values: proprocess through :from_orient map do |k,v| orient_k = if k.to_s.to_i.to_s == k.to_s k.to_i else k.to_sym end [orient_k, v.from_orient] end.to_h end end |
#to_human ⇒ Object
293 294 295 |
# File 'lib/support/orient.rb', line 293 def to_human "{ " + self.map{ |k,v| [k.to_s,": ", v.to_orient].join }.join(', ') + " }" end |
#to_or ⇒ Object
converts a hash to a string appropiate to include in raw queries
317 318 319 |
# File 'lib/other.rb', line 317 def to_or "{ " + to_orient.map{|k,v| "#{k.to_or}: #{v.to_or}"}.join(',') + "}" end |
#to_orient ⇒ Object
converts :abc => anything to “abc” => anything
converts nn => anything to nn => anything
leaves “abc” => anything untouched
278 279 280 281 282 283 284 285 286 287 288 289 290 |
# File 'lib/other.rb', line 278 def to_orient # converts hast from activeorient to db map do | k, v| orient_k = case k when Numeric k when Symbol, String k.to_s else raise "not supported key: #[k} -- must a sting, symbol or number" end [orient_k, v.to_orient] end.to_h end |