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
# ––––––––––––––––