zorglub 0.0.5 → 0.0.6
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/.gitignore +3 -0
- data/.travis.yml +7 -0
- data/Changelog +28 -17
- data/Gemfile +5 -0
- data/Gemfile.lock +32 -0
- data/{README.rdoc → README.md} +17 -14
- data/Rakefile +6 -60
- data/TODO +7 -0
- data/example/layout/css.haml +5 -0
- data/example/layout/default.haml +5 -0
- data/example/layout/other.haml +4 -0
- data/example/sample.ru +157 -0
- data/example/view/url1/index.haml +7 -0
- data/example/view/url1/meth0.haml +7 -0
- data/example/view/url3/index.haml +8 -0
- data/lib/version.rb +10 -0
- data/lib/zorglub/app.rb +9 -4
- data/lib/zorglub/engines/sass.rb +22 -0
- data/lib/zorglub/node.rb +31 -27
- data/lib/zorglub/session.rb +6 -6
- data/lib/zorglub.rb +1 -6
- data/spec/data/view/node0/engines.scss +9 -0
- data/spec/node_spec.rb +20 -3
- data/spec/spec_helper.rb +14 -7
- data/zorglub.gemspec +28 -0
- metadata +68 -45
- data/tasks/ann.rake +0 -83
- data/tasks/constants.rb +0 -118
- data/tasks/gem.rake +0 -196
- data/tasks/git.rake +0 -38
- data/tasks/helpers.rb +0 -130
- data/tasks/notes.rake +0 -27
- data/tasks/post_load.rake +0 -35
- data/tasks/rdoc.rake +0 -46
- data/tasks/rubyforge.rake +0 -54
- data/tasks/setup.rb +0 -129
- data/tasks/spec.rake +0 -44
- data/tasks/svn.rake +0 -48
- data/tasks/test.rake +0 -41
data/lib/zorglub.rb
CHANGED
data/spec/node_spec.rb
CHANGED
@@ -199,25 +199,29 @@ describe Zorglub do
|
|
199
199
|
Node5.layout.should be_nil
|
200
200
|
end
|
201
201
|
#
|
202
|
-
it "
|
202
|
+
it "cli_vals should be inherited and extended" do
|
203
203
|
r = Node5.my_call '/index'
|
204
204
|
vars = YAML.load r.body[0]
|
205
205
|
vars.should == ['js0','js1','js3','jsx','css0','css1','css2']
|
206
206
|
vars[7].should be_nil
|
207
207
|
end
|
208
208
|
#
|
209
|
-
it "
|
209
|
+
it "cli_vals should be extended at method level" do
|
210
210
|
r = Node4.my_call '/more'
|
211
211
|
vars = YAML.load r.body[0]
|
212
212
|
vars.should == ['js0','js1','js2']
|
213
213
|
vars[3].should be_nil
|
214
214
|
end
|
215
215
|
#
|
216
|
-
it "
|
216
|
+
it "cli_vals should be untouched" do
|
217
217
|
r = Node4.my_call '/index'
|
218
218
|
vars = YAML.load r.body[0]
|
219
219
|
vars.should == ['js0','js1']
|
220
220
|
vars[2].should be_nil
|
221
|
+
r = Node5.my_call '/index'
|
222
|
+
vars = YAML.load r.body[0]
|
223
|
+
vars.should == ['js0','js1','js3','jsx','css0','css1','css2']
|
224
|
+
vars[7].should be_nil
|
221
225
|
end
|
222
226
|
#
|
223
227
|
it "ext definition and file engine should work" do
|
@@ -228,8 +232,21 @@ describe Zorglub do
|
|
228
232
|
end
|
229
233
|
#
|
230
234
|
it "haml engine should work" do
|
235
|
+
Node0.app.opt! :engines_cache_enabled, false
|
231
236
|
r = Node0.my_call '/engines/haml'
|
232
237
|
r.body[0].should == "<h1>Hello world</h1>\n"
|
238
|
+
Node0.app.opt! :engines_cache_enabled, true
|
239
|
+
r = Node0.my_call '/engines/haml'
|
240
|
+
r.body[0].should == "<h1>Hello world</h1>\n"
|
241
|
+
end
|
242
|
+
#
|
243
|
+
it "sass engine should work" do
|
244
|
+
Node0.app.opt! :engines_cache_enabled, true
|
245
|
+
r = Node0.my_call '/engines/sass'
|
246
|
+
r.body[0].should == "vbar{width:80%;height:23px}vbar ul{list-style-type:none}vbar li{float:left}vbar li a{font-weight:bold}\n"
|
247
|
+
Node0.app.opt! :engines_cache_enabled, false
|
248
|
+
r = Node0.my_call '/engines/sass'
|
249
|
+
r.body[0].should == "vbar{width:80%;height:23px}vbar ul{list-style-type:none}vbar li{float:left}vbar li a{font-weight:bold}\n"
|
233
250
|
end
|
234
251
|
#
|
235
252
|
it "view_base_path! should work" do
|
data/spec/spec_helper.rb
CHANGED
@@ -13,6 +13,7 @@ require 'yaml'
|
|
13
13
|
require 'zorglub'
|
14
14
|
require 'zorglub/engines/file'
|
15
15
|
require 'zorglub/engines/haml'
|
16
|
+
require 'zorglub/engines/sass'
|
16
17
|
#
|
17
18
|
HASH_PROC = Proc.new { |path,obj| {:path=>path,:layout=>obj.layout,:view=>obj.view,:args=>obj.args,:map=>obj.map}.to_yaml }
|
18
19
|
STATIC_PROC = Proc.new { |path,obj| ["VAL #{obj.value}",'text/static'] }
|
@@ -78,6 +79,8 @@ class Node0 < Zorglub::Node
|
|
78
79
|
case name
|
79
80
|
when 'haml'
|
80
81
|
engine! :haml
|
82
|
+
when 'sass'
|
83
|
+
engine! :sass
|
81
84
|
end
|
82
85
|
end
|
83
86
|
end
|
@@ -119,22 +122,25 @@ end
|
|
119
122
|
#
|
120
123
|
class Node4 < Zorglub::Node
|
121
124
|
no_layout!
|
122
|
-
|
125
|
+
cli_val :js,'js0'
|
126
|
+
cli_val :js,'js1'
|
123
127
|
def index
|
124
|
-
|
128
|
+
cli_val(:js).to_yaml
|
125
129
|
end
|
126
130
|
def more
|
127
|
-
|
131
|
+
cli_val :js,'js2'
|
132
|
+
cli_val(:js).to_yaml
|
128
133
|
end
|
129
134
|
end
|
130
135
|
#
|
131
136
|
class Node5 < Node4
|
132
|
-
|
133
|
-
|
137
|
+
cli_val :js, 'js3'
|
138
|
+
cli_val :css, 'css0', 'css1'
|
134
139
|
# no_layout! inherited from Node4
|
135
140
|
def index
|
136
|
-
js =
|
137
|
-
|
141
|
+
js = cli_val(:js,'jsx')
|
142
|
+
cli_val(:css, 'css0', 'css1','css2')
|
143
|
+
css = cli_val :css
|
138
144
|
js.concat(css).to_yaml
|
139
145
|
end
|
140
146
|
end
|
@@ -172,6 +178,7 @@ end
|
|
172
178
|
APP = Zorglub::App.new do
|
173
179
|
register_engine! :file, nil, Zorglub::Engines::File.method(:proc)
|
174
180
|
register_engine! :haml, 'haml', Zorglub::Engines::Haml.method(:proc)
|
181
|
+
register_engine! :sass, 'scss', Zorglub::Engines::Sass.method(:proc)
|
175
182
|
register_engine! 'default', nil, HASH_PROC
|
176
183
|
register_engine! 'engine-1', 'spec', HASH_PROC
|
177
184
|
register_engine! 'engine-2', 'spec', HASH_PROC
|
data/zorglub.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
$:.push File.expand_path("../lib", __FILE__)
|
5
|
+
require 'version'
|
6
|
+
#
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "zorglub"
|
9
|
+
s.version = Zorglub::VERSION
|
10
|
+
s.authors = ["Jérémy Zurcher"]
|
11
|
+
s.email = ["jeremy@asynk.ch"]
|
12
|
+
s.homepage = "http://github.com/jeremyz/zorglub"
|
13
|
+
s.summary = %q{a nano web application framework based on rack }
|
14
|
+
s.description = %q{This is a very stripped down version of innate.}
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_runtime_dependency "rack"
|
22
|
+
s.add_development_dependency "rspec"
|
23
|
+
s.add_development_dependency "rake"
|
24
|
+
s.add_development_dependency "haml"
|
25
|
+
s.add_development_dependency "sass"
|
26
|
+
end
|
27
|
+
#
|
28
|
+
# EOF
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zorglub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,68 +9,92 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement: &
|
16
|
+
requirement: &7940480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7940480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement: &
|
26
|
+
name: rspec
|
27
|
+
requirement: &7939860 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0
|
33
|
-
type: :
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *7939860
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &7864280 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *7864280
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: haml
|
49
|
+
requirement: &7862960 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ! '>='
|
42
53
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0
|
54
|
+
version: '0'
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *7862960
|
47
58
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
59
|
+
name: sass
|
60
|
+
requirement: &7862020 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
62
|
requirements:
|
52
63
|
- - ! '>='
|
53
64
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
65
|
+
version: '0'
|
55
66
|
type: :development
|
56
67
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
description: a
|
59
|
-
email:
|
68
|
+
version_requirements: *7862020
|
69
|
+
description: This is a very stripped down version of innate.
|
70
|
+
email:
|
71
|
+
- jeremy@asynk.ch
|
60
72
|
executables: []
|
61
73
|
extensions: []
|
62
|
-
extra_rdoc_files:
|
63
|
-
- README.rdoc
|
64
|
-
- spec/data/view/node0/plain_file.txt
|
74
|
+
extra_rdoc_files: []
|
65
75
|
files:
|
76
|
+
- .gitignore
|
77
|
+
- .travis.yml
|
66
78
|
- Changelog
|
79
|
+
- Gemfile
|
80
|
+
- Gemfile.lock
|
67
81
|
- MIT-LICENSE
|
68
|
-
- README.
|
82
|
+
- README.md
|
69
83
|
- Rakefile
|
84
|
+
- TODO
|
85
|
+
- example/layout/css.haml
|
86
|
+
- example/layout/default.haml
|
87
|
+
- example/layout/other.haml
|
88
|
+
- example/sample.ru
|
89
|
+
- example/view/url1/index.haml
|
90
|
+
- example/view/url1/meth0.haml
|
91
|
+
- example/view/url3/index.haml
|
92
|
+
- lib/version.rb
|
70
93
|
- lib/zorglub.rb
|
71
94
|
- lib/zorglub/app.rb
|
72
95
|
- lib/zorglub/engines/file.rb
|
73
96
|
- lib/zorglub/engines/haml.rb
|
97
|
+
- lib/zorglub/engines/sass.rb
|
74
98
|
- lib/zorglub/node.rb
|
75
99
|
- lib/zorglub/rack_session.rb
|
76
100
|
- lib/zorglub/session.rb
|
@@ -82,31 +106,16 @@ files:
|
|
82
106
|
- spec/data/view/node0/do_partial
|
83
107
|
- spec/data/view/node0/do_render
|
84
108
|
- spec/data/view/node0/engines.haml
|
109
|
+
- spec/data/view/node0/engines.scss
|
85
110
|
- spec/data/view/node0/plain_file.txt
|
86
111
|
- spec/data/view/node0/xml_file.xml
|
87
112
|
- spec/node_spec.rb
|
88
113
|
- spec/spec_helper.rb
|
89
|
-
-
|
90
|
-
|
91
|
-
- tasks/gem.rake
|
92
|
-
- tasks/git.rake
|
93
|
-
- tasks/helpers.rb
|
94
|
-
- tasks/notes.rake
|
95
|
-
- tasks/post_load.rake
|
96
|
-
- tasks/rdoc.rake
|
97
|
-
- tasks/rubyforge.rake
|
98
|
-
- tasks/setup.rb
|
99
|
-
- tasks/spec.rake
|
100
|
-
- tasks/svn.rake
|
101
|
-
- tasks/test.rake
|
102
|
-
homepage: http://cgit.asynk.ch/cgi-bin/cgit/zorglub
|
114
|
+
- zorglub.gemspec
|
115
|
+
homepage: http://github.com/jeremyz/zorglub
|
103
116
|
licenses: []
|
104
117
|
post_install_message:
|
105
|
-
rdoc_options:
|
106
|
-
- -x
|
107
|
-
- ext
|
108
|
-
- --main
|
109
|
-
- README.rdoc
|
118
|
+
rdoc_options: []
|
110
119
|
require_paths:
|
111
120
|
- lib
|
112
121
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -122,9 +131,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
131
|
- !ruby/object:Gem::Version
|
123
132
|
version: '0'
|
124
133
|
requirements: []
|
125
|
-
rubyforge_project:
|
134
|
+
rubyforge_project:
|
126
135
|
rubygems_version: 1.8.11
|
127
136
|
signing_key:
|
128
137
|
specification_version: 3
|
129
|
-
summary: a nano web application framework based on rack
|
130
|
-
test_files:
|
138
|
+
summary: a nano web application framework based on rack
|
139
|
+
test_files:
|
140
|
+
- spec/app_spec.rb
|
141
|
+
- spec/data/alt/do_render
|
142
|
+
- spec/data/alt/layout/default
|
143
|
+
- spec/data/layout/default
|
144
|
+
- spec/data/layout/main.spec
|
145
|
+
- spec/data/view/node0/do_partial
|
146
|
+
- spec/data/view/node0/do_render
|
147
|
+
- spec/data/view/node0/engines.haml
|
148
|
+
- spec/data/view/node0/engines.scss
|
149
|
+
- spec/data/view/node0/plain_file.txt
|
150
|
+
- spec/data/view/node0/xml_file.xml
|
151
|
+
- spec/node_spec.rb
|
152
|
+
- spec/spec_helper.rb
|
153
|
+
has_rdoc:
|
data/tasks/ann.rake
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
# -*- coding: UTF-8 -*-
|
2
|
-
#
|
3
|
-
begin
|
4
|
-
require 'bones/smtp_tls'
|
5
|
-
rescue LoadError
|
6
|
-
require 'net/smtp'
|
7
|
-
end
|
8
|
-
require 'time'
|
9
|
-
|
10
|
-
namespace :ann do
|
11
|
-
|
12
|
-
# A prerequisites task that all other tasks depend upon
|
13
|
-
task :prereqs
|
14
|
-
file PROJ.ann.file do
|
15
|
-
ann = PROJ.ann
|
16
|
-
puts "Generating #{ann.file}"
|
17
|
-
File.open(ann.file,'w') do |fd|
|
18
|
-
fd.puts("#{PROJ.name} version #{PROJ.version}")
|
19
|
-
fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors
|
20
|
-
fd.puts(" #{PROJ.url}") if PROJ.url.valid?
|
21
|
-
fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name
|
22
|
-
fd.puts
|
23
|
-
fd.puts("== DESCRIPTION")
|
24
|
-
fd.puts
|
25
|
-
fd.puts(PROJ.description)
|
26
|
-
fd.puts
|
27
|
-
fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES'))
|
28
|
-
fd.puts
|
29
|
-
ann.paragraphs.each do |p|
|
30
|
-
fd.puts "== #{p.upcase}"
|
31
|
-
fd.puts
|
32
|
-
fd.puts paragraphs_of(PROJ.readme_file, p).join("\n\n")
|
33
|
-
fd.puts
|
34
|
-
end
|
35
|
-
fd.puts ann.text if ann.text
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
desc "Create an announcement file"
|
40
|
-
task :announcement => ['ann:prereqs', PROJ.ann.file]
|
41
|
-
|
42
|
-
desc "Send an email announcement"
|
43
|
-
task :email => ['ann:prereqs', PROJ.ann.file] do
|
44
|
-
ann = PROJ.ann
|
45
|
-
from = ann.email[:from] || Array(PROJ.authors).first || PROJ.email
|
46
|
-
to = Array(ann.email[:to])
|
47
|
-
|
48
|
-
### build a mail header for RFC 822
|
49
|
-
rfc822msg = "From: #{from}\n"
|
50
|
-
rfc822msg << "To: #{to.join(',')}\n"
|
51
|
-
rfc822msg << "Subject: [ANN] #{PROJ.name} #{PROJ.version}"
|
52
|
-
rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name
|
53
|
-
rfc822msg << "\n"
|
54
|
-
rfc822msg << "Date: #{Time.new.rfc822}\n"
|
55
|
-
rfc822msg << "Message-Id: "
|
56
|
-
rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{ann.email[:domain]}>\n\n"
|
57
|
-
rfc822msg << File.read(ann.file)
|
58
|
-
|
59
|
-
params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key|
|
60
|
-
ann.email[key]
|
61
|
-
end
|
62
|
-
|
63
|
-
params[3] = (PROJ.ann.email[:from] || PROJ.email) if params[3].nil?
|
64
|
-
|
65
|
-
# if ann.email[:tls] and params[4].nil?
|
66
|
-
if params[4].nil?
|
67
|
-
STDOUT.write "Please enter your e-mail password (#{params[3]}): "
|
68
|
-
params[4] = STDIN.gets.chomp
|
69
|
-
end
|
70
|
-
# params = params.shift 2 if not ann.email[:tls]
|
71
|
-
|
72
|
-
### send email
|
73
|
-
# TODO find a way to bypass /var/lib/gems/1.9/gems/bones-3.6.5/lib/bones/smtp_tls.rb which forces starttls usage
|
74
|
-
Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)}
|
75
|
-
end
|
76
|
-
end # namespace :ann
|
77
|
-
|
78
|
-
desc 'Alias to ann:announcement'
|
79
|
-
task :ann => 'ann:announcement'
|
80
|
-
|
81
|
-
CLOBBER << PROJ.ann.file
|
82
|
-
|
83
|
-
# EOF
|
data/tasks/constants.rb
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
# -*- coding: UTF-8 -*-
|
2
|
-
#
|
3
|
-
require 'rbconfig'
|
4
|
-
|
5
|
-
# Setup some constants
|
6
|
-
WIN32 = %r/djgpp|(cyg|ms|bcc)win|mingw/ =~ RUBY_PLATFORM unless defined? WIN32
|
7
|
-
|
8
|
-
DEV_NULL = WIN32 ? 'NUL:' : '/dev/null'
|
9
|
-
|
10
|
-
def quiet( &block )
|
11
|
-
io = [STDOUT.dup, STDERR.dup]
|
12
|
-
STDOUT.reopen DEV_NULL
|
13
|
-
STDERR.reopen DEV_NULL
|
14
|
-
block.call
|
15
|
-
ensure
|
16
|
-
STDOUT.reopen io.first
|
17
|
-
STDERR.reopen io.last
|
18
|
-
$stdout, $stderr = STDOUT, STDERR
|
19
|
-
end
|
20
|
-
|
21
|
-
BUILD_DIR = "build"
|
22
|
-
|
23
|
-
USE_RAKE_COMPILER = ( ( (RUBY_PLATFORM =~ /java/) ? false : true ) and test ?d, 'ext' )
|
24
|
-
if USE_RAKE_COMPILER
|
25
|
-
gem 'rake-compiler', '>=0.6.0'
|
26
|
-
require 'rake/extensiontask'
|
27
|
-
ENV['RUBY_CC_VERSION'] = '1.8.7:1.9.2'
|
28
|
-
end
|
29
|
-
|
30
|
-
LIBEXT = case RbConfig::CONFIG['host_os'].downcase
|
31
|
-
when /darwin/
|
32
|
-
"dylib"
|
33
|
-
when /mswin|mingw/
|
34
|
-
"dll"
|
35
|
-
else
|
36
|
-
RbConfig::CONFIG['DLEXT']
|
37
|
-
end
|
38
|
-
|
39
|
-
CPU = case RbConfig::CONFIG['host_cpu'].downcase
|
40
|
-
when /i[3456]86/
|
41
|
-
# Darwin always reports i686, even when running in 64bit mode
|
42
|
-
if RbConfig::CONFIG['host_os'] =~ /darwin/ && 0xfee1deadbeef.is_a?(Fixnum)
|
43
|
-
"x86_64"
|
44
|
-
else
|
45
|
-
"i386"
|
46
|
-
end
|
47
|
-
when /amd64|x86_64/
|
48
|
-
"x86_64"
|
49
|
-
when /ppc64|powerpc64/
|
50
|
-
"powerpc64"
|
51
|
-
when /ppc|powerpc/
|
52
|
-
"powerpc"
|
53
|
-
else
|
54
|
-
RbConfig::CONFIG['host_cpu']
|
55
|
-
end
|
56
|
-
|
57
|
-
OS = case RbConfig::CONFIG['host_os'].downcase
|
58
|
-
when /linux/
|
59
|
-
"linux"
|
60
|
-
when /darwin/
|
61
|
-
"darwin"
|
62
|
-
when /freebsd/
|
63
|
-
"freebsd"
|
64
|
-
when /openbsd/
|
65
|
-
"openbsd"
|
66
|
-
when /sunos|solaris/
|
67
|
-
"solaris"
|
68
|
-
when /mswin|mingw/
|
69
|
-
"win32"
|
70
|
-
else
|
71
|
-
RbConfig::CONFIG['host_os'].downcase
|
72
|
-
end
|
73
|
-
|
74
|
-
CC=ENV['CC'] || RbConfig::CONFIG['CC'] || "gcc"
|
75
|
-
|
76
|
-
GMAKE = RbConfig::CONFIG['host_os'].downcase =~ /bsd|solaris/ ? "gmake" : "make"
|
77
|
-
|
78
|
-
|
79
|
-
DIFF = if WIN32 then 'diff.exe'
|
80
|
-
else
|
81
|
-
if quiet {system "gdiff", __FILE__, __FILE__} then 'gdiff'
|
82
|
-
else 'diff' end
|
83
|
-
end unless defined? DIFF
|
84
|
-
|
85
|
-
SUDO = if WIN32 then ''
|
86
|
-
else
|
87
|
-
if quiet {system 'which sudo'} then 'sudo'
|
88
|
-
else '' end
|
89
|
-
end
|
90
|
-
|
91
|
-
RCOV = WIN32 ? 'rcov.bat' : 'rcov'
|
92
|
-
RDOC = WIN32 ? 'rdoc.bat' : 'rdoc'
|
93
|
-
GEM = WIN32 ? 'gem.bat' : 'gem'
|
94
|
-
|
95
|
-
%w(rcov spec/rake/spectask rubyforge bones facets/ansicode).each do |lib|
|
96
|
-
begin
|
97
|
-
require lib
|
98
|
-
Object.instance_eval {const_set "HAVE_#{lib.tr('/','_').upcase}", true}
|
99
|
-
rescue LoadError
|
100
|
-
Object.instance_eval {const_set "HAVE_#{lib.tr('/','_').upcase}", false}
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
HAVE_SVN = (Dir.entries(Dir.pwd).include?('.svn') and system("svn --version 2>&1 > #{DEV_NULL}"))
|
105
|
-
HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and system("git --version 2>&1 > #{DEV_NULL}"))
|
106
|
-
|
107
|
-
# Add rake as a development dependency
|
108
|
-
#
|
109
|
-
PROJ.gem.development_dependencies << ['rake', '>=0.8.7']
|
110
|
-
|
111
|
-
# Add bones as a development dependency
|
112
|
-
#
|
113
|
-
if HAVE_BONES
|
114
|
-
bones_version = defined?(Bones::VERSION) ? Bones::VERSION : Bones.version
|
115
|
-
PROJ.gem.development_dependencies << ['bones', ">= #{bones_version}"]
|
116
|
-
end
|
117
|
-
|
118
|
-
# EOF
|