newgem 0.21.0 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +2 -0
- data/app_generators/newgem/newgem_generator.rb +28 -22
- data/app_generators/newgem/templates/script/console.erb +10 -0
- data/app_generators/newgem/templates/script/win_script.cmd +1 -0
- data/lib/newgem/version.rb +1 -1
- data/newgem_generators/install_website/install_website_generator.rb +9 -9
- data/test/test_newgem_generator.rb +1 -1
- data/website/index.html +1 -1
- data/website/rubyforge.html +1 -1
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +3 -1
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -15,6 +15,8 @@ app_generators/newgem/templates/config/requirements.rb
|
|
15
15
|
app_generators/newgem/templates/empty_log
|
16
16
|
app_generators/newgem/templates/module.rb
|
17
17
|
app_generators/newgem/templates/readme
|
18
|
+
app_generators/newgem/templates/script/console.erb
|
19
|
+
app_generators/newgem/templates/script/win_script.cmd
|
18
20
|
app_generators/newgem/templates/setup.rb
|
19
21
|
app_generators/newgem/templates/spec.opts
|
20
22
|
app_generators/newgem/templates/spec.rb
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rbconfig'
|
2
2
|
|
3
3
|
class NewgemGenerator < RubiGen::Base
|
4
|
-
|
4
|
+
|
5
5
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
6
6
|
Config::CONFIG['ruby_install_name'])
|
7
7
|
|
@@ -14,18 +14,18 @@ class NewgemGenerator < RubiGen::Base
|
|
14
14
|
:disable_website => nil,
|
15
15
|
:test_framework => 'test::unit',
|
16
16
|
:version => '0.0.1'
|
17
|
-
|
18
|
-
|
17
|
+
|
18
|
+
|
19
19
|
attr_reader :gem_name, :module_name
|
20
20
|
attr_reader :version, :version_str, :author, :email
|
21
|
-
|
21
|
+
|
22
22
|
# extensions/option
|
23
23
|
attr_reader :test_framework
|
24
24
|
attr_reader :bin_names_list
|
25
25
|
attr_reader :disable_website
|
26
26
|
attr_reader :manifest
|
27
27
|
attr_reader :is_jruby
|
28
|
-
|
28
|
+
|
29
29
|
def initialize(runtime_args, runtime_options = {})
|
30
30
|
super
|
31
31
|
usage if args.empty?
|
@@ -44,27 +44,27 @@ class NewgemGenerator < RubiGen::Base
|
|
44
44
|
# Root directory and all subdirectories.
|
45
45
|
m.directory ''
|
46
46
|
BASEDIRS.each { |path| m.directory path }
|
47
|
-
|
47
|
+
|
48
48
|
m.directory "lib/#{gem_name}"
|
49
49
|
|
50
50
|
# Root
|
51
51
|
m.template_copy_each %w( History.txt License.txt Rakefile README.txt )
|
52
|
-
m.file_copy_each %w( setup.rb )
|
52
|
+
m.file_copy_each %w( setup.rb )
|
53
53
|
|
54
54
|
# Default module for app
|
55
55
|
m.template "module.rb", "lib/#{gem_name}.rb"
|
56
56
|
m.template "version.rb", "lib/#{gem_name}/version.rb"
|
57
|
-
|
57
|
+
|
58
58
|
# Config
|
59
59
|
m.template_copy_each %w( hoe.rb requirements.rb ), "config"
|
60
60
|
|
61
61
|
%w(debug).each { |file|
|
62
62
|
m.file "empty_log", "log/#{file}.log", :chmod => 0666
|
63
63
|
}
|
64
|
-
|
64
|
+
|
65
65
|
# Tasks
|
66
66
|
m.file_copy_each %w( deployment.rake environment.rake website.rake ), "tasks"
|
67
|
-
|
67
|
+
|
68
68
|
# Selecting a test framework
|
69
69
|
case test_framework
|
70
70
|
when "test::unit"
|
@@ -72,24 +72,30 @@ class NewgemGenerator < RubiGen::Base
|
|
72
72
|
m.template "test.rb", "test/test_#{gem_name}.rb"
|
73
73
|
when "rspec"
|
74
74
|
m.dependency "install_rspec", [gem_name], :destination => destination_root, :collision => :force
|
75
|
-
end
|
76
|
-
|
75
|
+
end
|
76
|
+
|
77
77
|
# Website
|
78
|
-
m.dependency "install_website", [gem_name],
|
78
|
+
m.dependency "install_website", [gem_name],
|
79
79
|
:author => author, :email => email, :destination => destination_root, :collision => :force unless disable_website
|
80
|
-
|
80
|
+
|
81
81
|
# JRuby
|
82
82
|
m.dependency "install_jruby", [gem_name], :destination => destination_root, :collision => :force if is_jruby
|
83
83
|
|
84
84
|
# Executables
|
85
85
|
for bin_name in bin_names_list
|
86
|
-
m.dependency "executable", [bin_name], :destination => destination_root, :collision => :force
|
86
|
+
m.dependency "executable", [bin_name], :destination => destination_root, :collision => :force
|
87
87
|
end
|
88
|
-
|
88
|
+
|
89
89
|
m.dependency "install_rubigen_scripts", [destination_root, "rubygems", "newgem", "newgem_theme"], :shebang => options[:shebang], :collision => :force
|
90
|
-
|
90
|
+
|
91
|
+
%w( console ).each do |file|
|
92
|
+
m.template "script/#{file}.erb", "script/#{file}", script_options
|
93
|
+
m.template "script/win_script.cmd", "script/#{file}.cmd",
|
94
|
+
:assigns => { :filename => file } if windows
|
95
|
+
end
|
96
|
+
|
91
97
|
m.write_manifest "Manifest.txt"
|
92
|
-
|
98
|
+
|
93
99
|
m.readme "readme"
|
94
100
|
end
|
95
101
|
end
|
@@ -127,17 +133,17 @@ EOS
|
|
127
133
|
"Default: #{DEFAULT_SHEBANG}") { |x| options[:shebang] = x }
|
128
134
|
opts.on("-T", "--test-with=TEST_FRAMEWORK", String,
|
129
135
|
"Select your preferred testing framework.",
|
130
|
-
"Options: test::unit (default), rspec.") { |x| options[:test_framework] = x }
|
136
|
+
"Options: test::unit (default), rspec.") { |x| options[:test_framework] = x }
|
131
137
|
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
132
138
|
opts.on("-V", "--set-version=YOUR_VERSION", String,
|
133
139
|
"Version of the gem you are creating.",
|
134
140
|
"Default: 0.0.1") { |x| options[:version] = x }
|
135
|
-
opts.on("-W", "--website-disable",
|
141
|
+
opts.on("-W", "--website-disable",
|
136
142
|
"Disables the generation of the website for your RubyGem.") { |x| options[:disable_website] = x }
|
137
|
-
opts.on("--simple",
|
143
|
+
opts.on("--simple",
|
138
144
|
"Creates a simple RubyGems scaffold.") { |x| }
|
139
145
|
end
|
140
|
-
|
146
|
+
|
141
147
|
def extract_options
|
142
148
|
@version = options[:version].to_s.split(/\./)
|
143
149
|
@version_str = @version.join('.')
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
|
5
|
+
libs = " -r irb/completion"
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/<%= gem_name %>.rb'}"
|
9
|
+
puts "Loading <%= gem_name %> gem"
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
@@ -0,0 +1 @@
|
|
1
|
+
@ruby <%= File.join("script", filename) %> %*
|
data/lib/newgem/version.rb
CHANGED
@@ -4,20 +4,20 @@ class InstallWebsiteGenerator < RubiGen::Base
|
|
4
4
|
|
5
5
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
6
6
|
Config::CONFIG['ruby_install_name'])
|
7
|
-
|
7
|
+
|
8
8
|
default_options :shebang => DEFAULT_SHEBANG,
|
9
9
|
:author => "TODO",
|
10
10
|
:email => "TODO",
|
11
11
|
:theme => 'plain_theme'
|
12
|
-
|
12
|
+
|
13
13
|
attr_reader :gem_name, :module_name
|
14
14
|
attr_reader :author, :email, :theme
|
15
|
-
|
15
|
+
|
16
16
|
def initialize(runtime_args, runtime_options = {})
|
17
17
|
super
|
18
18
|
@destination_root = File.expand_path(destination_root)
|
19
19
|
@gem_name = base_name
|
20
|
-
|
20
|
+
|
21
21
|
@module_name = @gem_name.camelcase
|
22
22
|
extract_options
|
23
23
|
end
|
@@ -35,15 +35,15 @@ class InstallWebsiteGenerator < RubiGen::Base
|
|
35
35
|
|
36
36
|
# Website
|
37
37
|
m.template_copy_each %w( index.txt index.html ), "website"
|
38
|
-
|
38
|
+
|
39
39
|
%w( txt2html ).each do |file|
|
40
40
|
m.template "script/#{file}", "script/#{file}", script_options
|
41
|
-
m.template "script/win_script.cmd", "script/#{file}.cmd",
|
41
|
+
m.template "script/win_script.cmd", "script/#{file}.cmd",
|
42
42
|
:assigns => { :filename => file } if windows
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
m.file_copy_each %w[ website.rake ], "tasks"
|
46
|
-
|
46
|
+
|
47
47
|
m.dependency theme, [], :destination => destination_root
|
48
48
|
end
|
49
49
|
end
|
@@ -72,7 +72,7 @@ EOS
|
|
72
72
|
"Theme generator to use",
|
73
73
|
"Default: plain_theme") { |x| options[:theme] = x }
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
def extract_options
|
77
77
|
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
78
78
|
# Templates can access these value via the attr_reader-generated methods, but not the
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>New Gem Generator</h1>
|
34
34
|
<div id="version"> <!-- class="clickable" onclick='document.location = ""; return true' -->
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="" class="numbers">0.
|
36
|
+
<a href="" class="numbers">0.22.0</a>
|
37
37
|
<p>Featured in</p>
|
38
38
|
<a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FBeginning-Ruby-Novice-Professional-Experts%2Fdp%2F1590597664%2F&tag=drnic-20&linkCode=ur2&camp=1789&creative=9325" class="book"><img src="images/beginning-ruby.jpg" /></a>
|
39
39
|
</div>
|
data/website/rubyforge.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>New Gem Generator</h1>
|
34
34
|
<div id="version"> <!-- class="clickable" onclick='document.location = ""; return true' -->
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="" class="numbers">0.
|
36
|
+
<a href="" class="numbers">0.22.0</a>
|
37
37
|
<p>Featured in</p>
|
38
38
|
<a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FBeginning-Ruby-Novice-Professional-Experts%2Fdp%2F1590597664%2F&tag=drnic-20&linkCode=ur2&camp=1789&creative=9325" class="book"><img src="images/beginning-ruby.jpg" /></a>
|
39
39
|
</div>
|
data/website/version-raw.js
CHANGED
data/website/version.js
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newgem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Nic Williams
|
@@ -107,6 +107,8 @@ files:
|
|
107
107
|
- app_generators/newgem/templates/empty_log
|
108
108
|
- app_generators/newgem/templates/module.rb
|
109
109
|
- app_generators/newgem/templates/readme
|
110
|
+
- app_generators/newgem/templates/script/console.erb
|
111
|
+
- app_generators/newgem/templates/script/win_script.cmd
|
110
112
|
- app_generators/newgem/templates/setup.rb
|
111
113
|
- app_generators/newgem/templates/spec.opts
|
112
114
|
- app_generators/newgem/templates/spec.rb
|