gator-as3-robotlegs 0.0.2.pre → 0.0.3.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/.rakeTasks +1 -1
  2. data/Gemfile +3 -3
  3. data/Gemfile.lock +2 -4
  4. data/README.rdoc +51 -2
  5. data/Rakefile +4 -4
  6. data/VERSION +1 -1
  7. data/gator-as3-robotlegs.gemspec +111 -0
  8. data/gator-as3-robotlegs.tmproj +48 -0
  9. data/lib/gator/as3/robotlegs/generators.rb +1 -0
  10. data/lib/gator/as3/robotlegs/generators/command.rb +7 -38
  11. data/lib/gator/as3/robotlegs/generators/context.rb +15 -42
  12. data/lib/gator/as3/robotlegs/generators/generator.rb +31 -0
  13. data/lib/gator/as3/robotlegs/generators/mediator.rb +13 -40
  14. data/lib/gator/as3/robotlegs/generators/model.rb +16 -42
  15. data/lib/gator/as3/robotlegs/generators/service.rb +9 -35
  16. data/lib/gator/as3/robotlegs/generators/test/asunit4/collection.rb +0 -2
  17. data/lib/gator/as3/robotlegs/generators/test/asunit4/command.rb +12 -40
  18. data/lib/gator/as3/robotlegs/generators/test/asunit4/mediator.rb +10 -39
  19. data/lib/gator/as3/robotlegs/generators/test/asunit4/view.rb +7 -35
  20. data/lib/gator/as3/robotlegs/generators/view.rb +7 -38
  21. data/lib/gator/as3/robotlegs/generators/view_with_mediator.rb +3 -8
  22. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/command.as.tt +0 -0
  23. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/context.as.tt +0 -0
  24. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/mediator.as.tt +0 -0
  25. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/model.as.tt +0 -0
  26. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/service.as.tt +0 -0
  27. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/test/asunit4/command.as.tt +1 -0
  28. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/test/asunit4/mediator.as.tt +5 -0
  29. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/test/asunit4/view.as.tt +0 -1
  30. data/lib/gator/as3/robotlegs/{generators → templates/as3/robotlegs}/view.as.tt +0 -0
  31. data/lib/gator/mxml/robotlegs/generators.rb +4 -0
  32. data/lib/gator/mxml/robotlegs/generators/application.rb +19 -0
  33. data/lib/gator/mxml/robotlegs/generators/collection.rb +21 -0
  34. data/lib/gator/mxml/robotlegs/generators/generator.rb +34 -0
  35. data/lib/gator/mxml/robotlegs/generators/module.rb +19 -0
  36. data/lib/gator/mxml/robotlegs/generators/module_application.rb +19 -0
  37. data/lib/gator/mxml/robotlegs/templates/mxml/application.mxml.tt +30 -0
  38. data/lib/gator/mxml/robotlegs/templates/mxml/module.mxml.tt +34 -0
  39. data/lib/gator/mxml/robotlegs/templates/mxml/module_application.mxml.tt +31 -0
  40. data/spec/generators/command_spec.rb +1 -1
  41. metadata +34 -36
  42. data/lib/gator/as3/robotlegs/generators/test/asunit4/runner.as.tt +0 -21
  43. data/lib/gator/as3/robotlegs/generators/test/asunit4/suite.as.tt +0 -8
  44. data/lib/gator/as3/robotlegs/generators/test/asunit4/suite.rb +0 -43
@@ -2,64 +2,37 @@ module Gator
2
2
  module AS3
3
3
  module RobotLegs
4
4
 
5
- class MediatorGenerator < Task
5
+ class MediatorGenerator < Gator::AS3::KlassGenerator
6
6
  include Gator::Project
7
+ include WithRobotLegsTemplates
8
+ include ActAsRobotLegsKlassGenerator
7
9
 
8
10
  define :command => "mediator",
9
11
  :usage => "generate as3 rl mediator CLASS_NAME", :description => "Creates RobotLegs Mediator class."
10
12
 
11
- argument :classname
12
-
13
- class_option :test, :default => false
14
-
15
- def self.source_root
16
- File.dirname __FILE__
13
+ def template_file
14
+ "as3/robotlegs/mediator.as.tt"
17
15
  end
18
16
 
19
17
  def generate
20
- src = project.path(:source, :main, :as3)
21
- @package_name, @class_name = split_class_name(classname)
22
- @view_package_name = @package_name.dup << ".components"
23
- @view_class_name = @class_name.dup
24
- @class_name += "Mediator"
25
- @package_name += ".mediators"
26
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
27
- template "mediator.as.tt", File.join(src, "#{@class_name}.as")
28
- end
29
-
30
- def generate_test
31
- return unless options[:test]
32
- invoke resolve_subcommand(["test", "mediator"],["test","klass"])
18
+ @view_package_name = @package_name.dup << ".components" unless @package_name == ""
19
+ @view_class_name = @class_name.dup
20
+ @package_name += ".mediators" unless @package_name == ""
21
+ @class_name += "Mediator" unless @class_name.match(/Mediator$/)
22
+ super
33
23
  end
