gator 0.0.14.pre → 0.0.16.pre
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/Gemfile +1 -0
- data/README.rdoc +1 -1
- data/Rakefile +6 -1
- data/VERSION +1 -1
- data/gator.gemspec +13 -9
- data/lib/gator.rb +1 -2
- data/lib/gator/command.rb +66 -5
- data/lib/gator/commands.rb +5 -1
- data/lib/gator/commands/generate.rb +1 -1
- data/lib/gator/commands/project.rb +1 -3
- data/lib/gator/task.rb +1 -7
- data/spec/command_spec.rb +20 -0
- data/spec/config_spec.rb +14 -0
- data/spec/fixtures/empty_gator_project/gator.rb +0 -0
- data/spec/project_spec.rb +15 -0
- data/spec/runner_spec.rb +8 -0
- data/spec/task_spec.rb +8 -0
- data/spec/util_spec.rb +60 -0
- metadata +31 -19
- data/lib/gator/generators.rb +0 -2
- data/lib/gator/generators/as3/ClassTemplate.as.tt +0 -9
- data/lib/gator/generators/as3/class_generator.rb +0 -47
- data/lib/gator/generators/as3/collections.rb +0 -15
- data/lib/gator/generators/as3/test/ClassTemplate.as.tt +0 -9
- data/lib/gator/generators/as3/test/class_test_generator.rb +0 -48
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -27,10 +27,15 @@ Jeweler::RubygemsDotOrgTasks.new
|
|
27
27
|
|
28
28
|
require 'rspec/core'
|
29
29
|
require 'rspec/core/rake_task'
|
30
|
+
require 'ci/reporter/rake/rspec'
|
31
|
+
|
32
|
+
ENV["CI_REPORTS"] ||= File.expand_path( File.join( File.dirname(__FILE__), "test", "report" ) )
|
30
33
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
34
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
35
|
end
|
33
36
|
|
37
|
+
task :spec => "ci:setup:rspec"
|
38
|
+
|
34
39
|
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
35
40
|
spec.pattern = 'spec/**/*_spec.rb'
|
36
41
|
spec.rcov = true
|
@@ -39,7 +44,7 @@ end
|
|
39
44
|
task :test => :spec
|
40
45
|
task :default => :spec
|
41
46
|
|
42
|
-
require '
|
47
|
+
require 'rdoc/task'
|
43
48
|
Rake::RDocTask.new do |rdoc|
|
44
49
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
45
50
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.16.pre
|
data/gator.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{gator}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.16.pre"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dominic Graefen"]
|
12
|
-
s.date = %q{2011-07-
|
12
|
+
s.date = %q{2011-07-11}
|
13
13
|
s.default_executable = %q{gator}
|
14
14
|
s.description = %q{gator - the friendly code-generator}
|
15
15
|
s.email = %q{dominic.graefen@gmail.com}
|
@@ -34,17 +34,18 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/gator/commands/generate.rb",
|
35
35
|
"lib/gator/commands/project.rb",
|
36
36
|
"lib/gator/config.rb",
|
37
|
-
"lib/gator/generators.rb",
|
38
|
-
"lib/gator/generators/as3/ClassTemplate.as.tt",
|
39
|
-
"lib/gator/generators/as3/class_generator.rb",
|
40
|
-
"lib/gator/generators/as3/collections.rb",
|
41
|
-
"lib/gator/generators/as3/test/ClassTemplate.as.tt",
|
42
|
-
"lib/gator/generators/as3/test/class_test_generator.rb",
|
43
37
|
"lib/gator/project.rb",
|
44
38
|
"lib/gator/runner.rb",
|
45
39
|
"lib/gator/task.rb",
|
46
40
|
"lib/gator/util.rb",
|
47
|
-
"spec/
|
41
|
+
"spec/command_spec.rb",
|
42
|
+
"spec/config_spec.rb",
|
43
|
+
"spec/fixtures/empty_gator_project/gator.rb",
|
44
|
+
"spec/project_spec.rb",
|
45
|
+
"spec/runner_spec.rb",
|
46
|
+
"spec/spec_helper.rb",
|
47
|
+
"spec/task_spec.rb",
|
48
|
+
"spec/util_spec.rb"
|
48
49
|
]
|
49
50
|
s.homepage = %q{http://github.com/devboy/gator}
|
50
51
|
s.licenses = ["MIT"]
|
@@ -58,12 +59,14 @@ Gem::Specification.new do |s|
|
|
58
59
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
59
60
|
s.add_runtime_dependency(%q<thor>, ["~> 0.14.6"])
|
60
61
|
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
62
|
+
s.add_development_dependency(%q<ci_reporter>, ["~> 1.6.5"])
|
61
63
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
62
64
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
|
63
65
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
64
66
|
else
|
65
67
|
s.add_dependency(%q<thor>, ["~> 0.14.6"])
|
66
68
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
69
|
+
s.add_dependency(%q<ci_reporter>, ["~> 1.6.5"])
|
67
70
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
68
71
|
s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
|
69
72
|
s.add_dependency(%q<rcov>, [">= 0"])
|
@@ -71,6 +74,7 @@ Gem::Specification.new do |s|
|
|
71
74
|
else
|
72
75
|
s.add_dependency(%q<thor>, ["~> 0.14.6"])
|
73
76
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
77
|
+
s.add_dependency(%q<ci_reporter>, ["~> 1.6.5"])
|
74
78
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
75
79
|
s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
|
76
80
|
s.add_dependency(%q<rcov>, [">= 0"])
|
data/lib/gator.rb
CHANGED
data/lib/gator/command.rb
CHANGED
@@ -1,12 +1,73 @@
|
|
1
1
|
module Gator
|
2
|
-
class Command < Thor
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
module ActAsCommand
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.extend(ClassMethods)
|
8
7
|
end
|
9
8
|
|
9
|
+
module ClassMethods
|
10
|
+
|
11
|
+
attr_reader :definition, :parent
|
12
|
+
|
13
|
+
def define(definition)
|
14
|
+
@definition = definition
|
15
|
+
end
|
16
|
+
|
17
|
+
def parent_command=(klass)
|
18
|
+
@parent = klass
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def parent
|
24
|
+
self.class.parent
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_subcommand(*args)
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
module ActAsCommandCollection
|
34
|
+
|
35
|
+
def self.included(base)
|
36
|
+
base.extend(ClassMethods)
|
37
|
+
end
|
38
|
+
|
39
|
+
module ClassMethods
|
40
|
+
|
41
|
+
def subcommand_classes
|
42
|
+
@subcommand_classes ||= {}
|
43
|
+
end
|
44
|
+
|
45
|
+
def register_subcommand(klass)
|
46
|
+
d = klass.definition
|
47
|
+
register klass, d[:command], d[:usage], d[:description], d[:options] || {}
|
48
|
+
map [d[:short]] => d[:command] unless d[:short].nil?
|
49
|
+
subcommand_classes[d[:command]] = klass
|
50
|
+
klass.parent_command = self
|
51
|
+
end
|
52
|
+
|
53
|
+
def get_subcommand(*args)
|
54
|
+
arg = args.shift
|
55
|
+
klass = subcommand_classes[arg.to_s]
|
56
|
+
until args.empty? do
|
57
|
+
arg = args.shift
|
58
|
+
klass = klass.subcommand_classes[arg]
|
59
|
+
end
|
60
|
+
klass
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
class Command < Thor
|
68
|
+
include ActAsCommand
|
69
|
+
include ActAsCommandCollection
|
70
|
+
|
10
71
|
#The following lines fix a bug in thor see: https://github.com/wycats/thor/pull/150
|
11
72
|
class << self
|
12
73
|
def register(klass, subcommand_name, usage, description, options={})
|
data/lib/gator/commands.rb
CHANGED
@@ -1 +1,5 @@
|
|
1
|
-
|
1
|
+
require File.dirname(__FILE__) + '/commands/project'
|
2
|
+
require File.dirname(__FILE__) + '/commands/generate'
|
3
|
+
|
4
|
+
Gator::Runner.register_subcommand Gator::ProjectCommand
|
5
|
+
Gator::Runner.register_subcommand Gator::GenerateCommand
|
@@ -1,15 +1,13 @@
|
|
1
1
|
require "thor"
|
2
2
|
require "thor/actions"
|
3
3
|
require "fileutils"
|
4
|
-
require "gator/command"
|
5
|
-
require "gator/config"
|
6
4
|
|
7
5
|
module Gator
|
8
6
|
class ProjectCommand < Command
|
9
7
|
include Thor::Actions
|
10
8
|
include Gator::Configuration
|
11
9
|
|
12
|
-
define :
|
10
|
+
define :command => "project", :short => "p",
|
13
11
|
:usage => "project TASK", :description => "Set of tasks to manage project templates."
|
14
12
|
|
15
13
|
def self.source_root
|
data/lib/gator/task.rb
CHANGED
@@ -3,13 +3,7 @@ require "thor/actions"
|
|
3
3
|
|
4
4
|
module Gator
|
5
5
|
class Task < Thor::Group
|
6
|
+
include ActAsCommand
|
6
7
|
include Thor::Actions
|
7
|
-
|
8
|
-
def self.define( definition )
|
9
|
-
@definition = d = definition
|
10
|
-
d[:on].register self, d[:as], d[:usage], d[:description], d[:options] || {}
|
11
|
-
d[:on].map [ d[:short] ] => d[:as] unless d[:short].nil?
|
12
|
-
end
|
13
|
-
|
14
8
|
end
|
15
9
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
describe Gator::ActAsCommand do
|
5
|
+
|
6
|
+
it "should have some tests"
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
describe Gator::ActAsCommandCollection do
|
11
|
+
|
12
|
+
it "should have some tests"
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
describe Gator::Command do
|
17
|
+
|
18
|
+
it "should have some tests"
|
19
|
+
|
20
|
+
end
|
data/spec/config_spec.rb
ADDED
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
describe Gator::Project do
|
5
|
+
|
6
|
+
it "should have some tests"
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
describe Gator::Project::Layout do
|
11
|
+
|
12
|
+
it "should have some tests"
|
13
|
+
it "could be the tests from the buildr project"
|
14
|
+
|
15
|
+
end
|
data/spec/runner_spec.rb
ADDED
data/spec/task_spec.rb
ADDED
data/spec/util_spec.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
describe Gator::Util do
|
5
|
+
|
6
|
+
it "should contain the correct filenames" do
|
7
|
+
Gator::Util.gator_files.include?("gator").should == true
|
8
|
+
Gator::Util.gator_files.include?("gator.rb").should == true
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should contain the correct filenames for directory" do
|
12
|
+
Gator::Util.gator_files_for("testdir").include?("testdir/gator").should == true
|
13
|
+
Gator::Util.gator_files_for("testdir").include?("testdir/gator.rb").should == true
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should provide the correct gator root directory" do
|
17
|
+
Gator::Util.gator_root.should == File.join(File.expand_path("~"), ".gator")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should provide the correct project template directory" do
|
21
|
+
Gator::Util.project_template_root.should == File.join(Gator::Util.gator_root, "templates", "projects")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should load a rubyfile correctly"
|
25
|
+
|
26
|
+
it "should find the gator project directory from project base directory" do
|
27
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project')
|
28
|
+
Gator::Util.find_gator_project(project_dir).should == project_dir
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should find the gator project directory from a project subdirectory" do
|
32
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project')
|
33
|
+
sub_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project/sub_dir')
|
34
|
+
Gator::Util.find_gator_project(sub_dir).should == project_dir
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should find the gator.rb file from project base directory" do
|
38
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project')
|
39
|
+
file = File.join(project_dir, "gator.rb")
|
40
|
+
Gator::Util.find_gator_project_file(project_dir).should == file
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should find the gator.rb file from a project subdirectory" do
|
44
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project')
|
45
|
+
sub_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/empty_gator_project/sub_dir')
|
46
|
+
file = File.join(project_dir, "gator.rb")
|
47
|
+
Gator::Util.find_gator_project_file(sub_dir).should == file
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should not find a gator project in a project without gator.rb from the its base directory" do
|
51
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/no_gator_file')
|
52
|
+
Gator::Util.find_gator_project(project_dir).should == nil
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should not find a gator project in a project without gator.rb from the a subdirectory" do
|
56
|
+
project_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures/no_gator_file/subdir')
|
57
|
+
Gator::Util.find_gator_project(project_dir).should == nil
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16.pre
|
5
5
|
prerelease: 7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-07-
|
12
|
+
date: 2011-07-11 00:00:00.000000000 +02:00
|
13
13
|
default_executable: gator
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|
17
|
-
requirement: &
|
17
|
+
requirement: &2155529440 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.14.6
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2155529440
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rspec
|
28
|
-
requirement: &
|
28
|
+
requirement: &2155528920 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,21 @@ dependencies:
|
|
33
33
|
version: 2.3.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2155528920
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: ci_reporter
|
39
|
+
requirement: &2155528440 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.6.5
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *2155528440
|
37
48
|
- !ruby/object:Gem::Dependency
|
38
49
|
name: bundler
|
39
|
-
requirement: &
|
50
|
+
requirement: &2155527940 !ruby/object:Gem::Requirement
|
40
51
|
none: false
|
41
52
|
requirements:
|
42
53
|
- - ~>
|
@@ -44,10 +55,10 @@ dependencies:
|
|
44
55
|
version: 1.0.0
|
45
56
|
type: :development
|
46
57
|
prerelease: false
|
47
|
-
version_requirements: *
|
58
|
+
version_requirements: *2155527940
|
48
59
|
- !ruby/object:Gem::Dependency
|
49
60
|
name: jeweler
|
50
|
-
requirement: &
|
61
|
+
requirement: &2155527460 !ruby/object:Gem::Requirement
|
51
62
|
none: false
|
52
63
|
requirements:
|
53
64
|
- - ~>
|
@@ -55,10 +66,10 @@ dependencies:
|
|
55
66
|
version: 1.6.2
|
56
67
|
type: :development
|
57
68
|
prerelease: false
|
58
|
-
version_requirements: *
|
69
|
+
version_requirements: *2155527460
|
59
70
|
- !ruby/object:Gem::Dependency
|
60
71
|
name: rcov
|
61
|
-
requirement: &
|
72
|
+
requirement: &2155526940 !ruby/object:Gem::Requirement
|
62
73
|
none: false
|
63
74
|
requirements:
|
64
75
|
- - ! '>='
|
@@ -66,7 +77,7 @@ dependencies:
|
|
66
77
|
version: '0'
|
67
78
|
type: :development
|
68
79
|
prerelease: false
|
69
|
-
version_requirements: *
|
80
|
+
version_requirements: *2155526940
|
70
81
|
description: gator - the friendly code-generator
|
71
82
|
email: dominic.graefen@gmail.com
|
72
83
|
executables:
|
@@ -91,17 +102,18 @@ files:
|
|
91
102
|
- lib/gator/commands/generate.rb
|
92
103
|
- lib/gator/commands/project.rb
|
93
104
|
- lib/gator/config.rb
|
94
|
-
- lib/gator/generators.rb
|
95
|
-
- lib/gator/generators/as3/ClassTemplate.as.tt
|
96
|
-
- lib/gator/generators/as3/class_generator.rb
|
97
|
-
- lib/gator/generators/as3/collections.rb
|
98
|
-
- lib/gator/generators/as3/test/ClassTemplate.as.tt
|
99
|
-
- lib/gator/generators/as3/test/class_test_generator.rb
|
100
105
|
- lib/gator/project.rb
|
101
106
|
- lib/gator/runner.rb
|
102
107
|
- lib/gator/task.rb
|
103
108
|
- lib/gator/util.rb
|
109
|
+
- spec/command_spec.rb
|
110
|
+
- spec/config_spec.rb
|
111
|
+
- spec/fixtures/empty_gator_project/gator.rb
|
112
|
+
- spec/project_spec.rb
|
113
|
+
- spec/runner_spec.rb
|
104
114
|
- spec/spec_helper.rb
|
115
|
+
- spec/task_spec.rb
|
116
|
+
- spec/util_spec.rb
|
105
117
|
has_rdoc: true
|
106
118
|
homepage: http://github.com/devboy/gator
|
107
119
|
licenses:
|
@@ -118,7 +130,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
118
130
|
version: '0'
|
119
131
|
segments:
|
120
132
|
- 0
|
121
|
-
hash: -
|
133
|
+
hash: -2787342404688120478
|
122
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
135
|
none: false
|
124
136
|
requirements:
|
data/lib/gator/generators.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
module Gator
|
2
|
-
module AS3
|
3
|
-
class ClassGenerator < Task
|
4
|
-
include Gator::Project
|
5
|
-
|
6
|
-
define :on => Gator::AS3::GeneratorCollection, :as => "klass",
|
7
|
-
:usage => "generate as3 klass CLASS_NAME", :description => "Creates AS3 class."
|
8
|
-
|
9
|
-
argument :classname
|
10
|
-
|
11
|
-
def self.source_root
|
12
|
-
File.dirname __FILE__
|
13
|
-
end
|
14
|
-
|
15
|
-
def generate
|
16
|
-
src = project.path(:src, :main, :as3)
|
17
|
-
@package_name, @class_name = split_class_name(classname)
|
18
|
-
src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
|
19
|
-
template "ClassTemplate.as.tt", File.join(src, "#{@class_name}.as")
|
20
|
-
|
21
|
-
invoke Gator::AS3::TestGeneratorCollection, "klass"
|
22
|
-
end
|
23
|
-
|
24
|
-
no_tasks {
|
25
|
-
|
26
|
-
def package_name
|
27
|
-
@package_name
|
28
|
-
end
|
29
|
-
|
30
|
-
def class_name
|
31
|
-
@class_name
|
32
|
-
end
|
33
|
-
|
34
|
-
}
|
35
|
-
|
36
|
-
protected
|
37
|
-
|
38
|
-
def split_class_name(class_name)
|
39
|
-
pieces = class_name.split "."
|
40
|
-
class_name = pieces.pop
|
41
|
-
package_name = pieces.join "."
|
42
|
-
return package_name, class_name
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Gator
|
2
|
-
module AS3
|
3
|
-
|
4
|
-
class GeneratorCollection < Gator::Command
|
5
|
-
define :on => Gator::GenerateCommand, :as => "as3",
|
6
|
-
:usage => "generate as3 GENERATOR", :description => "Generators for AS3."
|
7
|
-
end
|
8
|
-
|
9
|
-
class TestGeneratorCollection < Gator::Command
|
10
|
-
define :on => GeneratorCollection, :as => "test",
|
11
|
-
:usage => "generate as3 test GENERATOR", :description => "TestGenerators for AS3."
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
module Gator
|
2
|
-
module AS3
|
3
|
-
class ClassTestGenerator < Task
|
4
|
-
include Gator::Project
|
5
|
-
|
6
|
-
define :on => Gator::AS3::TestGeneratorCollection, :as => "klass",
|
7
|
-
:usage => "generate as3 test klass CLASS_NAME", :description => "Creates AS3 class test."
|
8
|
-
|
9
|
-
argument :classname
|
10
|
-
|
11
|
-
def self.source_root
|
12
|
-
File.dirname __FILE__
|
13
|
-
end
|
14
|
-
|
15
|
-
def generate
|
16
|
-
src = project.path(:src, :test, :as3)
|
17
|
-
@package_name, @class_name = split_class_name(classname)
|
18
|
-
@class_name += "Test"
|
19
|
-
src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
|
20
|
-
template "ClassTemplate.as.tt", File.join(src, "#{@class_name}.as")
|
21
|
-
|
22
|
-
invoke Gator::AS3::GeneratorCollection, "klass"
|
23
|
-
end
|
24
|
-
|
25
|
-
no_tasks {
|
26
|
-
|
27
|
-
def package_name
|
28
|
-
@package_name
|
29
|
-
end
|
30
|
-
|
31
|
-
def class_name
|
32
|
-
@class_name
|
33
|
-
end
|
34
|
-
|
35
|
-
}
|
36
|
-
|
37
|
-
protected
|
38
|
-
|
39
|
-
def split_class_name(class_name)
|
40
|
-
pieces = class_name.split "."
|
41
|
-
class_name = pieces.pop
|
42
|
-
package_name = pieces.join "."
|
43
|
-
return package_name, class_name
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|