newgem 0.21.0 → 0.22.0
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/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
|