Added: dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,130 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>module Buildr::Eclipse::Plugin - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../../"; +</script> + +<script src="../../js/jquery.js"></script> +<script src="../../js/darkfish.js"></script> + +<link href="../../css/fonts.css" rel="stylesheet"> +<link href="../../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="module"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../../table_of_contents.html#pages">Pages</a> + <a href="../../table_of_contents.html#classes">Classes</a> + <a href="../../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + + <div id="includes-section" class="nav-section"> + <h3>Included Modules</h3> + + <ul class="link-list"> + + + <li><a class="include" href="../Extension.html">Buildr::Extension</a> + + + </ul> +</div> + + + + </div> +</nav> + +<main role="main" aria-labelledby="module-Buildr::Eclipse::Plugin"> + <h1 id="module-Buildr::Eclipse::Plugin" class="module"> + module Buildr::Eclipse::Plugin + </h1> + + <section class="description"> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + <section class="constants-list"> + <header> + <h3>Constants</h3> + </header> + <dl> + + <dt id="BUILDERS">BUILDERS + + <dd> + + + <dt id="CONTAINER">CONTAINER + + <dd> + + + <dt id="NATURE">NATURE + + <dd> + + + </dl> + </section> + + + + + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> +
Added: dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,130 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>module Buildr::Eclipse::Scala - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../../"; +</script> + +<script src="../../js/jquery.js"></script> +<script src="../../js/darkfish.js"></script> + +<link href="../../css/fonts.css" rel="stylesheet"> +<link href="../../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="module"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../../table_of_contents.html#pages">Pages</a> + <a href="../../table_of_contents.html#classes">Classes</a> + <a href="../../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + + <div id="includes-section" class="nav-section"> + <h3>Included Modules</h3> + + <ul class="link-list"> + + + <li><a class="include" href="../Extension.html">Buildr::Extension</a> + + + </ul> +</div> + + + + </div> +</nav> + +<main role="main" aria-labelledby="module-Buildr::Eclipse::Scala"> + <h1 id="module-Buildr::Eclipse::Scala" class="module"> + module Buildr::Eclipse::Scala + </h1> + + <section class="description"> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + <section class="constants-list"> + <header> + <h3>Constants</h3> + </header> + <dl> + + <dt id="BUILDER">BUILDER + + <dd> + + + <dt id="CONTAINER">CONTAINER + + <dd> + + + <dt id="NATURE">NATURE + + <dd> + + + </dl> + </section> + + + + + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> + Added: dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,325 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>module Buildr::Emma - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../"; +</script> + +<script src="../js/jquery.js"></script> +<script src="../js/darkfish.js"></script> + +<link href="../css/fonts.css" rel="stylesheet"> +<link href="../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="module"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../table_of_contents.html#pages">Pages</a> + <a href="../table_of_contents.html#classes">Classes</a> + <a href="../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + + + + <!-- Method Quickref --> +<div id="method-list-section" class="nav-section"> + <h3>Methods</h3> + + <ul class="link-list" role="directory"> + + <li ><a href="#method-c-ant">::ant</a> + + <li ><a href="#method-c-data_file">::data_file</a> + + <li ><a href="#method-c-dependencies">::dependencies</a> + + <li ><a href="#method-c-report_to">::report_to</a> + + <li ><a href="#method-c-version">::version</a> + + </ul> +</div> + + </div> +</nav> + +<main role="main" aria-labelledby="module-Buildr::Emma"> + <h1 id="module-Buildr::Emma" class="module"> + module Buildr::Emma + </h1> + + <section class="description"> + +<p>Provides the <code>emma:html</code> and <code>emma:xml</code> tasks. +Require explicitly using <code>require "buildr/emma"</code>.</p> + +<p>You can generate emma reports for a single project using the project name +as prefix:</p> + +<pre>project_name:emma:html</pre> + +<p>You can also specify which classes to include/exclude from instrumentation +by passing a class name regexp to the <code>emma.include</code> or +<code>emma.exclude</code> methods.</p> + +<pre class="ruby"><span class="ruby-identifier">define</span> <span class="ruby-string">'someModule'</span> <span class="ruby-keyword">do</span> + <span class="ruby-identifier">emma</span>.<span class="ruby-identifier">include</span> <span class="ruby-string">'some.package.*'</span> + <span class="ruby-identifier">emma</span>.<span class="ruby-identifier">exclude</span> <span class="ruby-string">'some.foo.util.SimpleUtil'</span> +<span class="ruby-keyword">end</span> +</pre> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + <section class="constants-list"> + <header> + <h3>Constants</h3> + </header> + <dl> + + <dt id="VERSION">VERSION + + <dd> + + + </dl> + </section> + + + + + + <section id="public-class-5Buntitled-5D-method-details" class="method-section"> + <header> + <h3>Public Class Methods</h3> + </header> + + + <div id="method-c-ant" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">ant</span><span + class="method-args">() { |ant| ... }</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="ant-source"> + <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, line 56</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">ant</span> + + <span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">ant</span> <span class="ruby-string">'emma'</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ant</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">ant</span>.<span class="ruby-identifier">taskdef</span> <span class="ruby-value">:resource=</span><span class="ruby-operator">></span><span class="ruby-string">'emma_ant.properties'</span>, + <span class="ruby-value">:classpath=</span><span class="ruby-operator">></span><span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">artifacts</span>(<span class="ruby-identifier">dependencies</span>).<span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-value">:invoke</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-value">:to_s</span>).<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH_SEPARATOR</span>) + <span class="ruby-identifier">ant</span>.<span class="ruby-identifier">emma</span> <span class="ruby-value">:verbosity=</span><span class="ruby-operator">></span>(<span class="ruby-identifier">trace?</span>(<span class="ruby-value">:emma</span>) <span class="ruby-operator">?</span> <span class="ruby-string">'verbose'</span> <span class="ruby-operator">:</span> <span class="ruby-string">'warning'</span>) <span class="ruby-keyword">do</span> + <span class="ruby-keyword">yield</span> <span class="ruby-identifier">ant</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-c-data_file" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">data_file</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="data_file-source"> + <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, line 52</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">data_file</span>() + <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">report_to</span>, <span class="ruby-string">'coverage.es'</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-c-dependencies" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">dependencies</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="dependencies-source"> + <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, line 44</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">dependencies</span> + <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">||=</span> [<span class="ruby-node">"emma:emma_ant:jar:#{version}"</span>, <span class="ruby-node">"emma:emma:jar:#{version}"</span>] +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-c-report_to" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">report_to</span><span + class="method-args">(format=nil)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="report_to-source"> + <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, line 48</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">report_to</span> <span class="ruby-identifier">format</span>=<span class="ruby-keyword">nil</span> + <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">'reports/emma'</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-c-version" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">version</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="version-source"> + <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, line 40</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">version</span> + <span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">build</span>[<span class="ruby-string">'emma'</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">VERSION</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + </section> + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> + Added: dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,190 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>module Buildr::Extension - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../"; +</script> + +<script src="../js/jquery.js"></script> +<script src="../js/darkfish.js"></script> + +<link href="../css/fonts.css" rel="stylesheet"> +<link href="../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="module"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../table_of_contents.html#pages">Pages</a> + <a href="../table_of_contents.html#classes">Classes</a> + <a href="../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + + + <div id="extends-section" class="nav-section"> + <h3>Extended With Modules</h3> + + <ul class="link-list"> + + + <li><a class="extend" href="Extension/ClassMethods.html">Buildr::Extension::ClassMethods</a> + + + </ul> +</div> + + + </div> +</nav> + +<main role="main" aria-labelledby="module-Buildr::Extension"> + <h1 id="module-Buildr::Extension" class="module"> + module Buildr::Extension + </h1> + + <section class="description"> + +<p>The basic mechanism for extending projects in <a +href="../Buildr.html">Buildr</a> are Ruby modules. In fact, base features +like compiling and testing are all developed in the form of modules, and +then added to the core <a href="Project.html">Project</a> class.</p> + +<p>A module defines instance methods that are then mixed into the project and +become instance methods of the project. There are two general ways for +extending projects. You can extend all projects by including the module in +Project:</p> + +<pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-constant">Project</span> + <span class="ruby-identifier">include</span> <span class="ruby-constant">MyExtension</span> +<span class="ruby-keyword">end</span> +</pre> + +<p>You can also extend a given project instance and only that instance by +extending it with the module:</p> + +<pre class="ruby"><span class="ruby-identifier">define</span> <span class="ruby-string">'foo'</span> <span class="ruby-keyword">do</span> + <span class="ruby-identifier">extend</span> <span class="ruby-constant">MyExtension</span> +<span class="ruby-keyword">end</span> +</pre> + +<p>Some extensions require tighter integration with the project, specifically +for setting up tasks and properties, or for configuring tasks based on the +project definition. You can do that by adding callbacks to the process.</p> + +<p>The easiest way to add callbacks is by incorporating the <a +href="Extension.html">Extension</a> module in your own extension, and using +the various class methods to define callback behavior:</p> +<ul><li> +<p>first_time â This block will be called once for any particular extension.</p> + +<pre>You can use this to setup top-level and local tasks.</pre> +</li><li> +<p>before_define â This block is called once for the project with the project</p> + +<pre>instance, right before running the project definition. You can use this +to add tasks and set properties that will be used in the project definition.</pre> +</li><li> +<p>after_define â This block is called once for the project with the project</p> + +<pre>instance, right after running the project definition. You can use this to +do any post-processing that depends on the project definition.</pre> +</li></ul> + +<p>This example illustrates how to write a simple extension:</p> + +<pre class="ruby"><span class="ruby-keyword">module</span> <span class="ruby-constant">LinesOfCode</span> + <span class="ruby-identifier">include</span> <span class="ruby-constant">Extension</span> + + <span class="ruby-identifier">first_time</span> <span class="ruby-keyword">do</span> + <span class="ruby-comment"># Define task not specific to any projet.</span> + <span class="ruby-identifier">desc</span> <span class="ruby-string">'Count lines of code in current project'</span> + <span class="ruby-constant">Project</span>.<span class="ruby-identifier">local_task</span>(<span class="ruby-string">'loc'</span>) + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">before_define</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">project</span><span class="ruby-operator">|</span> + <span class="ruby-comment"># Define the loc task for this particular project.</span> + <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">Task</span>.<span class="ruby-identifier">define_task</span> <span class="ruby-string">'loc'</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">lines</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">prerequisites</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span> <span class="ruby-constant">Dir</span>[<span class="ruby-string">'#{path} /*'</span>] }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>. + <span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">total</span>, <span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-identifier">total</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">readlines</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">count</span> } + <span class="ruby-identifier">puts</span> <span class="ruby-node">"Project #{project.name} has #{lines} lines of code"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">after_define</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">project</span><span class="ruby-operator">|</span> + <span class="ruby-comment"># Now that we know all the source directories, add them.</span> + <span class="ruby-identifier">task</span>(<span class="ruby-string">'loc'</span>=<span class="ruby-operator">></span><span class="ruby-identifier">compile</span>.<span class="ruby-identifier">sources</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">compile</span>.<span class="ruby-identifier">test</span>.<span class="ruby-identifier">sources</span>) + <span class="ruby-keyword">end</span> + + <span class="ruby-comment"># To use this method in your project:</span> + <span class="ruby-comment"># loc path_1, path_2</span> + <span class="ruby-keyword">def</span> <span class="ruby-identifier">loc</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">paths</span>) + <span class="ruby-identifier">task</span>(<span class="ruby-string">'loc'</span>=<span class="ruby-operator">></span><span class="ruby-identifier">paths</span>) + <span class="ruby-keyword">end</span> + +<span class="ruby-keyword">end</span> + +<span class="ruby-keyword">class</span> <span class="ruby-constant">Buildr</span><span class="ruby-operator">::</span><span class="ruby-constant">Project</span> + <span class="ruby-identifier">include</span> <span class="ruby-constant">LinesOfCode</span> +<span class="ruby-keyword">end</span> +</pre> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + + + + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> + Added: dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,259 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>module Buildr::Extension::ClassMethods - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../../"; +</script> + +<script src="../../js/jquery.js"></script> +<script src="../../js/darkfish.js"></script> + +<link href="../../css/fonts.css" rel="stylesheet"> +<link href="../../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="module"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../../table_of_contents.html#pages">Pages</a> + <a href="../../table_of_contents.html#classes">Classes</a> + <a href="../../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + + + + <!-- Method Quickref --> +<div id="method-list-section" class="nav-section"> + <h3>Methods</h3> + + <ul class="link-list" role="directory"> + + <li ><a href="#method-i-after_define">#after_define</a> + + <li ><a href="#method-i-before_define">#before_define</a> + + <li ><a href="#method-i-first_time">#first_time</a> + + </ul> +</div> + + </div> +</nav> + +<main role="main" aria-labelledby="module-Buildr::Extension::ClassMethods"> + <h1 id="module-Buildr::Extension::ClassMethods" class="module"> + module Buildr::Extension::ClassMethods + </h1> + + <section class="description"> + +<p>Methods added to the extension module when including <a +href="../Extension.html">Extension</a>.</p> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + + + + + <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> + <header> + <h3>Public Instance Methods</h3> + </header> + + + <div id="method-i-after_define" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">after_define</span><span + class="method-args">(*args, &block)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>This block is called once for the project with the project instance, right +after running the project definition. You can use this to do any +post-processing that depends on the project definition.</p> + +<p>The block may be named and dependencies may be declared similar to <a +href="../../Rake.html">Rake</a> task dependencies:</p> + +<pre class="ruby"><span class="ruby-identifier">after_define</span>(:<span class="ruby-identifier">my_setup</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">project</span><span class="ruby-operator">|</span> + <span class="ruby-comment"># do stuff on project</span> +<span class="ruby-keyword">end</span> + +<span class="ruby-comment"># my_setup code must run before :compile (but only after project is defined)</span> +<span class="ruby-identifier">after_define</span>(:<span class="ruby-identifier">compile</span> =<span class="ruby-operator">></span> :<span class="ruby-identifier">my_setup</span>) +</pre> + + + + + <div class="method-source-code" id="after_define-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, line 860</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">after_define</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> + <span class="ruby-identifier">name</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> + <span class="ruby-identifier">deps</span> = [] + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">name</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">deps</span> = <span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">resolve_args</span>(<span class="ruby-identifier">args</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">module_callbacks</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Callback</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:after_define</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">deps</span>, <span class="ruby-identifier">block</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-before_define" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">before_define</span><span + class="method-args">(*args, &block)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>This block is called once for the project with the project instance, right +before running the project definition. You can use this to add tasks and +set properties that will be used in the project definition.</p> + +<p>The block may be named and dependencies may be declared similar to <a +href="../../Rake.html">Rake</a> task dependencies:</p> + +<pre class="ruby"><span class="ruby-identifier">before_define</span>(:<span class="ruby-identifier">my_setup</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">project</span><span class="ruby-operator">|</span> + <span class="ruby-comment"># do stuff on project</span> +<span class="ruby-keyword">end</span> + +<span class="ruby-comment"># my_setup code must run before :compile</span> +<span class="ruby-identifier">before_define</span>(:<span class="ruby-identifier">compile</span> =<span class="ruby-operator">></span> :<span class="ruby-identifier">my_setup</span>) +</pre> + + + + + <div class="method-source-code" id="before_define-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, line 836</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">before_define</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> + <span class="ruby-identifier">name</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> + <span class="ruby-identifier">deps</span> = [] + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">name</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">deps</span> = <span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">resolve_args</span>(<span class="ruby-identifier">args</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">module_callbacks</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Callback</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:before_define</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">deps</span>, <span class="ruby-identifier">block</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-first_time" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">first_time</span><span + class="method-args">(&block)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>This block will be called once for any particular extension included in <a +href="../Project.html">Project</a>. You can use this to setup top-level and +local tasks.</p> + + + + + <div class="method-source-code" id="first_time-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, line 818</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">first_time</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-identifier">module_callbacks</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Callback</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:first_time</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>, [], <span class="ruby-identifier">block</span>) +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + </section> + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> + Added: dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,698 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>class Buildr::Filter - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../"; +</script> + +<script src="../js/jquery.js"></script> +<script src="../js/darkfish.js"></script> + +<link href="../css/fonts.css" rel="stylesheet"> +<link href="../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="class"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../table_of_contents.html#pages">Pages</a> + <a href="../table_of_contents.html#classes">Classes</a> + <a href="../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + <div id="parent-class-section" class="nav-section"> + <h3>Parent</h3> + + + <p class="link"><a href="../Object.html">Object</a> + +</div> + + + + <!-- Method Quickref --> +<div id="method-list-section" class="nav-section"> + <h3>Methods</h3> + + <ul class="link-list" role="directory"> + + <li ><a href="#method-i-add">#add</a> + + <li ><a href="#method-i-clear">#clear</a> + + <li ><a href="#method-i-exclude">#exclude</a> + + <li ><a href="#method-i-from">#from</a> + + <li ><a href="#method-i-include">#include</a> + + <li ><a href="#method-i-into">#into</a> + + <li ><a href="#method-i-pattern_match">#pattern_match</a> + + <li ><a href="#method-i-run">#run</a> + + <li ><a href="#method-i-target">#target</a> + + <li ><a href="#method-i-to_s">#to_s</a> + + <li ><a href="#method-i-using">#using</a> + + </ul> +</div> + + </div> +</nav> + +<main role="main" aria-labelledby="class-Buildr::Filter"> + <h1 id="class-Buildr::Filter" class="class"> + class Buildr::Filter + </h1> + + <section class="description"> + +<p>A filter knows how to copy files from one directory to another, applying +mappings to the contents of these files.</p> + +<p>You can specify the mapping using a <a href="../Hash.html">Hash</a>, and it +will map ${key} fields found in each source file into the appropriate value +in the target file. For example:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">using</span> <span class="ruby-string">'version'</span>=<span class="ruby-operator">></span><span class="ruby-string">'1.2'</span>, <span class="ruby-string">'build'</span>=<span class="ruby-operator">></span><span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> +</pre> + +<p>will replace all occurrences of <code>${version}</code> with +<code>1.2</code>, and <code>${build}</code> with the current date/time.</p> + +<p>You can also specify the mapping by passing a proc or a method, that will +be called for each source file, with the file name and content, returning +the modified content.</p> + +<p>Without any mapping, the filter simply copies files from the source +directory into the target directory.</p> + +<p>A filter has one target directory, but you can specify any number of source +directories, either when creating the filter or calling <a +href="Filter.html#method-i-from">from</a>. Include/exclude patterns are +specified relative to the source directories, so:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">include</span> <span class="ruby-string">'*.png'</span> +</pre> + +<p>will only include PNG files from any of the source directories. In the same +way, you can use regular expressions, so:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">include</span> <span class="ruby-regexp">/picture_.*\.png/</span> +</pre> + +<p>will only include PNG files starting with picture_ from any of the sources +directories.</p> + +<p>See Buildr#filter.</p> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + + + <section class="attribute-method-details" class="method-section"> + <header> + <h3>Attributes</h3> + </header> + + + <div id="attribute-i-sources" class="method-detail"> + <div class="method-heading attribute-method-heading"> + <span class="method-name">sources</span><span + class="attribute-access-type">[R]</span> + </div> + + <div class="method-description"> + + <p>Returns the list of source directories (each being a file task).</p> + + </div> + </div> + + </section> + + + + <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> + <header> + <h3>Public Instance Methods</h3> + </header> + + + <div id="method-i-add" class="method-detail method-alias"> + + <div class="method-heading"> + <span class="method-name">add</span><span + class="method-args">(*files)</span> + + </div> + + + <div class="method-description"> + + + + + + + </div> + + + + + <div class="aliases"> + Alias for: <a href="Filter.html#method-i-include">include</a> + </div> + + </div> + + + <div id="method-i-clear" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + clear → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Clear filter sources and include/exclude patterns</p> + + + + + <div class="method-source-code" id="clear-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 58</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">clear</span> + <span class="ruby-ivar">@include</span> = [] + <span class="ruby-ivar">@exclude</span> = [] + <span class="ruby-ivar">@sources</span> = <span class="ruby-constant">FileList</span>[] + <span class="ruby-ivar">@mapper</span> = <span class="ruby-constant">Mapper</span>.<span class="ruby-identifier">new</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-exclude" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + exclude(*files) → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Specifies files to exclude and returns self. See FileList#exclude.</p> + + + + + <div class="method-source-code" id="exclude-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 120</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">exclude</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">files</span>) + <span class="ruby-ivar">@exclude</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">flatten</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-from" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + from(*sources) → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Adds additional directories from which to copy resources.</p> + +<p>For example:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">from</span>(<span class="ruby-string">'src'</span>).<span class="ruby-identifier">into</span>(<span class="ruby-string">'target'</span>).<span class="ruby-identifier">using</span>(<span class="ruby-string">'build'</span>=<span class="ruby-operator">></span><span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>) +</pre> + + + + + <div class="method-source-code" id="from-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 73</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">from</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">sources</span>) + <span class="ruby-ivar">@sources</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">sources</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span> <span class="ruby-identifier">file</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">dir</span>.<span class="ruby-identifier">to_s</span>)) } + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-include" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + include(*files) → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Specifies files to include and returns self. See FileList#include.</p> + +<p>By default all files are included. You can use this method to only include +specific files from the source directory.</p> + + + + + <div class="method-source-code" id="include-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 110</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">files</span>) + <span class="ruby-ivar">@include</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">flatten</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + <div class="aliases"> + Also aliased as: <a href="Filter.html#method-i-add">add</a> + </div> + + + + </div> + + + <div id="method-i-into" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + into(dir) → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Sets the target directory into which files are copied and returns self.</p> + +<p>For example:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">from</span>(<span class="ruby-string">'src'</span>).<span class="ruby-identifier">into</span>(<span class="ruby-string">'target'</span>).<span class="ruby-identifier">using</span>(<span class="ruby-string">'build'</span>=<span class="ruby-operator">></span><span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>) +</pre> + + + + + <div class="method-source-code" id="into-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 97</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">into</span>(<span class="ruby-identifier">dir</span>) + <span class="ruby-ivar">@target_dir</span> = <span class="ruby-identifier">dir</span>.<span class="ruby-identifier">to_s</span> + <span class="ruby-ivar">@target</span> = <span class="ruby-keyword">nil</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-run" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + run → boolean + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>Runs the filter.</p> + + + + + <div class="method-source-code" id="run-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 170</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span> + <span class="ruby-identifier">copy_map</span> = <span class="ruby-identifier">copy_map</span>() + + <span class="ruby-identifier">mkpath</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> + <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">copy_map</span>.<span class="ruby-identifier">empty?</span> + + <span class="ruby-identifier">copy_map</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span class="ruby-identifier">source</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">dest</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span>) + <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">source</span>) + <span class="ruby-identifier">mkpath</span> <span class="ruby-identifier">dest</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">mkpath</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">dest</span>) + <span class="ruby-keyword">if</span> <span class="ruby-ivar">@mapper</span>.<span class="ruby-identifier">mapper_type</span> + <span class="ruby-identifier">mapped</span> = <span class="ruby-ivar">@mapper</span>.<span class="ruby-identifier">transform</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">source</span>, <span class="ruby-string">'rb'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">read</span> }, <span class="ruby-identifier">path</span>) + <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">dest</span>, <span class="ruby-string">'wb'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">mapped</span> } + <span class="ruby-keyword">else</span> <span class="ruby-comment"># no mapping</span> + <span class="ruby-identifier">cp</span> <span class="ruby-identifier">source</span>, <span class="ruby-identifier">dest</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + <span class="ruby-constant">File</span>.<span class="ruby-identifier">chmod</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-identifier">source</span>).<span class="ruby-identifier">mode</span> <span class="ruby-operator">|</span> <span class="ruby-value">0200</span>, <span class="ruby-identifier">dest</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">touch</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> + <span class="ruby-keyword">true</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-target" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">target</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>The target directory as a file task.</p> + + + + + <div class="method-source-code" id="target-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 79</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">target</span> + <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@target_dir</span> + <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@target</span> + <span class="ruby-ivar">@target</span> = <span class="ruby-identifier">file</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-ivar">@target_dir</span>)) { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">run</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@target</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">task</span> } + <span class="ruby-ivar">@target</span>.<span class="ruby-identifier">enhance</span> <span class="ruby-ivar">@include</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">FileTask</span>)} + <span class="ruby-ivar">@target</span>.<span class="ruby-identifier">enhance</span> <span class="ruby-ivar">@exclude</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">FileTask</span>)} + <span class="ruby-ivar">@target</span>.<span class="ruby-identifier">enhance</span> <span class="ruby-identifier">copy_map</span>.<span class="ruby-identifier">values</span> + <span class="ruby-keyword">end</span> + <span class="ruby-ivar">@target</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-to_s" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">to_s</span><span + class="method-args">()</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Returns the target directory.</p> + + + + + <div class="method-source-code" id="to_s-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 196</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span> + <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-using" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + using(mapping) → self + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + <div class="method-heading"> + <span class="method-callseq"> + using { |file_name, contents| ... } → self + </span> + + </div> + + + + <div class="method-description"> + + <p>Specifies the mapping to use and returns self.</p> + +<p>The most typical mapping uses a <a href="../Hash.html">Hash</a>, and the +default mapping uses the Maven style, so <code>${key}</code> are mapped to +the values. You can change that by passing a different format as the first +argument. Currently supports:</p> +<ul><li> +<p>:ant â Map <code>@key@</code>.</p> +</li><li> +<p>:maven â Map <code>${key}</code> (default).</p> +</li><li> +<p>:ruby â Map <code>#{key}</code>.</p> +</li><li> +<p>:erb â Map <code><%= key %></code>.</p> +</li><li> +<p>Regexp â Maps the matched data (e.g. <code>/=(.*?)=/</code></p> +</li></ul> + +<p>For example:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">using</span> <span class="ruby-string">'version'</span>=<span class="ruby-operator">></span><span class="ruby-string">'1.2'</span> +</pre> + +<p>Is the same as:</p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">using</span> :<span class="ruby-identifier">maven</span>, <span class="ruby-string">'version'</span>=<span class="ruby-operator">></span><span class="ruby-string">'1.2'</span> +</pre> + +<p>You can also pass a proc or method. It will be called with the file name +and content, to return the mapped content.</p> + +<p>Without any mapping, all files are copied as is.</p> + +<p>To register new mapping type see the <a +href="Filter/Mapper.html">Mapper</a> class.</p> + + + + + <div class="method-source-code" id="using-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 161</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-ivar">@mapper</span>.<span class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + </section> + + <section id="protected-instance-5Buntitled-5D-method-details" class="method-section"> + <header> + <h3>Protected Instance Methods</h3> + </header> + + + <div id="method-i-pattern_match" class="method-detail "> + + + <div class="method-heading"> + <span class="method-callseq"> + pattern_match(file, pattern) → boolean + </span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + + <div class="method-description"> + + <p>This method returns true if the file name matches the pattern. The pattern +may be a String, a Regexp or a Proc.</p> + + + + + <div class="method-source-code" id="pattern_match-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 208</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">pattern_match</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">pattern</span>) + <span class="ruby-keyword">case</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Regexp</span>) + <span class="ruby-keyword">return</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">pattern</span>) + <span class="ruby-keyword">when</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) + <span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">fnmatch</span>(<span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">file</span>) + <span class="ruby-keyword">when</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Proc</span>) + <span class="ruby-keyword">return</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">file</span>) + <span class="ruby-keyword">when</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">FileTask</span>) + <span class="ruby-keyword">return</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">file</span>) + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">raise</span> <span class="ruby-node">"Cannot interpret pattern #{pattern}"</span> + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + </section> + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> + Added: dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html ============================================================================== --- dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html (added) +++ dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html Sat Sep 17 06:18:39 2016 @@ -0,0 +1,342 @@ +<!DOCTYPE html> + +<html> +<head> +<meta charset="UTF-8"> + +<title>class Buildr::Filter::Mapper - buildr</title> + +<script type="text/javascript"> + var rdoc_rel_prefix = "../../"; +</script> + +<script src="../../js/jquery.js"></script> +<script src="../../js/darkfish.js"></script> + +<link href="../../css/fonts.css" rel="stylesheet"> +<link href="../../css/rdoc.css" rel="stylesheet"> + + + +<body id="top" role="document" class="class"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="../../index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="../../table_of_contents.html#pages">Pages</a> + <a href="../../table_of_contents.html#classes">Classes</a> + <a href="../../table_of_contents.html#methods">Methods</a> + </div> +</div> + + <div id="search-section" role="search" class="project-section initially-hidden"> + <form action="#" method="get" accept-charset="utf-8"> + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" + title="Type to search, Up and Down to navigate, Enter to load"> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> + </form> +</div> + + </div> + + + + <div id="class-metadata"> + + <div id="parent-class-section" class="nav-section"> + <h3>Parent</h3> + + + <p class="link"><a href="../../Object.html">Object</a> + +</div> + + + + <!-- Method Quickref --> +<div id="method-list-section" class="nav-section"> + <h3>Methods</h3> + + <ul class="link-list" role="directory"> + + <li ><a href="#method-i-is_binary-3F">#is_binary?</a> + + <li ><a href="#method-i-transform">#transform</a> + + <li ><a href="#method-i-using">#using</a> + + </ul> +</div> + + </div> +</nav> + +<main role="main" aria-labelledby="class-Buildr::Filter::Mapper"> + <h1 id="class-Buildr::Filter::Mapper" class="class"> + class Buildr::Filter::Mapper + </h1> + + <section class="description"> + +<p>This class implements content replacement logic for <a +href="../Filter.html">Filter</a>.</p> + +<p>To register a new template engine @:foo@, extend this class with a method +like:</p> + +<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier">foo_transform</span>(<span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>) + <span class="ruby-comment"># if this method yields a key, the value comes from the mapping hash</span> + <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/world/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">str</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span> <span class="ruby-operator">:</span><span class="ruby-identifier">bar</span> } +<span class="ruby-keyword">end</span> +</pre> + +<p>Then you can use :foo mapping type on a <a href="../Filter.html">Filter</a></p> + +<pre class="ruby"><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">using</span> :<span class="ruby-identifier">foo</span>, :<span class="ruby-identifier">bar</span> =<span class="ruby-operator">></span> :<span class="ruby-identifier">baz</span> +</pre> + +<p>Or all by your own, simply</p> + +<pre class="ruby"><span class="ruby-constant">Mapper</span>.<span class="ruby-identifier">new</span>(:<span class="ruby-identifier">foo</span>, :<span class="ruby-identifier">bar</span> =<span class="ruby-operator">></span> :<span class="ruby-identifier">baz</span>).<span class="ruby-identifier">transform</span>(<span class="ruby-string">"Hello world"</span>) <span class="ruby-comment"># => "Hello baz"</span> +</pre> + +<p>You can handle configuration arguments by providing a @*_config@ method +like:</p> + +<pre class="ruby"><span class="ruby-comment"># The return value of this method is available with the :config accessor.</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">moo_config</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">"Expected moo block"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">block_given?</span> + { :<span class="ruby-identifier">moos</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">args</span>, :<span class="ruby-identifier">callback</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">block</span> } +<span class="ruby-keyword">end</span> + +<span class="ruby-keyword">def</span> <span class="ruby-identifier">moo_transform</span>(<span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>) + <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/moo+/i</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">str</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">moos</span> = <span class="ruby-keyword">yield</span> <span class="ruby-operator">:</span><span class="ruby-identifier">moos</span> <span class="ruby-comment"># same than config[:moos]</span> + <span class="ruby-identifier">moo</span> = <span class="ruby-identifier">moos</span>[<span class="ruby-identifier">str</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">3</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span> + <span class="ruby-identifier">config</span>[:<span class="ruby-identifier">callback</span>].<span class="ruby-identifier">call</span>(<span class="ruby-identifier">moo</span>) + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span> +</pre> + +<p>Usage for the @:moo@ mapper would be something like:</p> + +<pre class="ruby"><span class="ruby-identifier">mapper</span> = <span class="ruby-constant">Mapper</span>.<span class="ruby-identifier">new</span>(:<span class="ruby-identifier">moo</span>, <span class="ruby-string">'ooone'</span>, <span class="ruby-string">'twoo'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">str</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">i</span> = <span class="ruby-keyword">nil</span>; <span class="ruby-identifier">str</span>.<span class="ruby-identifier">capitalize</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\w/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">send</span>( (<span class="ruby-identifier">i</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">i</span>) <span class="ruby-operator">?</span> <span class="ruby-string">'upcase'</span> <span class="ruby-operator">:</span> <span class="ruby-string">'downcase'</span> ) } +<span class="ruby-keyword">end</span> +<span class="ruby-identifier">mapper</span>.<span class="ruby-identifier">transform</span>(<span class="ruby-string">'Moo cow, mooo cows singing mooooo'</span>) <span class="ruby-comment"># => 'OoOnE cow, TwOo cows singing MoOoOo'</span> +</pre> + + </section> + + + + + <section id="5Buntitled-5D" class="documentation-section"> + + + + + + <section class="constants-list"> + <header> + <h3>Constants</h3> + </header> + <dl> + + <dt id="BINARY_FILES">BINARY_FILES + + <dd> + + + </dl> + </section> + + + + <section class="attribute-method-details" class="method-section"> + <header> + <h3>Attributes</h3> + </header> + + + <div id="attribute-i-config" class="method-detail"> + <div class="method-heading attribute-method-heading"> + <span class="method-name">config</span><span + class="attribute-access-type">[R]</span> + </div> + + <div class="method-description"> + + + + </div> + </div> + + <div id="attribute-i-mapper_type" class="method-detail"> + <div class="method-heading attribute-method-heading"> + <span class="method-name">mapper_type</span><span + class="attribute-access-type">[R]</span> + </div> + + <div class="method-description"> + + + + </div> + </div> + + </section> + + + + <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> + <header> + <h3>Public Instance Methods</h3> + </header> + + + <div id="method-i-is_binary-3F" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">is_binary?</span><span + class="method-args">(content, path)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="is_binary-3F-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 314</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_binary?</span>(<span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span>) + <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-identifier">path</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">BINARY_FILES</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">glob</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">fnmatch</span>(<span class="ruby-identifier">glob</span>, <span class="ruby-identifier">path</span>) } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-transform" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">transform</span><span + class="method-args">(content, path = nil)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="transform-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 318</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">transform</span>(<span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>) + <span class="ruby-keyword">return</span> <span class="ruby-identifier">content</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">is_binary?</span>(<span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span>) + <span class="ruby-identifier">type</span> = <span class="ruby-constant">Regexp</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">mapper_type</span> <span class="ruby-operator">?</span> <span class="ruby-value">:regexp</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">mapper_type</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Invalid mapper type: #{type.inspect}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">"#{type}_transform"</span>, <span class="ruby-keyword">true</span>) + <span class="ruby-keyword">self</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-node">"#{type}_transform"</span>, <span class="ruby-identifier">content</span>, <span class="ruby-identifier">path</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span> <span class="ruby-identifier">config</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">config</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_sym</span>] } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-using" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">using</span><span + class="method-args">(*args, &block)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="using-source"> + <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, line 288</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-keyword">case</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> + <span class="ruby-keyword">when</span> <span class="ruby-constant">Hash</span> <span class="ruby-comment"># Maven hash mapping</span> + <span class="ruby-identifier">using</span> <span class="ruby-value">:maven</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> + <span class="ruby-keyword">when</span> <span class="ruby-constant">Binding</span> <span class="ruby-comment"># Erb binding</span> + <span class="ruby-identifier">using</span> <span class="ruby-value">:erb</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> + <span class="ruby-keyword">when</span> <span class="ruby-constant">Symbol</span> <span class="ruby-comment"># Mapping from a method</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Unknown mapping type: #{args.first}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">"#{args.first}_transform"</span>, <span class="ruby-keyword">true</span>) + <span class="ruby-identifier">configure</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) + <span class="ruby-keyword">when</span> <span class="ruby-constant">Regexp</span> <span class="ruby-comment"># Mapping using a regular expression</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">'Expected regular expression followed by mapping hash'</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>] + <span class="ruby-ivar">@mapper_type</span>, <span class="ruby-ivar">@config</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> + <span class="ruby-keyword">else</span> + <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">'Expected proc, method or a block'</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">block</span>) + <span class="ruby-ivar">@mapper_type</span> = <span class="ruby-value">:callback</span> + <span class="ruby-identifier">config</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">block</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">'Expected proc, method or callable'</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:call</span>) + <span class="ruby-ivar">@config</span> = <span class="ruby-identifier">config</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + </section> + + </section> +</main> + + +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. +</footer> +