sumatra-rails 0.0.4.1 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
- }