Module: Hypostasis::DataModels::Document
- Defined in:
- lib/hypostasis/data_models/document.rb
Instance Method Summary collapse
- #for_document(document, id = nil) ⇒ Object
- #for_field(document, field, type) ⇒ Object
- #for_index(document, field_name, value) ⇒ Object
- #transact ⇒ Object
Instance Method Details
#for_document(document, id = nil) ⇒ Object
8 9 10 11 12 |
# File 'lib/hypostasis/data_models/document.rb', line 8 def for_document(document, id = nil) class_name = document.is_a?(Class) ? document.to_s : document.class.to_s document_id = id.nil? ? document.id.to_s : id.to_s name.to_s + '\\' + Hypostasis::Tuple.new(class_name, document_id).to_s end |
#for_field(document, field, type) ⇒ Object
14 15 16 |
# File 'lib/hypostasis/data_models/document.rb', line 14 def for_field(document, field, type) for_document(document) + '\\' + Hypostasis::Tuple.new(field.to_s, type.to_s).to_s end |
#for_index(document, field_name, value) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/hypostasis/data_models/document.rb', line 18 def for_index(document, field_name, value) class_name = document.is_a?(Class) ? document.to_s : document.class.to_s index_path = Hypostasis::Tuple.new('indexes', class_name).to_s value = value.to_s unless value.is_a?(Fixnum) || value.is_a?(Bignum) if document.is_a?(Class) field_path = Hypostasis::Tuple.new(field_name.to_s, value).to_s else field_path = Hypostasis::Tuple.new(field_name.to_s, value, document.id.to_s).to_s end name.to_s + '\\' + index_path + '\\' + field_path end |
#transact ⇒ Object
2 3 4 5 6 |
# File 'lib/hypostasis/data_models/document.rb', line 2 def transact database.transact do |tr| yield tr end end |