sumatra-rails 0.0.4.1 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. data/Gemfile.lock +4 -5
  2. data/lib/sumatra/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/sumatra.js.coffee +122 -1
  4. metadata +19 -30
  5. checksums.yaml +0 -15
  6. data/vendor/assets/javascripts/sumatra/.env.example +0 -1
  7. data/vendor/assets/javascripts/sumatra/.gitignore +0 -2
  8. data/vendor/assets/javascripts/sumatra/Cakefile +0 -27
  9. data/vendor/assets/javascripts/sumatra/LICENSE.md +0 -20
  10. data/vendor/assets/javascripts/sumatra/README.md +0 -183
  11. data/vendor/assets/javascripts/sumatra/component.json +0 -30
  12. data/vendor/assets/javascripts/sumatra/docs/docco.css +0 -500
  13. data/vendor/assets/javascripts/sumatra/docs/index.html +0 -177
  14. data/vendor/assets/javascripts/sumatra/docs/index.md +0 -0
  15. data/vendor/assets/javascripts/sumatra/docs/plugin.js.html +0 -207
  16. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-bold.eot +0 -0
  17. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-bold.ttf +0 -0
  18. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-bold.woff +0 -0
  19. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-light.eot +0 -0
  20. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-light.ttf +0 -0
  21. data/vendor/assets/javascripts/sumatra/docs/public/fonts/aller-light.woff +0 -0
  22. data/vendor/assets/javascripts/sumatra/docs/public/fonts/fleurons.eot +0 -0
  23. data/vendor/assets/javascripts/sumatra/docs/public/fonts/fleurons.ttf +0 -0
  24. data/vendor/assets/javascripts/sumatra/docs/public/fonts/fleurons.woff +0 -0
  25. data/vendor/assets/javascripts/sumatra/docs/public/fonts/novecento-bold.eot +0 -0
  26. data/vendor/assets/javascripts/sumatra/docs/public/fonts/novecento-bold.ttf +0 -0
  27. data/vendor/assets/javascripts/sumatra/docs/public/fonts/novecento-bold.woff +0 -0
  28. data/vendor/assets/javascripts/sumatra/docs/public/images/gray.png +0 -0
  29. data/vendor/assets/javascripts/sumatra/docs/public/stylesheets/normalize.css +0 -375
  30. data/vendor/assets/javascripts/sumatra/docs/runtime.js.html +0 -111
