golf 0.4.12 → 0.4.13

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- golf (0.3.9)
4
+ golf (0.4.13)
5
5
  json
6
6
  rack
7
7
  thor
@@ -10,7 +10,6 @@ GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
12
  json (1.5.1)
13
- json (1.5.1-java)
14
13
  rack (1.2.2)
15
14
  rack-test (0.5.7)
16
15
  rack (>= 1.0)
data/lib/golf/cli.rb CHANGED
@@ -49,10 +49,25 @@ module Golf
49
49
  end
50
50
 
51
51
  desc "compile [DESTINATION]", "Compile the app into a directory"
52
- def compile(dir)
53
- Golf::Compiler.compile!
54
- end
52
+ # move resources into destination from gem
53
+ # move golfapp/ over destination
54
+ # drop component.js into destination
55
55
 
56
+ def compile(dir)
57
+ if Golf::Compiler.valid?('.')
58
+ compiler = Golf::Compiler.new
59
+ gem_resources = File.expand_path("../../../resources", __FILE__)
60
+ directory(gem_resources, dir)
61
+ directory('golfapp/', dir)
62
+ create_file "#{dir}/components.js" do
63
+ compiler.generate_componentsjs
64
+ end
65
+ else
66
+ puts "golfapp/components not found"
67
+ end
68
+ end
69
+
70
+
56
71
  desc "version", "Output the version number"
57
72
  def version
58
73
  puts Golf::VERSION
data/lib/golf/compiler.rb CHANGED
@@ -7,12 +7,16 @@ module Golf
7
7
  def initialize(golfpath = ".")
8
8
  @golfpath = "#{golfpath}/golfapp"
9
9
  puts "golf #{Golf::VERSION}: starting compiler in #{@golfpath}..."
10
- components = "#{@golfpath}/components"
11
- puts "golf #{Golf::VERSION}: is valid golfapp?: #{File.exists?(components)}"
10
+ puts "golf #{Golf::VERSION}: is valid golfapp?: #{Golf::Compiler.valid?(@golfpath)}"
12
11
  end
13
12
 
13
+ def self.valid?(dir)
14
+ File.exists?("#{dir}/golfapp/components")
15
+ end
16
+
17
+
14
18
  def generate_componentsjs
15
- "jQuery.golf.components=#{component_json};jQuery.golf.res=#{res_json};jQuery.golf.plugins=#{plugin_json};jQuery.golf.scripts=#{script_json};jQuery.golf.styles=#{style_json};jQuery.golf.setupComponents();"
19
+ "jQuery.golf.components=#{component_json};;jQuery.golf.res=#{res_json};;jQuery.golf.plugins=#{plugin_json};;jQuery.golf.scripts=#{script_json};;jQuery.golf.styles=#{style_json};;jQuery.golf.setupComponents();"
16
20
  end
17
21
 
18
22
  def component_json
@@ -23,6 +27,38 @@ module Golf
23
27
  JSON.dump(compile_res(@golfpath))
24
28
  end
25
29
 
30
+ # compile_res: This function creates a hash representation of
31
+ # the file structure relative to <dir>. The values are either
32
+ # hashes (for directories) or strings (for files). The string
33
+ # values are the path to the file relative to @golfpath.
34
+ #
35
+ # Example: compile_res("#{@golfpath}/dir1")
36
+ #
37
+ # @golfpath/
38
+ # |--dir1/
39
+ # | |--file1
40
+ # | |--file2
41
+ # | +--dir2/
42
+ # | |--file3
43
+ # | |--file4
44
+ # | +--dir3/
45
+ # | |--file5
46
+ # | +--file6
47
+ # +--dir4/
48
+ #
49
+ # {
50
+ # file1 => "dir1/file1",
51
+ # file2 => "dir1/file2",
52
+ # dir2 => {
53
+ # file3 => "dir1/dir2/file3",
54
+ # file4 => "dir1/dir2/file4"
55
+ # dir3 => {
56
+ # file5 => "dir1/dir2/dir3/file5",
57
+ # file6 => "dir1/dir2/dir3/file6"
58
+ # }
59
+ # }
60
+ # }
61
+ #
26
62
  def compile_res(dir)
