ronin-gen 1.0.1 → 1.1.0.rc1
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 +11 -0
- data/ChangeLog.md +13 -0
- data/Gemfile +2 -2
- data/README.md +18 -9
- data/bin/ronin-gen +1 -13
- data/data/ronin/gen/library/Gemfile.erb +1 -1
- data/data/ronin/gen/library/README.md.erb +1 -1
- data/data/ronin/gen/library/gemspec.yml.erb +1 -1
- data/data/ronin/gen/library/lib/ronin/name/version.rb.erb +1 -1
- data/data/ronin/gen/library/name.gemspec.erb +1 -1
- data/data/ronin/gen/repository/ronin.yml.erb +2 -2
- data/gemspec.yml +3 -3
- data/lib/ronin/gen/dir_generator.rb +18 -28
- data/lib/ronin/gen/file_generator.rb +39 -21
- data/lib/ronin/gen/gen.rb +1 -1
- data/lib/ronin/gen/generator.rb +569 -94
- data/lib/ronin/gen/generators/library.rb +79 -113
- data/lib/ronin/gen/generators/repository.rb +31 -70
- data/lib/ronin/gen/ruby_generator.rb +1 -1
- data/lib/ronin/gen/source_code_generator.rb +41 -8
- data/lib/ronin/gen/version.rb +1 -1
- data/lib/ronin/ui/cli/commands/gen.rb +34 -3
- data/ronin-gen.gemspec +1 -1
- data/spec/gen/classes/basic_generator.rb +3 -5
- data/spec/gen/classes/file_generator.rb +2 -2
- data/spec/gen/classes/templated_generator.rb +2 -2
- data/spec/gen/classes/touch_generator.rb +1 -1
- data/spec/gen/gen_spec.rb +1 -1
- data/spec/gen/generator_spec.rb +4 -6
- data/spec/gen/generators/library_spec.rb +1 -1
- data/spec/gen/generators/repository_spec.rb +1 -2
- data/spec/gen/helpers/data/generators/templated.txt.erb +1 -1
- metadata +71 -76
data/lib/ronin/gen/version.rb
CHANGED
@@ -21,6 +21,8 @@ require 'ronin/ui/cli/command'
|
|
21
21
|
require 'ronin/gen/gen'
|
22
22
|
require 'ronin/gen/version'
|
23
23
|
|
24
|
+
require 'parameters/options'
|
25
|
+
|
24
26
|
module Ronin
|
25
27
|
module UI
|
26
28
|
module CLI
|
@@ -30,14 +32,43 @@ module Ronin
|
|
30
32
|
#
|
31
33
|
class Gen < Command
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
+
summary "Prints the list of available generators"
|
36
|
+
|
37
|
+
usage '[options] | GENERATOR [options]'
|
38
|
+
|
39
|
+
option :version, :type => true,
|
40
|
+
:flag => '-V',
|
41
|
+
:description => 'Prints the ronin-gen version'
|
42
|
+
|
43
|
+
#
|
44
|
+
# Starts the `ronin-gen` command.
|
45
|
+
#
|
46
|
+
# @param [Array<String>] argv
|
47
|
+
# The arguments for the command.
|
48
|
+
#
|
49
|
+
def start(argv=ARGV)
|
50
|
+
if (argv.empty? || argv.first.start_with?('-'))
|
51
|
+
super(argv)
|
52
|
+
else
|
53
|
+
generator_name = argv.shift
|
54
|
+
generator = Ronin::Gen.generator(generator_name).new
|
55
|
+
|
56
|
+
opts = Parameters::Options.parser(generator) do |opts|
|
57
|
+
opts.banner = "ronin-gen #{generator_name} PATH [options]"
|
58
|
+
end
|
59
|
+
|
60
|
+
args = opts.parse(argv)
|
61
|
+
|
62
|
+
generator.path = args.first
|
63
|
+
generator.generate!
|
64
|
+
end
|
65
|
+
end
|
35
66
|
|
36
67
|
#
|
37
68
|
# Lists the available generators.
|
38
69
|
#
|
39
70
|
def execute
|
40
|
-
if
|
71
|
+
if version?
|
41
72
|
puts "ronin-gen #{Ronin::Gen::VERSION}"
|
42
73
|
return
|
43
74
|
end
|
data/ronin-gen.gemspec
CHANGED
@@ -99,7 +99,7 @@ Gem::Specification.new do |gemspec|
|
|
99
99
|
end
|
100
100
|
|
101
101
|
if gemspec.respond_to?(:required_rubygems_version=)
|
102
|
-
gemspec.required_rubygems_version = metadata['
|
102
|
+
gemspec.required_rubygems_version = metadata['required_rubygems_version']
|
103
103
|
end
|
104
104
|
|
105
105
|
parse_versions = lambda { |versions|
|
@@ -4,10 +4,10 @@ class TemplatedGenerator < Gen::Generator
|
|
4
4
|
|
5
5
|
TEMPLATE_FILE = File.join('generators','templated.txt.erb')
|
6
6
|
|
7
|
-
|
7
|
+
parameter :message, :type => String
|
8
8
|
|
9
9
|
def generate
|
10
|
-
|
10
|
+
template TEMPLATE_FILE, 'templated.txt'
|
11
11
|
end
|
12
12
|
|
13
13
|
end
|
data/spec/gen/gen_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe Gen do
|
|
11
11
|
generator = subject.generator('library')
|
12
12
|
|
13
13
|
generator.should_not be_nil
|
14
|
-
generator.
|
14
|
+
generator.should == Ronin::Gen::Generators::Library
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should raise an UnknownGenerator exception on missing generators" do
|
data/spec/gen/generator_spec.rb
CHANGED
@@ -11,15 +11,11 @@ require 'tmpdir'
|
|
11
11
|
require 'fileutils'
|
12
12
|
|
13
13
|
describe Gen::Generator do
|
14
|
-
it "should include Thor::Actions" do
|
15
|
-
Gen::Generator.should include(Thor::Actions)
|
16
|
-
end
|
17
|
-
|
18
14
|
describe "setup" do
|
19
15
|
subject { BasicGenerator.new }
|
20
16
|
|
21
17
|
before(:all) do
|
22
|
-
subject.
|
18
|
+
subject.setup
|
23
19
|
end
|
24
20
|
|
25
21
|
it "should set default values before invoking any tasks" do
|
@@ -55,9 +51,11 @@ describe Gen::Generator do
|
|
55
51
|
end
|
56
52
|
|
57
53
|
it "should generate files using templates" do
|
54
|
+
path = File.join(@dir,'templated.txt')
|
55
|
+
|
58
56
|
TemplatedGenerator.generate(:message => 'hello')
|
59
57
|
|
60
|
-
File.read(
|
58
|
+
File.read(path).chomp.should == "message: hello"
|
61
59
|
end
|
62
60
|
|
63
61
|
after(:all) do
|
@@ -98,7 +98,7 @@ describe Gen::Generators::Library do
|
|
98
98
|
let(:path) { Pathname.new(Dir.tmpdir).join('ronin-library') }
|
99
99
|
|
100
100
|
before(:all) do
|
101
|
-
Gen::Generators::Library.generate(path,
|
101
|
+
Gen::Generators::Library.generate(path, :name => name)
|
102
102
|
end
|
103
103
|
|
104
104
|
it "should create a lib/ronin/name.rb file" do
|
@@ -15,8 +15,7 @@ describe Gen::Generators::Repository do
|
|
15
15
|
let(:description) { 'This is a test repository' }
|
16
16
|
|
17
17
|
before(:all) do
|
18
|
-
Gen::Generators::Repository.generate(
|
19
|
-
path,
|
18
|
+
Gen::Generators::Repository.generate(path,
|
20
19
|
:title => title,
|
21
20
|
:uri => uri,
|
22
21
|
:source => source,
|
@@ -1 +1 @@
|
|
1
|
-
message: <%=
|
1
|
+
message: <%= @message %>
|
metadata
CHANGED
@@ -1,108 +1,103 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin-gen
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0.rc1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Postmodern
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-12-31 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: open_namespace
|
17
|
-
requirement: &
|
16
|
+
requirement: &18377340 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
18
|
+
requirements:
|
20
19
|
- - ~>
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.3'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *18377340
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: data_paths
|
28
|
-
requirement: &
|
27
|
+
requirement: &18376620 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
|
-
requirements:
|
29
|
+
requirements:
|
31
30
|
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.3'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
39
|
-
requirement: &
|
35
|
+
version_requirements: *18376620
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: parameters
|
38
|
+
requirement: &18376060 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
|
-
requirements:
|
40
|
+
requirements:
|
42
41
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: 0.
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0.4'
|
45
44
|
type: :runtime
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *18376060
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: ronin-support
|
50
|
-
requirement: &
|
49
|
+
requirement: &18375580 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
|
-
requirements:
|
51
|
+
requirements:
|
53
52
|
- - ~>
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.4.0.rc1
|
56
55
|
type: :runtime
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *18375580
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: ronin
|
61
|
-
requirement: &
|
60
|
+
requirement: &18375080 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
|
-
requirements:
|
62
|
+
requirements:
|
64
63
|
- - ~>
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 1.4.0.rc1
|
67
66
|
type: :runtime
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
68
|
+
version_requirements: *18375080
|
69
|
+
- !ruby/object:Gem::Dependency
|
71
70
|
name: bundler
|
72
|
-
requirement: &
|
71
|
+
requirement: &18374540 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
73
|
+
requirements:
|
75
74
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
75
|
+
- !ruby/object:Gem::Version
|
77
76
|
version: 1.0.10
|
78
77
|
type: :development
|
79
78
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: *18374540
|
80
|
+
- !ruby/object:Gem::Dependency
|
82
81
|
name: yard
|
83
|
-
requirement: &
|
82
|
+
requirement: &18374040 !ruby/object:Gem::Requirement
|
84
83
|
none: false
|
85
|
-
requirements:
|
84
|
+
requirements:
|
86
85
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
86
|
+
- !ruby/object:Gem::Version
|
88
87
|
version: 0.7.0
|
89
88
|
type: :development
|
90
89
|
prerelease: false
|
91
|
-
version_requirements: *
|
90
|
+
version_requirements: *18374040
|
92
91
|
description: Ronin Gen is a Ruby library for Ronin that provides various generators.
|
93
|
-
email:
|
94
|
-
|
95
|
-
executables:
|
92
|
+
email: postmodern.mod3@gmail.com
|
93
|
+
executables:
|
96
94
|
- ronin-gen
|
97
95
|
extensions: []
|
98
|
-
|
99
|
-
|
100
|
-
- README.md
|
101
|
-
- ChangeLog.md
|
102
|
-
- COPYING.txt
|
103
|
-
files:
|
96
|
+
extra_rdoc_files: []
|
97
|
+
files:
|
104
98
|
- .document
|
105
99
|
- .gemtest
|
100
|
+
- .gitignore
|
106
101
|
- .rspec
|
107
102
|
- .yardopts
|
108
103
|
- COPYING.txt
|
@@ -166,34 +161,34 @@ files:
|
|
166
161
|
- spec/gen/helpers/data/generators/templated.txt.erb
|
167
162
|
- spec/spec_helper.rb
|
168
163
|
homepage: http://github.com/ronin-ruby/ronin-gen
|
169
|
-
licenses:
|
164
|
+
licenses:
|
170
165
|
- GPL-3
|
171
166
|
post_install_message:
|
172
167
|
rdoc_options: []
|
173
|
-
|
174
|
-
require_paths:
|
168
|
+
require_paths:
|
175
169
|
- lib
|
176
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
177
171
|
none: false
|
178
|
-
requirements:
|
179
|
-
- -
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version:
|
182
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
177
|
none: false
|
184
|
-
requirements:
|
185
|
-
- -
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version:
|
188
|
-
requirements:
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
requirements:
|
189
183
|
- git >= 1.6.0.0, for the library generator
|
190
|
-
rubyforge_project:
|
191
|
-
rubygems_version: 1.8.
|
184
|
+
rubyforge_project:
|
185
|
+
rubygems_version: 1.8.10
|
192
186
|
signing_key:
|
193
187
|
specification_version: 3
|
194
188
|
summary: A Ruby library for Ronin that provides various generators.
|
195
|
-
test_files:
|
189
|
+
test_files:
|
196
190
|
- spec/gen/gen_spec.rb
|
191
|
+
- spec/gen/generator_spec.rb
|
197
192
|
- spec/gen/generators/library_spec.rb
|
198
193
|
- spec/gen/generators/repository_spec.rb
|
199
|
-
|
194
|
+
has_rdoc:
|