docs/LoggableActivity/Payload.html in loggable_activity-0.1.56 vs docs/LoggableActivity/Payload.html in loggable_activity-0.1.58
- old
+ new
@@ -75,13 +75,15 @@
<li ><a href="#method-i-attrs">#attrs</a>
<li ><a href="#method-i-decrypt_attr">#decrypt_attr</a>
<li ><a href="#method-i-decrypted_attrs">#decrypted_attrs</a>
<li ><a href="#method-i-decrypted_from_to_attr">#decrypted_from_to_attr</a>
<li ><a href="#method-i-decrypted_update_attrs">#decrypted_update_attrs</a>
+ <li ><a href="#method-i-deleted-3F">#deleted?</a>
<li ><a href="#method-i-deleted_attrs">#deleted_attrs</a>
- <li ><a href="#method-i-payload_encryption_key">#payload_encryption_key</a>
<li ><a href="#method-i-payload_route">#payload_route</a>
+ <li ><a href="#method-i-record_display_name">#record_display_name</a>
+ <li ><a href="#method-i-secret_key">#secret_key</a>
</ul>
</div>
</div>
</nav>
@@ -98,10 +100,21 @@
</section>
<section id="5Buntitled-5D" class="documentation-section">
+ <section class="constants-list">
+ <header>
+ <h3>Constants</h3>
+ </header>
+ <dl>
+ <dt id="DECRYPT_ATTRS_TYPES">DECRYPT_ATTRS_TYPES
+ <dd><p>Enumeration for different payload types</p>
+ <dt id="DECRYPT_UPDATE_ATTRS_TYPES">DECRYPT_UPDATE_ATTRS_TYPES
+ <dd><p>Enumeration for different updatepayload types</p>
+ </dl>
+ </section>
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
<header>
@@ -116,69 +129,130 @@
<span class="method-click-advice">click to toggle source</span>
</div>
</div>
<div class="method-description">
- <p>Returns the decrypted attributes of the payload based on its type.</p>
+ <p>Returns the decrypted attrs.</p>
<p>@return [Hash] The decrypted attributes.</p>
<p>Example:</p>
<pre>payload.attrs
Returns:
-{
- "street" => "Machu Picchu",
- "city" => "Aguas Calientes",
- "country" => "Peru",
- "postal_code" => "08680"
-}</pre>
+{ "street" => "Machu Picchu", "city" => "Cusco" }</pre>
<div class="method-source-code" id="attrs-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 42</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 64</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">attrs</span>
<span class="ruby-keyword">return</span> <span class="ruby-identifier">deleted_attrs</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">record</span>.<span class="ruby-identifier">nil?</span>
- <span class="ruby-keyword">case</span> <span class="ruby-identifier">payload_type</span>
- <span class="ruby-keyword">when</span> <span class="ruby-string">'current_association'</span>, <span class="ruby-string">'primary_payload'</span>, <span class="ruby-string">'previous_association'</span>
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">related_to_activity_as</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-operator">*</span><span class="ruby-constant">DECRYPT_ATTRS_TYPES</span>
<span class="ruby-identifier">decrypted_attrs</span>
- <span class="ruby-keyword">when</span> <span class="ruby-string">'update_payload'</span>
+ <span class="ruby-keyword">when</span> <span class="ruby-operator">*</span><span class="ruby-constant">DECRYPT_UPDATE_ATTRS_TYPES</span>
<span class="ruby-identifier">decrypted_update_attrs</span>
+ <span class="ruby-keyword">else</span>
+ {}
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
+ <div id="method-i-deleted-3F" class="method-detail ">
+ <div class="method-header">
+ <div class="method-heading">
+ <span class="method-name">deleted?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+ </div>
+
+ <div class="method-description">
+ <p>Check if the record has been deleted.</p>
+
+<p>@return [Boolean] True if the record has been deleted.</p>
+
+ <div class="method-source-code" id="deleted-3F-source">
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 104</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deleted?</span>
+ <span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">deleted?</span>
+<span class="ruby-keyword">end</span></pre>
+ </div>
+ </div>
+
+
+ </div>
+
<div id="method-i-payload_route" class="method-detail ">
<div class="method-header">
<div class="method-heading">
<span class="method-name">payload_route</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
</div>
<div class="method-description">
- <p>Returns the route for the payload.</p>
+ <p>Returns the route for the payload unless the encryption_key is deleted.</p>
+<p>Example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">payload</span>.<span class="ruby-identifier">payload_route</span>
+</pre>
+
+<p>@return [String] The route for the payload.</p>
+
<div class="method-source-code" id="payload_route-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 54</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 83</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">payload_route</span>
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">payload_encryption_key</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-string">''</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">deleted?</span>
<span class="ruby-identifier">route</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
+ <div id="method-i-record_display_name" class="method-detail ">
+ <div class="method-header">
+ <div class="method-heading">
+ <span class="method-name">record_display_name</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+ </div>
+ </div>
+
+ <div class="method-description">
+ <p>Returns the display name for the record.</p>
+
+<p>Example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">payload</span>.<span class="ruby-identifier">record_display_name</span>
+</pre>
+
+<p>@return [String] The display name for the record.</p>
+
+ <div class="method-source-code" id="record_display_name-source">
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 95</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">record_display_name</span>
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">'loggable.activity.deleted'</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">deleted?</span>
+
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">encrypted_record_name</span>, <span class="ruby-identifier">secret_key</span>)
+<span class="ruby-keyword">end</span></pre>
+ </div>
+ </div>
+
+
+ </div>
+
</section>
<section id="private-instance-5Buntitled-5D-method-details" class="method-section">
<header>
<h3>Private Instance Methods</h3>
@@ -197,13 +271,14 @@
<p>Decrypts a single attribute.</p>
<p>@param value [String] The encrypted value to decrypt. @return [String] The decrypted value.</p>
<div class="method-source-code" id="decrypt_attr-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 110</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 159</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypt_attr</span>(<span class="ruby-identifier">value</span>)
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">payload_encryption_key</span>)
+ <span class="ruby-comment"># return 'loggable_activity.attr.deleted' if secret_key.nil?</span>
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">secret_key</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
@@ -222,11 +297,11 @@
<p>Decrypts all attributes.</p>
<p>@return [Hash] The decrypted attributes.</p>
<div class="method-source-code" id="decrypted_attrs-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 100</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 149</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_attrs</span>
<span class="ruby-identifier">encrypted_attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">encrypted_attrs</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">decrypt_attr</span>(<span class="ruby-identifier">value</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
@@ -249,11 +324,11 @@
<p>Decrypts ‘from’ and ‘to’ attributes.</p>
<p>@param change [Hash] The change hash containing ‘from’ and ‘to’ values. @return [Hash] The decrypted ‘from’ and ‘to’ values.</p>
<div class="method-source-code" id="decrypted_from_to_attr-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 89</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 138</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
<span class="ruby-identifier">change</span>.<span class="ruby-identifier">to_h</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">from</span> = <span class="ruby-identifier">decrypt_attr</span>(<span class="ruby-identifier">value</span>[<span class="ruby-string">'from'</span>])
<span class="ruby-identifier">to</span> = <span class="ruby-identifier">decrypt_attr</span>(<span class="ruby-identifier">value</span>[<span class="ruby-string">'to'</span>])
[<span class="ruby-identifier">key</span>, { <span class="ruby-value">from:</span>, <span class="ruby-value">to:</span> }]
@@ -278,12 +353,13 @@
<p>Decrypts the ‘from’ and ‘to’ attributes in the update payload.</p>
<p>@return [Array<Hash>] The array of decrypted changes.</p>
<div class="method-source-code" id="decrypted_update_attrs-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 79</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 127</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_update_attrs</span>
+ <span class="ruby-comment"># return encrypted_attrs</span>
<span class="ruby-identifier">encrypted_attrs</span>[<span class="ruby-string">'changes'</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">change</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -305,37 +381,37 @@
<p>Helper method to handle deleted attributes.</p>
<p>@return [Hash] The hash with deleted attributes.</p>
<div class="method-source-code" id="deleted_attrs-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 72</span>
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 120</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deleted_attrs</span>
<span class="ruby-identifier">encrypted_attrs</span>.<span class="ruby-identifier">transform_values!</span> { <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">'loggable.activity.deleted'</span>) }
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
- <div id="method-i-payload_encryption_key" class="method-detail ">
+ <div id="method-i-secret_key" class="method-detail ">
<div class="method-header">
<div class="method-heading">
- <span class="method-name">payload_encryption_key</span><span
+ <span class="method-name">secret_key</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
</div>
<div class="method-description">
<p>Retrieves the encryption key for the payload.</p>
<p>@return [String, nil] The encryption key.</p>
- <div class="method-source-code" id="payload_encryption_key-source">
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 65</span>
-<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">payload_encryption_key</span>
- <span class="ruby-ivar">@payload_encryption_key</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-identifier">record</span>)&.<span class="ruby-identifier">key</span>
+ <div class="method-source-code" id="secret_key-source">
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 113</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">secret_key</span>
+ <span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">secret_key</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>