golf 0.1.1 → 0.1.2

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.
data/golf.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.add_dependency('thor')
16
16
  s.add_dependency('json')
17
+ s.add_dependency('rack')
17
18
 
18
19
  s.bindir = 'bin'
19
20
  s.executables = ['golf']
data/lib/golf/rack.rb CHANGED
@@ -10,6 +10,7 @@ module Golf
10
10
  end
11
11
 
12
12
  def call(env)
13
+ code = "200"
13
14
  case env["PATH_INFO"]
14
15
  when "/"
15
16
  mime = MIME_TYPES[".html"]
@@ -23,9 +24,10 @@ module Golf
23
24
  unless result
24
25
  mime = 'text/plain'
25
26
  result = 'not found'
27
+ code = "404"
26
28
  end
27
29
  end
28
- return ['200', { 'Content-Type' => mime, 'Content-Length' => result.length.to_s}, [result]]
30
+ return [code, { 'Content-Type' => mime, 'Content-Length' => result.length.to_s}, [result]]
29
31
  end
30
32
  end
31
33
 
data/lib/golf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Golf
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -1,7 +1,4 @@
1
- require 'bundler'
1
+ require 'rubygems'
2
2
  require 'golf'
3
- require 'rack'
4
- require 'rack/contrib'
5
3
 
6
- use Golf::Rack
7
- run Rack::NotFound.new('404.txt')
4
+ run Golf::Rack.new
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'rack'
4
+ gem 'rack-contrib'
5
+ gem 'rack-rewrite'
6
+ gem 'golf'
@@ -0,0 +1,29 @@
1
+ <div>
2
+ <style type="text/golf">
3
+ </style>
4
+
5
+ <script type="text/golf">
6
+ function(query) {
7
+ var search = $.require("twitter").search;
8
+
9
+ search(query, function(i, tweet) {
10
+ $(".results").append(new Component.golf.twitter.Tweet(tweet));
11
+ $(".numresults").text(i+1);
12
+ });
13
+
14
+ $("form").submit(function() {
15
+ $.golf.location("/"+$("input[name='query']").val()+"/");
16
+ });
17
+ }
18
+ </script>
19
+
20
+ <div class="content">
21
+ <h1>Twitter Search</h1>
22
+ <form>
23
+ <input type="text" name="query"/>
24
+ <input type="submit"/>
25
+ </form>
26
+ <p><span class="numresults">0</span> results:</p>
27
+ <ul class="results"/>
28
+ </div>
29
+ </div>
@@ -0,0 +1,16 @@
1
+ <li>
2
+ <style type="text/golf">
3
+ span.user {
4
+ color: green;
5
+ }
6
+ </style>
7
+
8
+ <script type="text/golf">
9
+ function(tweet) {
10
+ $(".user").text(tweet.from_user);
11
+ $(".text").text(tweet.text);
12
+ }
13
+ </script>
14
+
15
+ <span class="user">A user</span> says: <span class="text">Some things.</span>
16
+ </li>
@@ -0,0 +1,7 @@
1
+ require 'bundler'
2
+ require 'golf'
3
+ require 'rack'
4
+ require 'rack/contrib'
5
+
6
+ use Golf::Rack
7
+ run Rack::NotFound.new('404.txt')
@@ -0,0 +1,9 @@
1
+ $.golf.defaultRoute = "/golf/";
2
+
3
+ $.golf.controller = [
4
+ { route: "/(.*)/",
5
+ action: function(container, params) {
6
+ container.append(new Component.golf.twitter.Search(unescape(params[1])));
7
+ }
8
+ }
9
+ ];
@@ -0,0 +1,14 @@
1
+ (function() {
2
+
3
+ exports.search = function(query, callback) {
4
+ $.getJSON(
5
+ "http://search.twitter.com/search.json?q="+escape(query)+"&callback=?",
6
+ function(data) {
7
+ $.each(data.results, function(i, tweet) {
8
+ callback(i, tweet);
9
+ });
10
+ }
11
+ );
12
+ };
13
+
14
+ })();
File without changes
File without changes
data/test/test_rack.rb CHANGED
@@ -9,18 +9,34 @@ class RackTest < Test::Unit::TestCase
9
9
 
10
10
  def test_component_regeneration
11
11
  get "/components.js"
12
+ assert_equal last_response.original_headers["Content-Type"], "application/javascript"
12
13
  assert last_response.ok?
13
14
  end
14
15
 
15
- def test_resource_serving
16
+ def test_js_serving
16
17
  get "/jquery.js"
18
+ assert last_response.body.include?('John Resig')
19
+ assert_equal last_response.original_headers["Content-Type"], "application/javascript"
17
20
  assert last_response.ok?
18
21
 
19
22
  get "/jquery.golf.js"
23
+ assert last_response.body.include?('golf')
24
+ assert_equal last_response.original_headers["Content-Type"], "application/javascript"
20
25
  assert last_response.ok?
21
26
 
27
+ end
28
+
29
+ def test_root
22
30
  get "/"
31
+ assert last_response.body.include?('html')
32
+ assert last_response.original_headers["Content-Type"] == "text/html"
23
33
  assert last_response.ok?
24
34
  end
25
35
 
36
+ def test_not_found
37
+ get "/asdasdasdsdsds"
38
+ assert last_response.body.include?('not found')
39
+ assert_equal last_response.status, 404
40
+ end
41
+
26
42
  end
