Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 1323cab6b89f7da46eae4ec745a30cb7 > files > 26

ruby-transaction-simple-1.3.0-2mdv2008.1.noarch.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
  <title>commit_transaction (Transaction::Simple)</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
</head>
<body class="standalone-code">
  <pre>     <span class="ruby-comment cmt"># File lib/transaction/simple.rb, line 462</span>
462:     <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">commit_transaction</span>(<span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>)
463:       <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@__transaction_checkpoint__</span>.<span class="ruby-identifier">nil?</span>
464:         <span class="ruby-identifier">raise</span> <span class="ruby-constant">TransactionError</span>, <span class="ruby-constant">Messages</span>[<span class="ruby-identifier">:cannot_commit_no_transaction</span>]
465:       <span class="ruby-keyword kw">end</span>
466:       <span class="ruby-ivar">@__transaction_block__</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">nil</span>
467: 
468:         <span class="ruby-comment cmt"># Check to see if we are trying to commit a transaction that is</span>
469:         <span class="ruby-comment cmt"># outside of the current transaction block. Otherwise, raise</span>
470:         <span class="ruby-comment cmt"># TransactionCommitted if they are the same.</span>
471:       <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@__transaction_block__</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">name</span>
472:         <span class="ruby-identifier">nix</span> = <span class="ruby-ivar">@__transaction_names__</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
473:         <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nix</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@__transaction_block__</span>
474:           <span class="ruby-identifier">raise</span> <span class="ruby-constant">TransactionError</span>, <span class="ruby-constant">Messages</span>[<span class="ruby-identifier">:cannot_commit_transaction_before_block</span>]
475:         <span class="ruby-keyword kw">end</span>
476: 
477:         <span class="ruby-identifier">raise</span> <span class="ruby-constant">TransactionCommitted</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@__transaction_block__</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">nix</span>
478:       <span class="ruby-keyword kw">end</span>
479: 
480:       <span class="ruby-identifier">raise</span> <span class="ruby-constant">TransactionCommitted</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@__transaction_block__</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@__transaction_level__</span>
481: 
482:       <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span>
483:         <span class="ruby-identifier">ss</span> = <span class="ruby-value str">&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debugging?</span>
484:         <span class="ruby-identifier">__commit_transaction</span>
485:         <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debugging?</span>
486:           <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debug_io</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{'&lt;' * @__transaction_level__} &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
487:             <span class="ruby-node">&quot;Commit Transaction#{ss}\n&quot;</span>
488:         <span class="ruby-keyword kw">end</span>
489:       <span class="ruby-keyword kw">else</span>
490:         <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@__transaction_names__</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
491:           <span class="ruby-identifier">raise</span> <span class="ruby-constant">TransactionError</span>, <span class="ruby-constant">Messages</span>[<span class="ruby-identifier">:cannot_commit_named_transaction</span>] <span class="ruby-operator">%</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">inspect</span>
492:         <span class="ruby-keyword kw">end</span>
493:         <span class="ruby-identifier">ss</span> = <span class="ruby-node">&quot;(#{name})&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debugging?</span>
494: 
495:         <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@__transaction_names__</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">name</span>
496:           <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debugging?</span>
497:             <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debug_io</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{'&lt;' * @__transaction_level__} &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
498:               <span class="ruby-node">&quot;Commit Transaction#{ss}\n&quot;</span>
499:           <span class="ruby-keyword kw">end</span>
500:           <span class="ruby-identifier">__commit_transaction</span>
501:         <span class="ruby-keyword kw">end</span>
502:         <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debugging?</span>
503:           <span class="ruby-constant">Transaction</span><span class="ruby-operator">::</span><span class="ruby-constant">Simple</span>.<span class="ruby-identifier">debug_io</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{'&lt;' * @__transaction_level__} &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
504:             <span class="ruby-node">&quot;Commit Transaction#{ss}\n&quot;</span>
505:         <span class="ruby-keyword kw">end</span>
506:         <span class="ruby-identifier">__commit_transaction</span>
507:       <span class="ruby-keyword kw">end</span>
508: 
509:       <span class="ruby-keyword kw">self</span>
510:     <span class="ruby-keyword kw">end</span></pre>
</body>
</html>