Skip to content

Commit

Permalink
Fixes function creation
Browse files Browse the repository at this point in the history
  • Loading branch information
yokolet committed Apr 26, 2014
1 parent aba1c74 commit c95d2dc
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 19 deletions.
15 changes: 4 additions & 11 deletions lib/diametric/bucket.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
module Diametric
module Persistence
module Peer
end
end
end

module Diametric
class Bucket
def initialize
Expand Down Expand Up @@ -47,12 +40,12 @@ def tx_data
end

def save(conn=nil)
if @entity_class.ancestors.include?(Diametric::Persistence::Peer)
conn ||= Diametric::Persistence::Peer.connect
conn.transact(tx_data).get
else
if @entity_class.ancestors.include?(Diametric::Persistence::REST)
conn ||= Diametric::Persistence::REST.connection
conn.transact(Diametric::Persistence::REST.database, tx_data)
else
conn ||= Diametric::Persistence::Peer.connect
conn.transact(tx_data).get
end
@tempids = Array.new
@holder = Hash.new
Expand Down
9 changes: 4 additions & 5 deletions lib/diametric/persistence/function.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@ class Function
# connection)
#
# @return result of the updated entity.
def self.create(function_map, conn=nil)
if Diametric::Persistence::REST.connection
self.extend(Diametric::Persistence::RestFunction)
elsif Diametric::Persistence::Peer.connect
def self.create(function_map, conn)
if conn && conn.is_a?(Diametric::Persistence::Connection)
self.extend(Diametric::Persistence::PeerFunction)
else
raise RuntimeError 'Connection is not established'
conn = Diametric::Persistence::REST.connection
self.extend(Diametric::Persistence::RestFunction)
end
self.create_function(function_map, conn)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/diametric/persistence/peer_function.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def create_function(function_map, conn=nil)
if doc
schema.merge!({:"db/doc" => doc})
end
conn.transact([schema]).get
result = conn.transact([schema]).get
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions spec/diametric/function_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,13 @@
end

it "can create and save transaction funcrion" do
result = Diametric::Persistence::Function.create(inc_fn)
result = Diametric::Persistence::Function.create(inc_fn, nil)
result.should_not be_nil
end

context "with saved transaction function" do
before do
Diametric::Persistence::Function.create(inc_fn)
Diametric::Persistence::Function.create(inc_fn, nil)
end

it "can be added to an entity and run" do
Expand Down

0 comments on commit c95d2dc

Please sign in to comment.