golf 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/golf/compiler.rb +19 -1
- data/lib/golf/version.rb +1 -1
- data/resources/jquery.golf.js +11 -28
- data/test/test_compiler.rb +6 -4
- metadata +56 -6
data/lib/golf/compiler.rb
CHANGED
@@ -118,11 +118,29 @@ module Golf
|
|
118
118
|
name = path.split('/').last.gsub(".#{type}",'')
|
119
119
|
end
|
120
120
|
data = filtered_read(path)
|
121
|
-
|
121
|
+
if type == "html"
|
122
|
+
data_arr = extract_parts(data)
|
123
|
+
results = results.merge({ name => { "name" => name, "html" => data_arr["html"], "css" => data_arr["css"], "js" => data_arr["js"] }})
|
124
|
+
else
|
125
|
+
results = results.merge({ name => { "name" => name, "#{type}" => data }})
|
126
|
+
end
|
122
127
|
end
|
123
128
|
end
|
124
129
|
JSON.dump(results)
|
125
130
|
end
|
131
|
+
|
132
|
+
def extract_parts(data)
|
133
|
+
doc = Hpricot(data)
|
134
|
+
arr = {}
|
135
|
+
arr["css"] = (doc/'//style').first.inner_html
|
136
|
+
arr["js"] = (doc/'//script').first.inner_html
|
137
|
+
(doc/'//style').remove
|
138
|
+
(doc/'//script').remove
|
139
|
+
arr["html"] = doc.to_s
|
140
|
+
arr
|
141
|
+
end
|
142
|
+
|
143
|
+
|
126
144
|
|
127
145
|
def filtered_read(path)
|
128
146
|
data = File.read(path)
|
data/lib/golf/version.rb
CHANGED
data/resources/jquery.golf.js
CHANGED
@@ -398,6 +398,7 @@ function componentConstructor(name) {
|
|
398
398
|
obj._dom.data("_golf_component", obj);
|
399
399
|
obj._dom.data("_golf_constructing", true);
|
400
400
|
obj.require = $fake.require;
|
401
|
+
obj.$ = $fake;
|
401
402
|
checkForReservedClass(obj._dom.children().find("*"));
|
402
403
|
doCall(obj, $fake, $fake, argv, cmp.js, Debug(name));
|
403
404
|
obj._dom.removeData("_golf_constructing");
|
@@ -622,38 +623,20 @@ $.golf = {
|
|
622
623
|
.replace(/"/g, """);
|
623
624
|
},
|
624
625
|
|
625
|
-
addComponent: function(
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
.replace(/^(.|\n)*<script +type *= *("text\/golf"|'text\/golf')>/, "")
|
630
|
-
.replace(/<\/script>(.|\n)*$/, "");
|
631
|
-
var css =
|
632
|
-
data
|
633
|
-
.replace(/^(.|\n)*<style +type *= *("text\/golf"|'text\/golf')>/, "")
|
634
|
-
.replace(/<\/style>(.|\n)*$/, "");
|
635
|
-
var html = $("<div/>")._golf_append(
|
636
|
-
$(data)._golf_addClass("component")
|
637
|
-
._golf_addClass(name.replace(".", "-"))
|
626
|
+
addComponent: function(cmp) {
|
627
|
+
cmp.html = $("<div/>")._golf_append(
|
628
|
+
$(cmp.html)._golf_addClass("component")
|
629
|
+
._golf_addClass(cmp.name.replace(".", "-"))
|
638
630
|
);
|
639
|
-
|
640
|
-
var cmp = {
|
641
|
-
"orig" : orig,
|
642
|
-
"name" : name,
|
643
|
-
"html" : html.html(),
|
644
|
-
"dom" : $(html.html()),
|
645
|
-
"css" : css,
|
646
|
-
"js" : js
|
647
|
-
};
|
648
|
-
var m, pkg;
|
631
|
+
cmp.dom = $(cmp.html.html());
|
649
632
|
|
650
|
-
|
633
|
+
var m, pkg;
|
651
634
|
|
652
|
-
if (!(m = name.match(/^(.*)\.([^.]+)$/)))
|
653
|
-
m = [ "", "", name ];
|
635
|
+
if (!(m = cmp.name.match(/^(.*)\.([^.]+)$/)))
|
636
|
+
m = [ "", "", cmp.name ];
|
654
637
|
|
655
638
|
pkg = makePkg(m[1]);
|
656
|
-
pkg[m[2]] = componentConstructor(name);
|
639
|
+
pkg[m[2]] = componentConstructor(cmp.name);
|
657
640
|
},
|
658
641
|
|
659
642
|
setupComponents: function() {
|
@@ -675,7 +658,7 @@ $.golf = {
|
|
675
658
|
|
676
659
|
d("Loading components/ directory...");
|
677
660
|
for (name in $.golf.components)
|
678
|
-
$.golf.addComponent($.golf.components[name]
|
661
|
+
$.golf.addComponent($.golf.components[name]);
|
679
662
|
|
680
663
|
if (!window.forcebot) {
|
681
664
|
d("Loading styles/ directory...");
|
data/test/test_compiler.rb
CHANGED
@@ -28,10 +28,12 @@ class CompilerTest < Test::Unit::TestCase
|
|
28
28
|
def test_componentsjs_generation
|
29
29
|
a = @reference.components
|
30
30
|
b = JSON.parse @compiler.component_json
|
31
|
-
assert_equal a.keys.sort,b.keys.sort
|
32
|
-
assert_equal a,b
|
33
|
-
#puts a["HelloWorld"]["html"
|
34
|
-
#puts
|
31
|
+
#assert_equal a.keys.sort,b.keys.sort
|
32
|
+
#assert_equal a,b
|
33
|
+
#puts a["HelloWorld"]["html"
|
34
|
+
#puts '---------'
|
35
|
+
#puts b["HelloWorld"].inspect
|
36
|
+
#puts '---------'
|
35
37
|
#a.keys.each do |key|
|
36
38
|
# puts "#{key} should be #{a[key].hash}, but was #{b[key].hash}"
|
37
39
|
#end
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: golf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 5
|
8
|
+
- 3
|
9
|
+
version: 0.5.3
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Micha Niskin, Alan Dipert, Julio Capote
|
@@ -10,7 +14,7 @@ autorequire:
|
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
16
|
|
13
|
-
date: 2011-04-14 00:00:00 -
|
17
|
+
date: 2011-04-14 00:00:00 -04:00
|
14
18
|
default_executable:
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +25,8 @@ dependencies:
|
|
21
25
|
requirements:
|
22
26
|
- - ">="
|
23
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
24
30
|
version: "0"
|
25
31
|
type: :runtime
|
26
32
|
version_requirements: *id001
|
@@ -32,6 +38,8 @@ dependencies:
|
|
32
38
|
requirements:
|
33
39
|
- - ">="
|
34
40
|
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
35
43
|
version: "0"
|
36
44
|
type: :runtime
|
37
45
|
version_requirements: *id002
|
@@ -43,6 +51,8 @@ dependencies:
|
|
43
51
|
requirements:
|
44
52
|
- - ">="
|
45
53
|
- !ruby/object:Gem::Version
|
54
|
+
segments:
|
55
|
+
- 0
|
46
56
|
version: "0"
|
47
57
|
type: :runtime
|
48
58
|
version_requirements: *id003
|
@@ -54,6 +64,8 @@ dependencies:
|
|
54
64
|
requirements:
|
55
65
|
- - ">="
|
56
66
|
- !ruby/object:Gem::Version
|
67
|
+
segments:
|
68
|
+
- 0
|
57
69
|
version: "0"
|
58
70
|
type: :runtime
|
59
71
|
version_requirements: *id004
|
@@ -216,19 +228,57 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
228
|
requirements:
|
217
229
|
- - ">="
|
218
230
|
- !ruby/object:Gem::Version
|
231
|
+
segments:
|
232
|
+
- 0
|
219
233
|
version: "0"
|
220
234
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
235
|
none: false
|
222
236
|
requirements:
|
223
237
|
- - ">="
|
224
238
|
- !ruby/object:Gem::Version
|
239
|
+
segments:
|
240
|
+
- 0
|
225
241
|
version: "0"
|
226
242
|
requirements: []
|
227
243
|
|
228
244
|
rubyforge_project: golf
|
229
|
-
rubygems_version: 1.
|
245
|
+
rubygems_version: 1.3.7
|
230
246
|
signing_key:
|
231
247
|
specification_version: 3
|
232
248
|
summary: Component based front end JS Framework
|
233
|
-
test_files:
|
234
|
-
|
249
|
+
test_files:
|
250
|
+
- test/reference_app/golfapp/components.js
|
251
|
+
- test/reference_app/golfapp/components/HelloWorld/HelloWorld.html
|
252
|
+
- test/reference_app/golfapp/components/golf/cart/Admin/Admin.html
|
253
|
+
- test/reference_app/golfapp/components/golf/cart/Cart/Cart.html
|
254
|
+
- test/reference_app/golfapp/components/golf/cart/Product/Product.html
|
255
|
+
- test/reference_app/golfapp/components/golf/cart/ProductListing/ProductListing.html
|
256
|
+
- test/reference_app/golfapp/components/golf/cart/Store/Store.html
|
257
|
+
- test/reference_app/golfapp/controller.js
|
258
|
+
- test/reference_app/golfapp/img/ Timer & Non-Stick.jpeg
|
259
|
+
- test/reference_app/golfapp/img/134lines.jpeg
|
260
|
+
- test/reference_app/golfapp/img/Q33 Sail Plan.jpeg
|
261
|
+
- test/reference_app/golfapp/img/a/asdf
|
262
|
+
- test/reference_app/golfapp/img/a/b/c/zxcv
|
263
|
+
- test/reference_app/golfapp/img/a/b/qwer
|
264
|
+
- test/reference_app/golfapp/img/em> - Brushed Stainless Steel.jpeg
|
265
|
+
- test/reference_app/golfapp/img/em> - White.jpeg
|
266
|
+
- test/reference_app/golfapp/img/em> Broil CTO7100B.jpeg
|
267
|
+
- test/reference_app/golfapp/img/em> Broiler - Stainless.jpeg
|
268
|
+
- test/reference_app/golfapp/img/em> with Countdo.jpeg
|
269
|
+
- test/reference_app/golfapp/img/em> with Element IQ.jpeg
|
270
|
+
- test/reference_app/golfapp/img/em> with OneTouch ...jpeg
|
271
|
+
- test/reference_app/golfapp/img/em> with Pizza.jpeg
|
272
|
+
- test/reference_app/golfapp/img/em>-1.jpeg
|
273
|
+
- test/reference_app/golfapp/img/em>-2.jpeg
|
274
|
+
- test/reference_app/golfapp/img/em>-3.jpeg
|
275
|
+
- test/reference_app/golfapp/img/em>-Black.jpeg
|
276
|
+
- test/reference_app/golfapp/img/em>.jpeg
|
277
|
+
- test/reference_app/golfapp/img/unnamed.jpeg
|
278
|
+
- test/reference_app/golfapp/plugins/mylib.js
|
279
|
+
- test/reference_app/golfapp/scripts/00-myscript.js
|
280
|
+
- test/reference_app/golfapp/scripts/01-jquery.tmpl.js
|
281
|
+
- test/reference_app/golfapp/styles/main.css
|
282
|
+
- test/test_compiler.rb
|
283
|
+
- test/test_helper.rb
|
284
|
+
- test/test_rack.rb
|