34
-
24
+
35
25
  no_tasks {
36
26
 
37
- def package_name
38
- @package_name
39
- end
40
-
41
- def class_name
42
- @class_name
43
- end
44
-
45
27
  def view_package_name
46
28
  @view_package_name
47
29
  end
48
-
30
+
49
31
  def view_class_name
50
32
  @view_class_name
51
33
  end
52
-
53
- }
54
34
 
55
- protected
56
-
57
- def split_class_name(class_name)
58
- pieces = class_name.split "."
59
- class_name = pieces.pop
60
- package_name = pieces.join "."
61
- return package_name, class_name
62
- end
35
+ }
63
36
 
64
37
  end
65
38
 
@@ -2,53 +2,27 @@ module Gator
2
2
  module AS3
3
3
  module RobotLegs
4
4
 
5
- class ModelGenerator < Task
5
+ class ModelGenerator < Gator::AS3::KlassGenerator
6
6
  include Gator::Project
7
+ include WithRobotLegsTemplates
8
+ include ActAsRobotLegsKlassGenerator
7
9
 
8
10
  define :command => "model",
9
11
  :usage => "generate as3 rl model CLASS_NAME", :description => "Creates RobotLegs Model class."
10
12
 
11
- argument :classname
12
-
13
- class_option :test, :default => false
14
-
15
- def self.source_root
16
- File.dirname __FILE__
17
- end
18
-
19
- def generate
20
- src = project.path(:source, :main, :as3)
21
- @package_name, @class_name = split_class_name(classname)
22
- @class_name += "Model"
23
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
24
- template "model.as.tt", File.join(src, "#{@class_name}.as")
25
- end
26
-
27
- def generate_test
28
- return unless options[:test]
29
- invoke resolve_subcommand(["test", "model"],["test","klass"])
30
- end
31
-
32
- no_tasks {
33
-
34
- def package_name
35
- @package_name
36
- end
37
-
38
- def class_name
39
- @class_name
40
- end
41
-
42
- }
43
-
44
- protected
45
-
46
- def split_class_name(class_name)
47
- pieces = class_name.split "."
48
- class_name = pieces.pop
49
- package_name = pieces.join "."
50
- return package_name, class_name
51
- end
13
+ def template_file
14
+ "as3/robotlegs/model.as.tt"
15
+ end
16
+
17
+ def generate
18
+ @class_name += "Model" unless @class_name.match(/Model$/)
19
+ super
20
+ end
21
+
22
+ def generate_test
23
+ return unless options[:test]
24
+ invoke resolve_subcommand(generate_test_command_fallback), ["#{package_and_class}Model"]
25
+ end
52
26
 
53
27
  end
54
28
 
@@ -2,52 +2,26 @@ module Gator
2
2
  module AS3
3
3
  module RobotLegs
4
4
 
5
- class ServiceGenerator < Task
5
+ class ServiceGenerator < Gator::AS3::KlassGenerator
6
6
  include Gator::Project
7
+ include WithRobotLegsTemplates
8
+ include ActAsRobotLegsKlassGenerator
7
9
 
8
10
  define :command => "service",
9
11
  :usage => "generate as3 rl service CLASS_NAME", :description => "Creates RobotLegs Service class."
10
12
 
11
- argument :classname
12
-
13
- class_option :test, :default => false
14
-
15
- def self.source_root
16
- File.dirname __FILE__
13
+ def template_file
14
+ "as3/robotlegs/service.as.tt"
17
15
  end
18
16
 
19
17
  def generate
20
- src = project.path(:source, :main, :as3)
21
- @package_name, @class_name = split_class_name(classname)
22
- @class_name += "Service"
23
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
24
- template "service.as.tt", File.join(src, "#{@class_name}.as")
18
+ @class_name += "Service" unless @class_name.match(/Service$/)
19
+ super
25
20
  end
26
-
21
+
27
22
  def generate_test
28
23
  return unless options[:test]
29
- invoke resolve_subcommand(["test", "service"],["test","klass"])
30
- end
31
-
32
- no_tasks {
33
-
34
- def package_name
35
- @package_name
36
- end
37
-
38
- def class_name
39
- @class_name
40
- end
41
-
42
- }
43
-
44
- protected
45
-
46
- def split_class_name(class_name)
47
- pieces = class_name.split "."
48
- class_name = pieces.pop
49
- package_name = pieces.join "."
50
- return package_name, class_name
24
+ invoke resolve_subcommand(generate_test_command_fallback), ["#{package_and_class}Service"]
51
25
  end