@@ -1,207 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <title>plugin.js.coffee</title>
6
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
- <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
8
- <link rel="stylesheet" media="all" href="docco.css" />
9
- </head>
10
- <body>
11
- <div id="container">
12
- <div id="background"></div>
13
-
14
- <ul class="sections">
15
-
16
- <li id="title">
17
- <div class="annotation">
18
- <h1>plugin.js.coffee</h1>
19
- </div>
20
- </li>
21
-
22
-
23
-
24
- <li id="section-1">
25
- <div class="annotation">
26
-
27
- <div class="pilwrap for-h2">
28
- <a class="pilcrow" href="#section-1">&#182;</a>
29
- </div>
30
- <h2>SumatraPlugin</h2>
31
-
32
- </div>
33
-
34
- </li>
35
-
36
-
37
- <li id="section-2">
38
- <div class="annotation">
39
-
40
- <div class="pilwrap ">
41
- <a class="pilcrow" href="#section-2">&#182;</a>
42
- </div>
43
- <p>A prototype object for common actions when defining jQuery plugins
44
- in the Sumatra framework. It is designed so that you never have to
45
- override the constructor. Instead, the constructor sets up a common
46
- method interface for both initialization (which would happen after
47
- construction) and the binding of events, a common task in jQuery
48
- plugins. This prototype even handles some of that for you, with
49
- the default <code>bindEvents()</code> being bound to call the <code>perform()</code>
50
- method (which must be defined by the object extending <code>SumatraPlugin</code>)
51
- whenever the element it was constructed with triggers the event
52
- defined by <code>action</code>.</p>
53
- <p>So essentially, you can define almost any jQuery plugin using this
54
- interface, even though the only thing binding it to the <code>sumatra</code>
55
- function is its constructor that takes 3 parameters.</p>
56
- <p><code>SumatraPlugin</code> also has facilities for dealing with an options hash
57
- and merging said options with defaults. You can define the default
58
- options for your plugin like so:</p>
59
- <pre><code>sumatra &#39;clickToGo&#39;, -&gt;
60
- class ClickToGo extends SumatraPlugin
61
- action: &#39;click&#39;
62
- defaults: { to: &#39;http://google.com&#39; }
63
- perform: (event) =&gt;
64
- if confirm &quot;Are you sure you want to go to #{@options.goTo}?&quot;
65
- window.location = @options.goTo</code></pre>
66
- <p>Then, when instantiating, just override them.</p>
67
- <pre><code>$(&#39;a&#39;).clickToGo(to: &#39;http://yahoo.com&#39;);</code></pre>
68
- <p>This removes the need for writing that boilerplate options hash extend
69
- code every time you write a jQuery plugin that takes options. All
70
- plugins defined with <code>sumatra()</code> take an optional options hash, which is
71
- <code>{}</code> by default, in case your plugin doesn&#39;t require options.</p>
72
-
73
- </div>
74
-
75
- <div class="content"><div class="highlight"><pre><span class="class"><span class="keyword">class</span> @<span class="title">SumatraPlugin</span></span></pre></div></div>
76
-
77
- </li>
78
-
79
-
80
- <li id="section-3">
81
- <div class="annotation">
82
-
83
- <div class="pilwrap ">
84
- <a class="pilcrow" href="#section-3">&#182;</a>
85
- </div>
86
- <p>The event to bind to if <code>perform()</code> is defined.</p>
87
-
88
- </div>
89
-
90
- <div class="content"><div class="highlight"><pre>action: <span class="string">'one'</span></pre></div></div>
91
-
92
- </li>
93
-
94
-
95
- <li id="section-4">
96
- <div class="annotation">
97
-
98
- <div class="pilwrap ">
99
- <a class="pilcrow" href="#section-4">&#182;</a>
100
- </div>
101
- <p>A hash of attributes that are extended with an options hash passed
102
- into the jQuery plugin upon instantiation. Useful for setting up
103
- data that is required.</p>
104
-
105
- </div>
106
-
107
- <div class="content"><div class="highlight"><pre>defaults: {}</pre></div></div>
108
-
109
- </li>
110
-
111
-
112
- <li id="section-5">
113
- <div class="annotation">
114
-
115
- <div class="pilwrap ">
116
- <a class="pilcrow" href="#section-5">&#182;</a>
117
- </div>
118
- <p>Instantiate a <code>SumatraPlugin</code> and bind it to the current element
119
- with options. This also initiates the workflow.</p>
120
- <p><strong>DO NOT OVERRIDE!!</strong></p>
121
-
122
- </div>
123
-
124
- <div class="content"><div class="highlight"><pre>constructor: (current_element, index_of_query, init_options) -&gt;
125
- <span class="property">@element</span> = $(current_element)
126
- <span class="property">@index</span> = index_of_query
127
- <span class="property">@options</span> = <span class="property">@mergeDefaultsWith</span> init_options
128
- <span class="property">@initialize</span>() <span class="keyword">and</span> <span class="property">@bindEvents</span>()</pre></div></div>
129
-
130
- </li>
131
-
132
-
133
- <li id="section-6">
134
- <div class="annotation">
135
-
136
- <div class="pilwrap ">
137
- <a class="pilcrow" href="#section-6">&#182;</a>
138
- </div>
139
- <p>Merge <code>options</code> hash with the <code>defaults</code> as set in the definition
140
- of this object.</p>
141
-
142
- </div>
143
-
144
- <div class="content"><div class="highlight"><pre>mergeDefaultsWith: (options) -&gt;
145
- _.extend <span class="property">@defaults</span>, <span class="property">@options</span></pre></div></div>
146
-
147
- </li>
148
-
149
-
150
- <li id="section-7">
151
- <div class="annotation">
152
-
153
- <div class="pilwrap ">
154
- <a class="pilcrow" href="#section-7">&#182;</a>
155
- </div>
156
- <p>Run custom constructor code, but blocks instantiation if this method
157
- returns <code>false</code>. This method was pretty much designed to be overridden.</p>
158
-
159
- </div>
160
-
161
- <div class="content"><div class="highlight"><pre>initialize: -&gt;
162
- <span class="literal">true</span></pre></div></div>
163
-
164
- </li>
165
-
166
-
167
- <li id="section-8">
168
- <div class="annotation">
169
-
170
- <div class="pilwrap ">
171
- <a class="pilcrow" href="#section-8">&#182;</a>
172
- </div>
173
- <p>Bind the <code>perform()</code> method to the <code>action</code> as set in the definition
174
- of this plugin. Overriding this method removes the guarantee that
175
- perform() will be called at all...</p>
176
-
177
- </div>
178
-
179
- <div class="content"><div class="highlight"><pre>bindEvents: -&gt;
180
- <span class="keyword">if</span> <span class="property">@action</span>?
181
- <span class="property">@element</span>.<span class="literal">on</span> <span class="property">@action</span>, <span class="property">@perform</span></pre></div></div>
182
-
183
- </li>
184
-
185
-
186
- <li id="section-9">
187
- <div class="annotation">
188
-
189
- <div class="pilwrap ">
190
- <a class="pilcrow" href="#section-9">&#182;</a>
191
- </div>
192
- <p>The event binding that handles <code>action</code>. Override this with your own
193
- method. You must override this method or the <code>bindEvents</code> method to
194
- get this plugin to do anything. It takes a single argument, <code>event</code>,
195
- which represents the given DOMEvent represented by <code>action</code> as passed
196
- in by <code>jQuery.on</code>.</p>
197
-
198
- </div>
199
-
200
- <div class="content"><div class="highlight"><pre>perform: <span class="literal">null</span></pre></div></div>
201
-
202
- </li>
203
-
204
- </ul>
205
- </div>
206
- </body>
207
- </html>
@@ -1,375 +0,0 @@
1
- /*! normalize.css v2.0.1 | MIT License | git.io/normalize */
2
-
3
- /* ==========================================================================
4
- HTML5 display definitions
5
- ========================================================================== */
6
-
7
- /*
8
- * Corrects `block` display not defined in IE 8/9.
9
- */
10
-
11
- article,
12
- aside,
13
- details,
14
- figcaption,
15
- figure,
16
- footer,
17
- header,
18
- hgroup,
19
- nav,
20
- section,
21
- summary {
22
- display: block;
23
- }
24
-
25
- /*
26
- * Corrects `inline-block` display not defined in IE 8/9.
27
- */
28
-
29
- audio,
30
- canvas,
31
- video {
32
- display: inline-block;
33
- }
34
-
35
- /*
36
- * Prevents modern browsers from displaying `audio` without controls.
37
- * Remove excess height in iOS 5 devices.
38
- */
39
-
40
- audio:not([controls]) {
41
- display: none;
42
- height: 0;
43
- }
44
-
45
- /*
46
- * Addresses styling for `hidden` attribute not present in IE 8/9.
47
- */
48
-
49
- [hidden] {
50
- display: none;
51
- }
52
-
53
- /* ==========================================================================
54
- Base
55
- ========================================================================== */
56
-
57
- /*
58
- * 1. Sets default font family to sans-serif.
59
- * 2. Prevents iOS text size adjust after orientation change, without disabling
60
- * user zoom.
61
- */
62
-
63
- html {
64
- font-family: sans-serif; /* 1 */
65
- -webkit-text-size-adjust: 100%; /* 2 */
66
- -ms-text-size-adjust: 100%; /* 2 */
67
- }
68
-
69
- /*
70
- * Removes default margin.
71
- */
72
-
73
- body {
74
- margin: 0;
75
- }
76
-
77
- /* ==========================================================================
78
- Links
79
- ========================================================================== */
80
-
81
- /*
82
- * Addresses `outline` inconsistency between Chrome and other browsers.
83
- */
84
-
85
- a:focus {
86
- outline: thin dotted;
87
- }
88
-
89
- /*
90
- * Improves readability when focused and also mouse hovered in all browsers.
91
- */
92
-
93
- a:active,
94
- a:hover {
95
- outline: 0;
96
- }
97
-
98
- /* ==========================================================================
99
- Typography
100
- ========================================================================== */
101
-
102
- /*
103
- * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
104
- * Safari 5, and Chrome.
105
- */
106
-
107
- h1 {
108
- font-size: 2em;
109
- }
110
-
111
- /*
112
- * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
113
- */
114
-
115
- abbr[title] {
116
- border-bottom: 1px dotted;
117
- }
118
-
119
- /*
120
- * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
121
- */
122
-
123
- b,
124
- strong {
125
- font-weight: bold;
126
- }
127
-
128
- /*
129
- * Addresses styling not present in Safari 5 and Chrome.
130
- */
131
-
132
- dfn {
133
- font-style: italic;
134
- }
135
-
136
- /*
137
- * Addresses styling not present in IE 8/9.
138
- */
139
-
140
- mark {
141
- background: #ff0;
142
- color: #000;
143
- }
144
-
145
-
146
- /*
147
- * Corrects font family set oddly in Safari 5 and Chrome.
148
- */
149
-
150
- code,
151
- kbd,
152
- pre,
153
- samp {
154
- font-family: monospace, serif;
155
- font-size: 1em;
156
- }
157
-
158
- /*
159
- * Improves readability of pre-formatted text in all browsers.
160
- */
161
-
162
- pre {
163
- white-space: pre;
164
- white-space: pre-wrap;
165
- word-wrap: break-word;
166
- }
167
-
168
- /*
169
- * Sets consistent quote types.
170
- */
171
-
172
- q {
173
- quotes: "\201C" "\201D" "\2018" "\2019";
174
- }
175
-
176
- /*
177
- * Addresses inconsistent and variable font size in all browsers.
178
- */
179
-
180
- small {
181
- font-size: 80%;
182
- }
183
-
184
- /*
185
- * Prevents `sub` and `sup` affecting `line-height` in all browsers.
186
- */
187
-
188
- sub,
189
- sup {
190
- font-size: 75%;
191
- line-height: 0;
192
- position: relative;
193
- vertical-align: baseline;
194
- }
195
-
196
- sup {
197
- top: -0.5em;
198
- }
199
-
200
- sub {
201
- bottom: -0.25em;
202
- }
203
-
204
- /* ==========================================================================
205
- Embedded content
206
- ========================================================================== */
207
-
208
- /*
209
- * Removes border when inside `a` element in IE 8/9.
210
- */
211
-
212
- img {
213
- border: 0;
214
- }
215
-
216
- /*
217
- * Corrects overflow displayed oddly in IE 9.
218
- */
219
-
220
- svg:not(:root) {
221
- overflow: hidden;
222
- }
223
-
224
- /* ==========================================================================
225
- Figures
226
- ========================================================================== */
227
-
228
- /*
229
- * Addresses margin not present in IE 8/9 and Safari 5.
230
- */
231
-
232
- figure {
233
- margin: 0;
234
- }
235
-
236
- /* ==========================================================================
237
- Forms
238
- ========================================================================== */
239
-
240
- /*
241
- * Define consistent border, margin, and padding.
242
- */
243
-
244
- fieldset {
245
- border: 1px solid #c0c0c0;
246
- margin: 0 2px;
247
- padding: 0.35em 0.625em 0.75em;
248
- }
249
-
250
- /*
251
- * 1. Corrects color not being inherited in IE 8/9.
252
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
253
- */
254
-
255
- legend {
256
- border: 0; /* 1 */
257
- padding: 0; /* 2 */
258
- }
259
-
260
- /*
261
- * 1. Corrects font family not being inherited in all browsers.
262
- * 2. Corrects font size not being inherited in all browsers.
263
- * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
264
- */
265
-
266
- button,
267
- input,
268
- select,
269
- textarea {
270
- font-family: inherit; /* 1 */
271
- font-size: 100%; /* 2 */
272
- margin: 0; /* 3 */
273
- }
274
-
275
- /*
276
- * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
277
- * the UA stylesheet.
278
- */
279
-
280
- button,
281
- input {
282
- line-height: normal;
283
- }
284
-
285
- /*
286
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
287
- * and `video` controls.
288
- * 2. Corrects inability to style clickable `input` types in iOS.
289
- * 3. Improves usability and consistency of cursor style between image-type
290
- * `input` and others.
291
- */
292
-
293
- button,
294
- html input[type="button"], /* 1 */
295
- input[type="reset"],
296
- input[type="submit"] {
297
- -webkit-appearance: button; /* 2 */
298
- cursor: pointer; /* 3 */
299
- }
300
-
301
- /*
302
- * Re-set default cursor for disabled elements.
303
- */
304
-
305
- button[disabled],
306
- input[disabled] {
307
- cursor: default;
308
- }
309
-
310
- /*
311
- * 1. Addresses box sizing set to `content-box` in IE 8/9.
312
- * 2. Removes excess padding in IE 8/9.
313
- */
314
-
315
- input[type="checkbox"],
316
- input[type="radio"] {
317
- box-sizing: border-box; /* 1 */
318
- padding: 0; /* 2 */
319
- }
320
-
321
- /*
322
- * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
323
- * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
324
- * (include `-moz` to future-proof).
325
- */
326
-
327
- input[type="search"] {
328
- -webkit-appearance: textfield; /* 1 */
329
- -moz-box-sizing: content-box;
330
- -webkit-box-sizing: content-box; /* 2 */
331
- box-sizing: content-box;
332
- }
333
-
334
- /*
335
- * Removes inner padding and search cancel button in Safari 5 and Chrome
336
- * on OS X.
337
- */
338
-
339
- input[type="search"]::-webkit-search-cancel-button,
340
- input[type="search"]::-webkit-search-decoration {
341
- -webkit-appearance: none;
342
- }
343
-
344
- /*
345
- * Removes inner padding and border in Firefox 4+.
346
- */
347
-
348
- button::-moz-focus-inner,
349
- input::-moz-focus-inner {
350
- border: 0;
351
- padding: 0;
352
- }
353
-
354
- /*
355
- * 1. Removes default vertical scrollbar in IE 8/9.
356
- * 2. Improves readability and alignment in all browsers.
357
- */
358
-
359
- textarea {
360
- overflow: auto; /* 1 */
361
- vertical-align: top; /* 2 */
362
- }
363
-
364
- /* ==========================================================================
365
- Tables
366
- ========================================================================== */
367
-
368
- /*
369
- * Remove most spacing between table cells.
370
- */
371
-
372
- table {
373
- border-collapse: collapse;
374
- border-spacing: 0;
375
- }