27
63
  results = {}
28
64
  mypath = dir.split('').last == "/" ? dir : dir+"/"
data/lib/golf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Golf
2
- VERSION = "0.4.12"
2
+ VERSION = "0.4.13"
3
3
  end
@@ -4,6 +4,7 @@ class CompilerTest < Test::Unit::TestCase
4
4
 
5
5
  def setup
6
6
  @compiler = Golf::Compiler.new(File.expand_path("../twitter_compiled", __FILE__))
7
+ @reference_file = File.read(File.expand_path("../twitter_compiled/golfapp/components.js", __FILE__))
7
8
  end
8
9
 
9
10
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: golf
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 21
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 12
9
- version: 0.4.12
9
+ - 13
10
+ version: 0.4.13
10
11
  platform: ruby
11
12
  authors:
12
13
  - Micha Niskin, Alan Dipert, Julio Capote
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-04-12 00:00:00 -04:00
18
+ date: 2011-04-13 00:00:00 -07:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
@@ -25,6 +26,7 @@ dependencies:
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
29
+ hash: 3
28
30
  segments:
29
31
  - 0
30
32
  version: "0"
@@ -38,6 +40,7 @@ dependencies:
38
40
  requirements:
39
41
  - - ">="
40
42
  - !ruby/object:Gem::Version
43
+ hash: 3
41
44
  segments:
42
45
  - 0
43
46
  version: "0"
@@ -51,6 +54,7 @@ dependencies:
51
54
  requirements:
52
55
  - - ">="
53
56
  - !ruby/object:Gem::Version
57
+ hash: 3
54
58
  segments:
55
59
  - 0
56
60
  version: "0"
@@ -196,6 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
200
  requirements:
197
201
  - - ">="
198
202
  - !ruby/object:Gem::Version
203
+ hash: 3
199
204
  segments:
200
205
  - 0
201
206
  version: "0"
@@ -204,32 +209,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
209
  requirements:
205
210
  - - ">="
206
211
  - !ruby/object:Gem::Version
212
+ hash: 3
207
213
  segments:
208
214
  - 0
209
215
  version: "0"
210
216
  requirements: []
211
217
 
212
218
  rubyforge_project: golf
213
- rubygems_version: 1.3.7
219
+ rubygems_version: 1.6.2
214
220
  signing_key:
215
221
  specification_version: 3
216
222
  summary: Component based front end JS Framework
217
- test_files:
218
- - test/test_compiler.rb
219
- - test/test_helper.rb
220
- - test/test_rack.rb
221
- - test/twitter_compiled/Gemfile
222
- - test/twitter_compiled/config.ru
223
- - test/twitter_compiled/golfapp/app_error.html
224
- - test/twitter_compiled/golfapp/components.js
225
- - test/twitter_compiled/golfapp/components/golf/twitter/Search/Search.html
226
- - test/twitter_compiled/golfapp/components/golf/twitter/Tweet/Tweet.html
227
- - test/twitter_compiled/golfapp/controller.js
228
- - test/twitter_compiled/golfapp/index.html
229
- - test/twitter_compiled/golfapp/jquery.address.js
230
- - test/twitter_compiled/golfapp/jquery.golf.js
231
- - test/twitter_compiled/golfapp/jquery.js
232
- - test/twitter_compiled/golfapp/plugins/twitter.js
233
- - test/twitter_compiled/golfapp/scripts/00-myscript.js
234
- - test/twitter_compiled/golfapp/styles/main.css
235
- - test/twitter_compiled/golfapp/welcome2golf.html
223
+ test_files: []
224
+