class PikoStore::BaseDocument
Public Class Methods
new(data)
click to toggle source
# File lib/piko_store/base_document.rb, line 27 def initialize(data) @data = data logger.debug { format "%s", to_h } end
Public Instance Methods
id()
click to toggle source
# File lib/piko_store/base_document.rb, line 32 def id raise NotImplementedError end
to_h()
click to toggle source
# File lib/piko_store/base_document.rb, line 36 def to_h raise NotImplementedError end
to_hash()
click to toggle source
# File lib/piko_store/base_document.rb, line 40 def to_hash to_h end
to_s()
click to toggle source
# File lib/piko_store/base_document.rb, line 44 def to_s to_h.to_s end
Private Instance Methods
converted_id()
click to toggle source
# File lib/piko_store/base_document.rb, line 58 def converted_id to_objectid_if_needed(id_from_data) end
data_with_converted_id()
click to toggle source
# File lib/piko_store/base_document.rb, line 74 def data_with_converted_id return data_without_id if id.nil? && !id_in_data? data_without_id.merge(_id: id) end
data_without_id()
click to toggle source
# File lib/piko_store/base_document.rb, line 66 def data_without_id @data.reject { |k, _| ["_id", :_id].include?(k) } end
generated_id()
click to toggle source
# File lib/piko_store/base_document.rb, line 62 def generated_id BSON::ObjectId.new end
id_from_data()
click to toggle source
# File lib/piko_store/base_document.rb, line 54 def id_from_data @data[:_id] || @data["_id"] end
id_in_data?()
click to toggle source
# File lib/piko_store/base_document.rb, line 70 def id_in_data? @data.key?(:_id) || @data.key?("_id") end
to_objectid_if_needed(id)
click to toggle source
# File lib/piko_store/base_document.rb, line 50 def to_objectid_if_needed(id) BSON::ObjectId.legal?(id) ? BSON::ObjectId(id) : id end