Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
322 lines (318 sloc) 8.32 KB
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>CoffeeScript API Documentation</title>
<link rel='stylesheet' href='../../assets/codo.css' type='text/css'>
<script src='../../assets/codo.js'></script>
<script src='../../assets/search_data.js'></script>
</head>
<body>
<div id='base' data-path='../../'></div>
<div id='header'>
<div id='menu'>
<a href='../../class_index.html' title='Index'>Index</a>
&raquo;
<a href='../../classes/kb.html' title='kb'>kb</a>
&raquo;
<span class='title'>Factory</span>
<nav>
<ul>
<li class='noframes'>
(<a class='noframes' href='#'>no frames</a>)
</li>
</ul>
</nav>
<div id='search'>
<a id='class_list_link' href='../../class_list.html'>Classes</a>
<a id='method_list_link' href='../../method_list.html'>Methods</a>
<a id='extra_list_link' href='../../extra_list.html'>Extras</a>
</div>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>Ctrl-T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
In frame mode you can toggle the list naviation frame on the left side:
</p>
<ul>
<li>
<span>Ctrl-L</span>
Toggle list view
</li>
</ul>
<p>
You can focus a list in frame mode or toggle a tab in frameless mode:
</p>
<ul>
<li>
<span>Ctrl-C</span>
Class list
</li>
<li>
<span>Ctrl-I</span>
Mixin list
</li>
<li>
<span>Ctrl-F</span>
File list
</li>
<li>
<span>Ctrl-M</span>
Method list
</li>
<li>
<span>Ctrl-E</span>
Extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>Ctrl-S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
<p>
In frameless mode you can close the list tab:
</p>
<ul>
<li>
<span>Esc</span>
Close list tab
</li>
</ul>
</div>
</div>
<div id='content'>
<h1>
Class:
kb.Factory
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>src/knockback-core/knockback-factory.coffee</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<p>Used to share the hierachy of constructors and create functions by path to allow for custom creation per Model attribute. </p>
<div class='examples'>
<h3>Examples:</h3>
<h4>
Create an instance by path.
</h4>
<pre><code class='coffee'>var factory = new kb.Factory();
factory.addPathMapping(&#39;bob.the.builder&#39;, kb.ViewModel);
view_model = factory.createForPath(new Backbone.Model({name: &#39;Bob&#39;}), &#39;bob.the.builder&#39;); // creates kb.ViewModel</code></pre>
</div>
</div>
<div class='tags'>
</div>
<h2>Class Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#useOptionsOrCreate-class'>
+ (void) <strong>useOptionsOrCreate</strong>(options, obj, owner_path)
</a>
</span>
<span class='desc'>
Used to either register yourself with the existing factory or to create a new factory.
</span>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#constructor-instance'>
- (void) <strong>constructor</strong>(parent_factory)
</a>
</span>
<span class='constructor note title'>Constructor</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#hasPath-instance'>
- (void) <strong>hasPath</strong>(path)
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#addPathMapping-instance'>
- (void) <strong>addPathMapping</strong>(path, create_info)
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#addPathMappings-instance'>
- (void) <strong>addPathMappings</strong>(factories, owner_path)
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#creatorForPath-instance'>
- (void) <strong>creatorForPath</strong>(obj, path)
</a>
</span>
<span class='desc'>
If possible, creates an observable for an object using a dot-deliminated path.
</span>
</li>
</ul>
<h2>Class Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='useOptionsOrCreate-class'>
+ (void) <strong>useOptionsOrCreate</strong>(options, obj, owner_path)
</p>
<div class='docstring'>
<p>Used to either register yourself with the existing factory or to create a new factory. </p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>options</span>
<span class='type'>
(<tt>Object</tt>)
</span>
&mdash;
<span class='desc'>please pass the options from your constructor to the register method. For example, constructor(model, options)</span>
</li>
<li>
<span class='name'>obj</span>
<span class='type'>
(<tt>Instance</tt>)
</span>
&mdash;
<span class='desc'>the instance that will own or register with the store</span>
</li>
<li>
<span class='name'>owner_path</span>
<span class='type'>
(<tt>String</tt>)
</span>
&mdash;
<span class='desc'>the path to the owning object for turning relative scoping of the factories to absolute paths.</span>
</li>
</ul>
<h3>
Options Hash:
(options):
</h3>
<ul class='options'>
<li>
<span class='name'>factories</span>
<span class='type'>
(<tt>Object</tt>)
</span>
&mdash;
<span class='desc'>a map of dot-deliminated paths; for example 'models.owner': kb.ViewModel to either constructors or create functions. Signature: 'some.path': function(object, options)</span>
</li>
</ul>
</div>
</div>
</div>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-instance'>
- (void) <strong>constructor</strong>(parent_factory)
</p>
<div class='tags'>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='hasPath-instance'>
- (void) <strong>hasPath</strong>(path)
</p>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='addPathMapping-instance'>
- (void) <strong>addPathMapping</strong>(path, create_info)
</p>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='addPathMappings-instance'>
- (void) <strong>addPathMappings</strong>(factories, owner_path)
</p>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='creatorForPath-instance'>
- (void) <strong>creatorForPath</strong>(obj, path)
</p>
<div class='docstring'>
<p>If possible, creates an observable for an object using a dot-deliminated path. </p>
<div class='examples'>
<h3>Examples:</h3>
<h4>
Create an instance by path.
</h4>
<pre><code class='coffee'>var factory = new kb.Factory();
factory.addPathMapping(&#39;bob.the.builder&#39;, kb.ViewModel);
view_model = factory.createForPath(new Backbone.Model({name: &#39;Bob&#39;}), &#39;bob.the.builder&#39;); // creates kb.ViewModel
</code></pre>
</div>
</div>
<div class='tags'>
</div>
</div>
</div>
</div>
<div id='footer'>
Generated on
Thu Sep 06 2012 17:22:43 GMT+0900 (JST)
by
<a href='https://github.com/netzpirat/codo' title='CoffeeScript API documentation generator'>Codo</a>
v1.3.0
(Node.js v0.8.7).
&#10034;
Press Ctrl-h to see the keyboard shortcuts
&#10034;
<a href='http://twitter.com/#!/netzpirat'>@netzpirat</a>
&#10034;
<a href='https://mksoft.ch'>mksoft.ch</a>
</div>
</body>
</html>
Something went wrong with that request. Please try again.