fixie-rails 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-