Skip to content

Commit 317ca72

Browse files
committed
added Resource#sync, experimental
1 parent 547dda1 commit 317ca72

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

lib/esdb/resource.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,19 @@ def get!(*args)
4040
@response = get(*args)
4141
end
4242

43+
# A kind of find_or_create - experimental.
44+
# For example identities should be created and returned if sufficient
45+
# identifying data is submitted, but no identity is found.
46+
# A little HAX'ish right now, need to decide on naming/exact functionality
47+
def self.sync(attrs = {})
48+
# TODO: I miss reverse_merge!
49+
attrs[:access_token] = ESDB.api_key if ESDB.api_key
50+
51+
resource = self.new(nil, {headers: {params: {id: 'find', create: true}.merge(attrs)}})
52+
resource.get!
53+
resource
54+
end
55+
4356
def self.from_hash(hash)
4457
resource = self.new
4558
resource.response = hash

0 commit comments

Comments
 (0)