metadata CHANGED
@@ -2,10 +2,10 @@
2
2
  name: golf
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
- - Micha Niskin, Alan Dipert, Julio Capote
8
+ - Micha Niskin, Alan Dipert, Julio Capote
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
@@ -13,76 +13,95 @@ cert_chain: []
13
13
  date: 2011-04-10 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: thor
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
20
- none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
25
- type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
31
- none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: "0"
36
- type: :runtime
37
- version_requirements: *id002
16
+ - !ruby/object:Gem::Dependency
17
+ name: thor
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :runtime
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: rack
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id003
38
49
  description: Golf lets you write your interface in terms of reusable, simple components.
39
50
  email:
40
- - michaniskin@gmail.com
51
+ - michaniskin@gmail.com
41
52
  executables:
42
- - golf
53
+ - golf
43
54
  extensions: []
44
55
 
45
56
  extra_rdoc_files: []
46
57
 
47
58
  files:
48
- - .gitignore
49
- - Gemfile
50
- - Gemfile.lock
51
- - Rakefile
52
- - bin/golf
53
- - golf.gemspec
54
- - lib/golf.rb
55
- - lib/golf/cli.rb
56
- - lib/golf/compiler.rb
57
- - lib/golf/rack.rb
58
- - lib/golf/version.rb
59
- - resources/app_error.html
60
- - resources/controller.js
61
- - resources/index.html
62
- - resources/jquery.address.js
63
- - resources/jquery.golf.js
64
- - resources/jquery.js
65
- - resources/welcome2golf.html
66
- - templates/new/404.txt
67
- - templates/new/Gemfile
68
- - templates/new/components/HelloWorld/HelloWorld.html
69
- - templates/new/config.ru
70
- - templates/new/controller.js
71
- - templates/new/plugins/mylib.js
72
- - templates/new/scripts/00-myscript.js
73
- - templates/new/styles/main.css
74
- - test/data/app_error.html
75
- - test/data/components.js
76
- - test/data/components/HelloWorld/HelloWorld.html
77
- - test/data/controller.js
78
- - test/data/index.html
79
- - test/data/jquery.address.js
80
- - test/data/jquery.golf.js
81
- - test/data/jquery.js
82
- - test/data/welcome2golf.html
83
- - test/test_compiler.rb
84
- - test/test_helper.rb
85
- - test/test_rack.rb
59
+ - .gitignore
60
+ - Gemfile
61
+ - Gemfile.lock
62
+ - Rakefile
63
+ - bin/golf
64
+ - golf.gemspec
65
+ - lib/golf.rb
66
+ - lib/golf/cli.rb
67
+ - lib/golf/compiler.rb
68
+ - lib/golf/rack.rb
69
+ - lib/golf/version.rb
70
+ - resources/app_error.html
71
+ - resources/controller.js
72
+ - resources/index.html
73
+ - resources/jquery.address.js
74
+ - resources/jquery.golf.js
75
+ - resources/jquery.js
76
+ - resources/welcome2golf.html
77
+ - templates/new/Gemfile
78
+ - templates/new/components/HelloWorld/HelloWorld.html
79
+ - templates/new/config.ru
80
+ - templates/new/controller.js
81
+ - templates/new/plugins/mylib.js
82
+ - templates/new/scripts/00-myscript.js
83
+ - templates/new/styles/main.css
84
+ - templates/twitter/404.txt
85
+ - templates/twitter/Gemfile
86
+ - templates/twitter/components/golf/twitter/Search/Search.html
87
+ - templates/twitter/components/golf/twitter/Tweet/Tweet.html
88
+ - templates/twitter/config.ru
89
+ - templates/twitter/controller.js
90
+ - templates/twitter/plugins/twitter.js
91
+ - templates/twitter/scripts/00-myscript.js
92
+ - templates/twitter/styles/main.css
93
+ - test/data/app_error.html
94
+ - test/data/components.js
95
+ - test/data/components/HelloWorld/HelloWorld.html
96
+ - test/data/controller.js
97
+ - test/data/index.html
98
+ - test/data/jquery.address.js
99
+ - test/data/jquery.golf.js
100
+ - test/data/jquery.js
101
+ - test/data/welcome2golf.html
102
+ - test/test_compiler.rb
103
+ - test/test_helper.rb
104
+ - test/test_rack.rb
86
105
  has_rdoc: true
87
106
  homepage: http://golf.github.com
88
107
  licenses: []
@@ -91,36 +110,25 @@ post_install_message:
91
110
  rdoc_options: []
92
111
 
93
112
  require_paths:
94
- - lib
113
+ - lib
95
114
  required_ruby_version: !ruby/object:Gem::Requirement
96
115
  none: false
97
116
  requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: "0"
101
120
  required_rubygems_version: !ruby/object:Gem::Requirement
102
121
  none: false
103
122
  requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: "0"
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: "0"
107
126
  requirements: []
108
127
 
109
128
  rubyforge_project: golf
110
- rubygems_version: 1.5.1
129
+ rubygems_version: 1.6.1
111
130
  signing_key:
112
131
  specification_version: 3
113
132
  summary: Component based front end JS Framework
114
- test_files:
115
- - test/data/app_error.html
116
- - test/data/components.js
117
- - test/data/components/HelloWorld/HelloWorld.html
118
- - test/data/controller.js
119
- - test/data/index.html
120
- - test/data/jquery.address.js
121
- - test/data/jquery.golf.js
122
- - test/data/jquery.js
123
- - test/data/welcome2golf.html
124
- - test/test_compiler.rb
125
- - test/test_helper.rb
126
- - test/test_rack.rb
133
+ test_files: []
134
+
File without changes