lib/gummi/db_layer/document.rb in gummi-0.3.4 vs lib/gummi/db_layer/document.rb in gummi-0.3.5

- old
+ new

@@ -27,10 +27,17 @@ get! *args rescue ::Elasticsearch::Transport::Transport::Errors::NotFound nil end + def delete(*args) + delete! *args + rescue ::Elasticsearch::Transport::Transport::Errors::NotFound + nil + end + + def delete_children_by_query(parent_id, children_query) parent_id_query = { term: { _parent: parent_id } } query = { bool: { must: [parent_id_query, children_query] } } delete_by_query query end @@ -151,9 +158,20 @@ elsif parent_document_type raise ArgumentError, "The parent_id attribute is required for getting #{name} from Elastic Search" end response = Hashie::Mash.new client.get options hit_to_document response + end + + def delete!(id, parent_id = nil) + options = { index: index.name, type: document_type, id: id } + if parent_id + options.merge! parent: parent_id + elsif parent_document_type + raise ArgumentError, "The parent_id attribute is required for getting #{name} from Elastic Search" + end + response = Hashie::Mash.new client.delete options + response.ok && response.found end end # ––––––––––––––––