52
26
 
53
27
  end
@@ -1,7 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/command'
2
2
  require File.dirname(__FILE__) + '/mediator'
3
3
  require File.dirname(__FILE__) + '/view'
4
- require File.dirname(__FILE__) + '/suite'
5
4
 
6
5
  module Gator
7
6
  module AS3
@@ -16,7 +15,6 @@ module Gator
16
15
  register_subcommand CommandTestGenerator
17
16
  register_subcommand MediatorTestGenerator
18
17
  register_subcommand ViewTestGenerator
19
- register_subcommand SuiteGenerator
20
18
 
21
19
  end
22
20
  end
@@ -3,61 +3,33 @@ module Gator
3
3
  module RobotLegs
4
4
  module ASUnit4
5
5
 
6
- class CommandTestGenerator < Task
7
- include Gator::Project
6
+ class CommandTestGenerator < Gator::AS3::TestGenerator
7
+ include Gator::Project
8
+ include WithRobotLegsTemplates
9
+ include ActAsRobotLegsTestGenerator
8
10
 
9
11
  define :command => "command",
10
12
  :usage => "generate as3 robotlegs test command CLASS_NAME", :description => "Creates ASUnit4 command test."
11
13
 
12
- argument :classname
13
-
14
- class_option :impl, :default => false
15
-
16
- def self.source_root
17
- File.dirname __FILE__
14
+ def template_file
15
+ "as3/robotlegs/test/asunit4/command.as.tt"
18
16
  end
19
17
 
20
18
  def generate
21
- src = project.path(:source, :test, :as3)
22
- @package_name, @class_name = split_class_name(classname)
23
- @class_name += "CommandTest"
24
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
25
- template "command.as.tt", File.join(src, "#{@class_name}.as")
26
- end
27
-
28
- def generate_implementation
29
- invoke resolve_subcommand(["test","suite"],["as3","klass"]), [classname]
30
- return unless options[:impl]
31
- invoke resolve_subcommand(["robotlegs","command"],["as3","klass"])
19
+ @class_name += @class_name.match(/Command$/) && "Test" || "CommandTest"
20
+ super
32
21
  end
33
22
 
34
23
  no_tasks {
35
24
 
36
- def package_name
37
- @package_name
38
- end
39
-
40
- def class_name
41
- @class_name
42
- end
43
-
44
- def instance_name
45
- @class_name.chomp("Test")
46
- end
25
+ def instance_name
26
+ @class_name.chomp("Test")
27
+ end
47
28
 
48
29
  }
49
30
 
50
- protected
51
-
52
- def split_class_name(class_name)
53
- pieces = class_name.split "."
54
- class_name = pieces.pop
55
- package_name = pieces.join "."
56
- return package_name, class_name
57
31
  end
58
-
59
32
  end
60
33
  end
61
34
  end
62
- end
63
- end
35
+ end
@@ -3,47 +3,27 @@ module Gator
3
3
  module RobotLegs
4
4
  module ASUnit4
5
5
 
6
- class MediatorTestGenerator < Task
7
- include Gator::Project
6
+ class MediatorTestGenerator < Gator::AS3::TestGenerator
7
+ include Gator::Project
8
+ include WithRobotLegsTemplates
8
9
 
9
10
  define :command => "mediator",
10
11
  :usage => "generate as3 robotlegs test mediator CLASS_NAME", :description => "Creates ASUnit4 mediator test."
11
12
 
12
- argument :classname
13
-
14
- class_option :impl, :default => false
15
-
16
- def self.source_root
17
- File.dirname __FILE__
13
+ def template_file
14
+ "as3/robotlegs/test/asunit4/mediator.as.tt"
18
15
  end
19
16
 
20
17
  def generate
21
- src = project.path(:source, :test, :as3)
22
- @package_name, @class_name = split_class_name(classname)
23
- @view_package_name = @package_name.dup << ".components"
18
+ @view_package_name = @package_name.dup << ".components" unless @package_name == ""
24
19
  @view_class_name = @class_name.dup
25
- @class_name += "MediatorTest"
26
- @package_name += ".mediators"
27
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
28
- template "mediator.as.tt", File.join(src, "#{@class_name}.as")
29
- end
30
-
31
- def generate_implementation
32
- invoke resolve_subcommand(["test","suite"],["as3","klass"]), [classname]
33
- return unless options[:impl]
34
- invoke resolve_subcommand(["robotlegs","mediator"],["as3","klass"])
20
+ @package_name += ".mediators" unless @package_name == ""
21
+ @class_name += @class_name.match(/Mediator$/) && "Test" || "MediatorTest"
22
+ super
35
23
  end
