ronin-gen 1.0.1 → 1.1.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|