gator-as3-robotlegs 0.0.2.pre → 0.0.3.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.
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