doc/SycLink/Website.html in syclink-0.1.1 vs doc/SycLink/Website.html in syclink-0.1.2

- old
+ new

@@ -69,10 +69,14 @@ <li><a class="include" href="Exporter.html">SycLink::Exporter</a> + + <li><a class="include" href="Formatter.html">SycLink::Formatter</a> + + </ul> </div> <!-- Method Quickref --> @@ -87,16 +91,26 @@ <li ><a href="#method-i-find_links">#find_links</a> <li ><a href="#method-i-link_attribute_list">#link_attribute_list</a> + <li ><a href="#method-i-links_duplicate_on">#links_duplicate_on</a> + <li ><a href="#method-i-links_group_by">#links_group_by</a> + <li ><a href="#method-i-links_group_by_separated">#links_group_by_separated</a> + <li ><a href="#method-i-list_links">#list_links</a> + <li ><a href="#method-i-merge_links_on">#merge_links_on</a> + <li ><a href="#method-i-remove_link">#remove_link</a> + <li ><a href="#method-i-report_links_availability">#report_links_availability</a> + + <li ><a href="#method-i-rows">#rows</a> + </ul> </div> </div> </nav> @@ -185,11 +199,11 @@ <div class="method-source-code" id="new-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 20</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 22</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">title</span> = <span class="ruby-string">&quot;Link List&quot;</span>) <span class="ruby-ivar">@links</span> = [] <span class="ruby-ivar">@title</span> = <span class="ruby-identifier">title</span> <span class="ruby-keyword">end</span></pre> </div> @@ -227,11 +241,11 @@ <div class="method-source-code" id="add_link-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 26</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 28</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_link</span>(<span class="ruby-identifier">link</span>) <span class="ruby-identifier">links</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">link</span> <span class="ruby-keyword">end</span></pre> </div> @@ -260,11 +274,11 @@ <div class="method-source-code" id="find_links-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 45</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 53</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">find_links</span>(<span class="ruby-identifier">search</span>) <span class="ruby-identifier">links</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">contains?</span> <span class="ruby-identifier">search</span> } <span class="ruby-keyword">end</span></pre> </div> @@ -278,11 +292,11 @@ <div id="method-i-link_attribute_list" class="method-detail "> <div class="method-heading"> <span class="method-name">link_attribute_list</span><span - class="method-args">(attribute)</span> + class="method-args">(attribute, separator = nil)</span> <span class="method-click-advice">click to toggle source</span> </div> @@ -293,13 +307,13 @@ <div class="method-source-code" id="link_attribute_list-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 57</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">link_attribute_list</span>(<span class="ruby-identifier">attribute</span>) - <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">attribute</span>) }.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 106</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">link_attribute_list</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">separator</span> = <span class="ruby-keyword">nil</span>) + <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">attribute</span>).<span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator</span>)}.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span> <span class="ruby-keyword">end</span></pre> </div> </div> @@ -307,32 +321,72 @@ </div> + <div id="method-i-links_duplicate_on" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">links_duplicate_on</span><span + class="method-args">(attribute, separator)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Create multiple Links based on the attribute provided. The specified +spearator will splitt the attribute value in distinct values and for each +different value a <a href="Link.html">Link</a> will be created</p> + + + + + <div class="method-source-code" id="links_duplicate_on-source"> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 92</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">links_duplicate_on</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">separator</span>) + <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">link</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">attribute</span>).<span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator</span>).<span class="ruby-identifier">collect</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">link</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">update</span>(<span class="ruby-constant">Hash</span>[<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">value</span>]) + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span>.<span class="ruby-identifier">flatten</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-links_group_by" class="method-detail "> <div class="method-heading"> <span class="method-name">links_group_by</span><span - class="method-args">(attribute)</span> + class="method-args">(attribute, linkz = links)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> - <p>Groups the links on the provided attribute</p> + <p>Groups the links on the provided attribute. If no links array is provided +the links from self are used</p> <div class="method-source-code" id="links_group_by-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 50</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">links_group_by</span>(<span class="ruby-identifier">attribute</span>) - <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> { <span class="ruby-identifier">key</span><span class="ruby-operator">:</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">attribute</span>), <span class="ruby-identifier">link</span><span class="ruby-operator">:</span> <span class="ruby-identifier">link</span> } } + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 76</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">links_group_by</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">linkz</span> = <span class="ruby-identifier">links</span>) + <span class="ruby-identifier">linkz</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> { <span class="ruby-identifier">key</span><span class="ruby-operator">:</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">attribute</span>), <span class="ruby-identifier">link</span><span class="ruby-operator">:</span> <span class="ruby-identifier">link</span> } } .<span class="ruby-identifier">group_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">:key</span>] } .<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>[<span class="ruby-value">:link</span>] }} <span class="ruby-keyword">end</span></pre> </div> @@ -342,10 +396,45 @@ </div> + <div id="method-i-links_group_by_separated" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">links_group_by_separated</span><span + class="method-args">(attribute, separator)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Groups the links on the provided attribute. If the attribute&#39;s value +contains the provided separator, the value is split up and each of the +values is used as group key</p> + + + + + <div class="method-source-code" id="links_group_by_separated-source"> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 85</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">links_group_by_separated</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">separator</span>) + <span class="ruby-identifier">links_group_by</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">links_duplicate_on</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">separator</span>)) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-list_links" class="method-detail "> <div class="method-heading"> <span class="method-name">list_links</span><span class="method-args">(args = {})</span> @@ -361,11 +450,11 @@ <div class="method-source-code" id="list_links-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 36</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 38</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">list_links</span>(<span class="ruby-identifier">args</span> = {}) <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-identifier">links</span> <span class="ruby-keyword">else</span> <span class="ruby-identifier">links</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">match?</span> <span class="ruby-identifier">args</span> } @@ -379,10 +468,55 @@ </div> + <div id="method-i-merge_links_on" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">merge_links_on</span><span + class="method-args">(attribute, concat_string = ',')</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Merge links based on the provided attribue to one link by combining the +values. The first link will be updated and the obsolete links are deleted +and will be returned</p> + + + + + <div class="method-source-code" id="merge_links_on-source"> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 60</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">merge_links_on</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">concat_string</span> = <span class="ruby-string">&#39;,&#39;</span>) + <span class="ruby-identifier">links_group_by</span>(<span class="ruby-identifier">attribute</span>) + .<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">link_list</span><span class="ruby-operator">|</span> <span class="ruby-identifier">links</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> } + .<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">link_list</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">merge_attributes</span> = <span class="ruby-constant">Link</span><span class="ruby-operator">::</span><span class="ruby-constant">ATTRS</span> <span class="ruby-operator">-</span> [<span class="ruby-identifier">attribute</span>] + <span class="ruby-identifier">link_list</span>.<span class="ruby-identifier">first</span> + .<span class="ruby-identifier">update</span>(<span class="ruby-constant">Hash</span>[<span class="ruby-identifier">extract_columns</span>(<span class="ruby-identifier">link_list</span>, <span class="ruby-identifier">merge_attributes</span>) + .<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">concat_string</span>) } + .<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">merge_attributes</span>.<span class="ruby-identifier">shift</span>, <span class="ruby-identifier">v</span>] }]) + <span class="ruby-identifier">link_list</span>.<span class="ruby-identifier">shift</span> + <span class="ruby-identifier">link_list</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">links</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">link</span>) } + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-remove_link" class="method-detail "> <div class="method-heading"> <span class="method-name">remove_link</span><span class="method-args">(link)</span> @@ -398,12 +532,79 @@ <div class="method-source-code" id="remove_link-source"> - <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 31</span> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 33</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_link</span>(<span class="ruby-identifier">link</span>) <span class="ruby-identifier">links</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">link</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-report_links_availability" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">report_links_availability</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Check availability of links. Returns the links&#39; url with code +&#39;200&#39; if reachable other wise with code &#39;Error&#39;.</p> + + + + + <div class="method-source-code" id="report_links_availability-source"> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 48</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">report_links_availability</span> + <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">link</span>.<span class="ruby-identifier">url</span>, <span class="ruby-identifier">link</span>.<span class="ruby-identifier">response</span>] } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-rows" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">rows</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Return an array of all link values as rows</p> + + + + + <div class="method-source-code" id="rows-source"> + <pre><span class="ruby-comment"># File lib/syclink/website.rb, line 101</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">rows</span> + <span class="ruby-identifier">links</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">link</span><span class="ruby-operator">|</span> <span class="ruby-identifier">link</span>.<span class="ruby-identifier">row</span> } <span class="ruby-keyword">end</span></pre> </div> </div>