fixie-rails 1.0.0 → 1.0.1

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.
@@ -1,5 +1,5 @@
1
1
  module Fixie
2
2
  module Rails
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
@@ -8,9 +8,11 @@
8
8
  * Hope you find it useful :)
9
9
  */
10
10
  var fixie = (
11
-
12
11
  function () {
13
12
 
13
+ var selector;
14
+ var imagePlaceHolder = "http://placehold.it/${w}x${h}";
15
+
14
16
  if (typeof window.getElementsByClassName != 'function') {
15
17
  document.getElementsByClassName = function (cl) {
16
18
  var retnode = [];
@@ -54,7 +56,7 @@ function () {
54
56
  fixie_handler(childs[fixie_i]);
55
57
  }
56
58
  }
57
- return true;
59
+ return;
58
60
  }
59
61
  switch (element.nodeName.toLowerCase()) {
60
62
  case 'b':
@@ -110,16 +112,24 @@ function () {
110
112
  break;
111
113
 
112
114
  case 'img':
113
- var width = element.getAttribute('height') || element.setAttribute('width', 250) || 250;
114
- var height = element.getAttribute('height') || element.setAttribute('height', 100) || 100;
115
- element.src = "http://placehold.it/" + width + "x" + height;
115
+ var src = element.getAttribute('src') || element.src;
116
+ var temp = element.getAttribute('fixie-temp-img');
117
+ if(src == "" || src == null || temp == true || temp == "true"){
118
+ var width = element.getAttribute('width') || element.width || (element.width = 250);
119
+ var height = element.getAttribute('height') || element.height || (element.height = 100);
120
+ element.src = imagePlaceHolder.replace('${w}', width).replace('${h}', height);
121
+ element.setAttribute('fixie-temp-img', true);
122
+ }
123
+ break;
124
+
125
+ case 'ol':
126
+ case 'ul':
127
+ element.innerHTML = fixie_fetchList();
116
128
  break;
117
129
 
118
130
  default:
119
131
  element.innerHTML = fixie_fetchSentence();
120
- return false;
121
132
  }
122
- return true;
123
133
  }
124
134
 
125
135
  // Handle an array of elements
@@ -145,13 +155,20 @@ function () {
145
155
  return Math.round(Math.random() * (max - min) + min)
146
156
  }
147
157
 
148
- function fixie_fetch(min, max, func){
149
- var fixie_length = constrain(min, max) ;
158
+ function fixie_fetch(min, max, func, join) {
159
+ join || (join = ' ');
160
+ var fixie_length = constrain(min, max);
150
161
  var result = [];
151
- for (var fixie_i = 0; fixie_i < fixie_length ; fixie_i++) {
162
+ for (var fixie_i = 0; fixie_i < fixie_length; fixie_i++) {
152
163
  result.push(func());
153
164
  }
154
- return fixie_capitalize(result.join(' '));
165
+ return fixie_capitalize(result.join(join));
166
+ }
167
+
168
+ function fetch_suroundWithTag(min, max, func, tagName) {
169
+ var startTag = '<' + tagName + '>';
170
+ var endTag = '</' + tagName + '>';
171
+ return startTag + fixie_fetch(4, 8, func, endTag + startTag) + endTag;
155
172
  }
156
173
 
157
174
  function fixie_fetchPhrase() {
@@ -167,20 +184,19 @@ function () {
167
184
  }
168
185
 
169
186
  function fixie_fetchParagraphs() {
170
- var fixie_length = constrain(3, 7);
171
- var fixie_str = "";
172
- for (var fixie_i = 0; fixie_i < fixie_length - 1; fixie_i++) {
173
- fixie_str += "<p>" + fixie_fetchParagraph() + "</p>";
174
- }
175
- return fixie_str;
187
+ return fetch_suroundWithTag(3, 7, fixie_fetchParagraph, 'p');
176
188
  }
177
-
178
-
179
189
 
190
+ function fixie_fetchList() {
191
+ return fetch_suroundWithTag(4, 8, fixie_fetchPhrase, 'li');
192
+ }
193
+
180
194
  // Handle all elements with class 'fixie'
181
195
  fixie_handle_elements(document.getElementsByClassName('fixie'));
182
196
 
183
197
  // Handle elements which match give css selectors
198
+
199
+
184
200
  function init_str(selector_str) {
185
201
  if (!document.querySelectorAll) {
186
202
  return false;
@@ -196,13 +212,24 @@ function () {
196
212
 
197
213
  return {
198
214
  /* returns true if successful, false otherwise */
199
- 'init': function(strOrArr) {
200
- if (typeof strOrArr === "object") {
201
- return init_str(strOrArr.join(","));
202
- }
203
- else {
204
- return init_str(strOrArr);
215
+ 'init': function() {
216
+ if (selector) {
217
+ init_str(selector);
218
+ } else {
219
+ fixie_handle_elements(document.getElementsByClassName('fixie'));
205
220
  }
221
+ },
222
+ 'setImagePlaceholder': function(pl) {
223
+ imagePlaceHolder = pl;
224
+ return this;
225
+ },
226
+ 'setSelector': function(sl){
227
+ if (typeof sl === "object") {
228
+ selector = sl.join(",");
229
+ } else if (sl){
230
+ selector = sl;
231
+ }
232
+ return this;
206
233
  }
207
234
  };
208
235
 
metadata CHANGED
@@ -1,67 +1,50 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: fixie-rails
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- - 0
9
- version: 1.0.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Christopher Sexton
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-05-05 00:00:00 -04:00
18
- default_executable:
12
+ date: 2012-05-07 00:00:00.000000000Z
19
13
  dependencies: []
20
-
21
14
  description: Ryhan Hassan's awesome Fixie.js packaged up for the rails asset pipeline
22
- email:
15
+ email:
23
16
  - github@codeography.com
24
17
  executables: []
25
-
26
18
  extensions: []
27
-
28
19
  extra_rdoc_files: []
29
-
30
- files:
20
+ files:
31
21
  - vendor/assets/javascripts/fixie.js
32
22
  - lib/fixie-rails/engine.rb
33
23
  - lib/fixie-rails/version.rb
34
24
  - lib/fixie-rails.rb
35
25
  - README.md
36
- has_rdoc: true
37
26
  homepage: http://fixiejs.com/
38
27
  licenses: []
39
-
40
28
  post_install_message:
41
29
  rdoc_options: []
42
-
43
- require_paths:
30
+ require_paths:
44
31
  - lib
45
- required_ruby_version: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- segments:
50
- - 0
51
- version: "0"
52
- required_rubygems_version: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- segments:
57
- - 0
58
- version: "0"
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
59
44
  requirements: []
60
-
61
45
  rubyforge_project: fixie-rails
62
- rubygems_version: 1.3.6
46
+ rubygems_version: 1.8.15
63
47
  signing_key:
64
48
  specification_version: 3
65
49
  summary: Fixie.js for Rails Asset Pipeline
66
50
  test_files: []
67
-