36
24
 
37
25
  no_tasks {
38
26
 
39
- def package_name
40
- @package_name
41
- end
42
-
43
- def class_name
44
- @class_name
45
- end
46
-
47
27
  def instance_name
48
28
  @class_name.chomp("Test")
49
29
  end
@@ -56,16 +36,7 @@ module Gator
56
36
  @view_class_name
57
37
  end
58
38
 
59
- }
60
-
61
- protected
62
-
63
- def split_class_name(class_name)
64
- pieces = class_name.split "."
65
- class_name = pieces.pop
66
- package_name = pieces.join "."
67
- return package_name, class_name
68
- end
39
+ }
69
40
 
70
41
  end
71
42
  end
@@ -3,60 +3,32 @@ module Gator
3
3
  module RobotLegs
4
4
  module ASUnit4
5
5
 
6
- class ViewTestGenerator < Task
6
+ class ViewTestGenerator < Gator::AS3::TestGenerator
7
7
  include Gator::Project
8
+ include WithRobotLegsTemplates
9
+ include ActAsRobotLegsKlassGenerator
8
10
 
9
11
  define :command => "view",
10
12
  :usage => "generate as3 robotlegs view test CLASS_NAME", :description => "Creates ASUnit4 view test."
11
13
 
12
- argument :classname
13
-
14
- class_option :impl, :default => false
15
-
16
- def self.source_root
17
- File.dirname __FILE__
14
+ def template_file
15
+ "as3/robotlegs/test/asunit4/view.as.tt"
18
16
  end
19
17
 
20
18
  def generate
21
- src = project.path(:source, :test, :as3)
22
- @package_name, @class_name = split_class_name(classname)
19
+ @package_name += ".components" unless @package_name == ""
23
20
  @class_name += "Test"
24
- @package_name += ".components"
25
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
26
- template "view.as.tt", File.join(src, "#{@class_name}.as")
27
- end
28
-
29
- def generate_implementation
30
- invoke resolve_subcommand(["test","suite"],["as3","klass"]), [classname]
31
- return unless options[:impl]
32
- invoke resolve_subcommand(["robotlegs","view"],["as3","klass"])
21
+ super
33
22
  end
34
23
 
35
24
  no_tasks {
36
25
 
37
- def package_name
38
- @package_name
39
- end
40
-
41
- def class_name
42
- @class_name
43
- end
44
-
45
26
  def instance_name
46
27
  @class_name.chomp("Test")
47
28
  end
48
29
 
49
30
  }
50
31
 
51
- protected
52
-
53
- def split_class_name(class_name)
54
- pieces = class_name.split "."
55
- class_name = pieces.pop
56
- package_name = pieces.join "."
57
- return package_name, class_name
58
- end
59
-
60
32
  end
61
33
  end
62
34
  end
@@ -2,52 +2,21 @@ module Gator
2
2
  module AS3
3
3
  module RobotLegs
4
4
 
5
- class ViewGenerator < Task
5
+ class ViewGenerator < Gator::AS3::KlassGenerator
6
6
  include Gator::Project
7
+ include WithRobotLegsTemplates
8
+ include ActAsRobotLegsKlassGenerator
7
9
 
8
10
  define :command => "view",
9
11
  :usage => "generate as3 view CLASS_NAME", :description => "Creates AS3 View class."
10
12
 
11
- argument :classname
12
-
13
- class_option :test, :default => false
14
-
15
- def self.source_root
16
- File.dirname __FILE__
13
+ def template_file
14
+ "as3/robotlegs/view.as.tt"
17
15
  end
18
16
 
19
17
  def generate
20
- src = project.path(:source, :main, :as3)
21
- @package_name, @class_name = split_class_name(classname)
22
- @package_name += ".components"
23
- src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
24
- template "view.as.tt", File.join(src, "#{@class_name}.as")
25
- end
26
-
27
- def generate_test
28
- return unless options[:test]
29
- invoke resolve_subcommand(["test", "view"],["test","klass"])
30
- end
31
-
32
- no_tasks {
33
-
34
- def package_name
35
- @package_name
36
- end
37
-
38
- def class_name
39
- @class_name
40
- end
41
-
42
- }
43
-
44
- protected
45
-
46
- def split_class_name(class_name)
47
- pieces = class_name.split "."
48
- class_name = pieces.pop
49
- package_name = pieces.join "."
50
- return package_name, class_name
18
+ @package_name += ".components" unless @package_name == ""
19
+ super
51
20
  end
52
21
 
53
22
  end