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,19 +2,14 @@ module Gator
2
2
  module AS3
3
3
  module RobotLegs
4
4
 
5
- class ViewWithMediatorGenerator < Task
6
- include Gator::Project
5
+ class ViewWithMediatorGenerator < Gator::Generator
7
6
 
8
7
  define :command => "view_with_mediator",
9
8
  :usage => "generate as3 rl view_with_mediator class CLASS_NAME", :description => "Creates RobotLegs View and Mediator classes."
10
9
 
11
- argument :classname
12
-
13
- class_option :test, :default => false
14
-
15
10
  def generate
16
- invoke resolve_subcommand(["robotlegs","mediator"],["as3","klass"]), [classname]
17
- invoke resolve_subcommand(["robotlegs","view"],["as3","klass"]), [classname]
11
+ invoke resolve_subcommand(["robotlegs","mediator"],["as3","klass"])
12
+ invoke resolve_subcommand(["robotlegs","view"],["as3","klass"])
18
13
  end
19
14
 
20
15
  end
@@ -1,6 +1,7 @@
1
1
  package <%= package_name %>
2
2
  {
3
3
  import asunit.asserts.*;
4
+ import flash.events.EventDispatcher;
4
5
 
5
6
  public class <%= class_name %>
6
7
  {
@@ -2,6 +2,10 @@ package <%= package_name %>
2
2
  {
3
3
  import asunit.asserts.*;
4
4
 
5
+ import flash.events.EventDispatcher;
6
+
7
+ import org.robotlegs.adapters.SwiftSuspendersInjector;
8
+
5
9
  import <%= view_package_name %>.<%= view_class_name %>;
6
10
 
7
11
  public class <%= class_name %>
@@ -13,6 +17,7 @@ package <%= package_name %>
13
17
  {
14
18
  instance=new <%= instance_name %>();
15
19
  instance.view=new <%= view_class_name %>();
20
+ instance.view.parentInjector=new SwiftSuspendersInjector();
16
21
  instance.setViewComponent(instance.view);
17
22
  instance.eventDispatcher=new EventDispatcher();
18
23
  instance.onRegister();
@@ -23,7 +23,6 @@ package <%= package_name %>
23
23
  {
24
24
  context.removeChild(instance);
25
25
  instance=null;
26
- context=null;
27
26
  }
28
27
 
29
28
  [Test]
@@ -0,0 +1,4 @@
1
+ require File.dirname(__FILE__) + '/generators/generator'
2
+ require File.dirname(__FILE__) + '/generators/collection'
3
+
4
+ Gator::MXML::GeneratorCollection.register_subcommand Gator::MXML::RobotLegs::GeneratorCollection
@@ -0,0 +1,19 @@
1
+ module Gator
2
+ module MXML
3
+ module RobotLegs
4
+ class ApplicationGenerator < Gator::AS3::KlassGenerator
5
+ include Gator::Project
6
+ include WithRobotLegsTemplates
7
+ include ActAsRobotLegsKlassGenerator
8
+ include ActAsMXMLKlassGenerator
9
+
10
+ define :command => "application", :short => "app",
11
+ :usage => "generate RobotLegs mxml application CLASS_NAME", :description => "Creates RobotLegs mxml application."
12
+
13
+ def template_file
14
+ "mxml/application.mxml.tt"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/application'
2
+ require File.dirname(__FILE__) + '/module'
3
+ require File.dirname(__FILE__) + '/module_application'
4
+
5
+ module Gator
6
+ module MXML
7
+ module RobotLegs
8
+
9
+ class GeneratorCollection < Gator::Command
10
+
11
+ define :command => "robotlegs", :short => "rl",
12
+ :usage => "generate RobotLegs mxml GENERATOR", :description => "RobotLegs generators for MXML."
13
+
14
+ register_subcommand Gator::MXML::RobotLegs::ApplicationGenerator
15
+ register_subcommand Gator::MXML::RobotLegs::ModuleGenerator
16
+ register_subcommand Gator::MXML::RobotLegs::ModuleApplicationGenerator
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ module Gator
2
+ module MXML
3
+ module RobotLegs
4
+ module WithRobotLegsTemplates
5
+ def self.included(base)
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def template_root
11
+ File.dirname(__FILE__) + "/../templates"
12
+ end
13
+ end
14
+ end
15
+
16
+ module ActAsRobotLegsKlassGenerator
17
+ def generate_test_command
18
+ super.unshift "robotlegs"
19
+ end
20
+ end
21
+
22
+ module ActAsRobotLegsTestGenerator
23
+ def generate_klass_command
24
+ ["robotlegs", definition[:command]]
25
+ end
26
+
27
+ def update_suite
28
+ invoke resolve_subcommand(["test", "suite"])
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,19 @@
1
+ module Gator
2
+ module MXML
3
+ module RobotLegs
4
+ class ModuleGenerator < Gator::AS3::KlassGenerator
5
+ include Gator::Project
6
+ include WithRobotLegsTemplates
7
+ include ActAsRobotLegsKlassGenerator
8
+ include ActAsMXMLKlassGenerator
9
+
10
+ define :command => "module",
11
+ :usage => "generate RobotLegs mxml module CLASS_NAME", :description => "Creates RobotLegs mxml module."
12
+
13
+ def template_file
14
+ "mxml/module.mxml.tt"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Gator
2
+ module MXML
3
+ module RobotLegs
4
+ class ModuleApplicationGenerator < Gator::AS3::KlassGenerator
5
+ include Gator::Project
6
+ include WithRobotLegsTemplates
7
+ include ActAsRobotLegsKlassGenerator
8
+ include ActAsMXMLKlassGenerator
9
+
10
+ define :command => "module_application",
11
+ :usage => "generate RobotLegs mxml modular application CLASS_NAME", :description => "Creates RobotLegs mxml modular application."
12
+
13
+ def template_file
14
+ "mxml/module_application.mxml.tt"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,30 @@
1
+ <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
2
+ xmlns:s="library://ns.adobe.com/flex/spark"
3
+ xmlns:mx="library://ns.adobe.com/flex/mx"
4
+ minWidth="800"
5
+ minHeight="600"
6
+ width="1024"
7
+ height="768"
8
+ backgroundColor="0xFFFFFF"
9
+ pageTitle="<%= class_name %>"
10
+ usePreloader="true"
11
+ applicationComplete="on<%= class_name %>Complete()">
12
+ <fx:Style>
13
+ @namespace s "library://ns.adobe.com/flex/spark";
14
+ </fx:Style>
15
+ <fx:Declarations>
16
+ <context:<%= class_name %>Context contextView="{this}" />
17
+ </fx:Declarations>
18
+ <s:layout>
19
+ <s:BasicLayout/>
20
+ </s:layout>
21
+ <fx:Script>
22
+ <![CDATA[
23
+ protected function on<%= class_name %>Complete():void
24
+ {
25
+ trace("<%= class_name %>.mxml :: on<%= class_name %>Complete()");
26
+ }
27
+ ]]>
28
+ </fx:Script>
29
+ </s:Application>
30
+
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <s:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
3
+ xmlns:s="library://ns.adobe.com/flex/spark"
4
+ implements="org.robotlegs.utilities.modular.core.IModule"
5
+ height="100%"
6
+ width="100%">
7
+ <s:layout>
8
+ <s:BasicLayout/>
9
+ </s:layout>
10
+ <fx:Script>
11
+ <![CDATA[
12
+ import mx.core.IVisualElementContainer;
13
+
14
+ import org.robotlegs.core.IInjector;
15
+ import org.robotlegs.utilities.modular.core.IModuleContext;
16
+
17
+ protected var context:IModuleContext;
18
+
19
+ [Inject]
20
+ public function set parentInjector(value:IInjector):void
21
+ {
22
+ context=new <%= class_name %>(this, value);
23
+ }
24
+
25
+ public function dispose():void
26
+ {
27
+ if(parent&&parent.contains(this))
28
+ IVisualElementContainer(parent).removeElement(this);
29
+ context.dispose();
30
+ context=null;
31
+ }
32
+ ]]>
33
+ </fx:Script>
34
+ </s:Module>
@@ -0,0 +1,31 @@
1
+ <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
2
+ xmlns:s="library://ns.adobe.com/flex/spark"
3
+ xmlns:mx="library://ns.adobe.com/flex/mx"
4
+ minWidth="800"
5
+ minHeight="600"
6
+ width="1024"
7
+ height="768"
8
+ backgroundColor="0xFFFFFF"
9
+ pageTitle="<%= class_name %>"
10
+ usePreloader="true"
11
+ applicationComplete="on<%= class_name %>Complete()">
12
+ <fx:Style>
13
+ @namespace s "library://ns.adobe.com/flex/spark";
14
+ </fx:Style>
15
+ <fx:Declarations>
16
+ <context:<%= class_name %>Context contextView="{<%= class_name.gsub(/\B[A-Z]/, '_\&').downcase %>_view}" />
17
+ </fx:Declarations>
18
+ <s:layout>
19
+ <s:BasicLayout/>
20
+ </s:layout>
21
+ <fx:Script>
22
+ <![CDATA[
23
+ protected function on<%= class_name %>Complete():void
24
+ {
25
+ trace("<%= class_name %>.mxml :: on<%= class_name %>Complete()");
26
+ }
27
+ ]]>
28
+ </fx:Script>
29
+ <views:<%= class_name %>View id="<%= class_name.gsub(/\B[A-Z]/, '_\&').downcase %>_view" />
30
+ </s:Application>
31
+
@@ -5,7 +5,7 @@ describe Gator::AS3::RobotLegs::CommandGenerator do
5
5
  clean
6
6
  gator('dummy.FooFunk')
7
7
  end
8
-
8
+
9
9
  it 'should create the expected files' do
10
10
  file('dummy/FooFunk.as').should exist
11
11
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: gator-as3-robotlegs
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 0.0.2.pre
5
+ version: 0.0.3.pre
6
6
  platform: ruby
7
7
  authors:
8
8
  - devboy
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-08-16 00:00:00 +01:00
14
+ date: 2011-09-01 00:00:00 +01:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 0.0.20.pre
24
+ version: 0.0.21.pre
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: *id001
@@ -69,20 +69,9 @@ dependencies:
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: *id005
72
- - !ruby/object:Gem::Dependency
73
- name: rcov
74
- requirement: &id006 !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: "0"
80
- type: :development
81
- prerelease: false
82
- version_requirements: *id006
83
72
  - !ruby/object:Gem::Dependency
84
73
  name: rspec
85
- requirement: &id007 !ruby/object:Gem::Requirement
74
+ requirement: &id006 !ruby/object:Gem::Requirement
86
75
  none: false
87
76
  requirements:
88
77
  - - ~>
@@ -90,10 +79,10 @@ dependencies:
90
79
  version: 2.3.0
91
80
  type: :development
92
81
  prerelease: false
93
- version_requirements: *id007
82
+ version_requirements: *id006
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: ci_reporter
96
- requirement: &id008 !ruby/object:Gem::Requirement
85
+ requirement: &id007 !ruby/object:Gem::Requirement
97
86
  none: false
98
87
  requirements:
99
88
  - - ~>
@@ -101,21 +90,21 @@ dependencies:
101
90
  version: 1.6.5
102
91
  type: :development
103
92
  prerelease: false
104
- version_requirements: *id008
93
+ version_requirements: *id007
105
94
  - !ruby/object:Gem::Dependency
106
95
  name: gator
107
- requirement: &id009 !ruby/object:Gem::Requirement
96
+ requirement: &id008 !ruby/object:Gem::Requirement
108
97
  none: false
109
98
  requirements:
110
99
  - - ~>
111
100
  - !ruby/object:Gem::Version
112
- version: 0.0.20.pre
101
+ version: 0.0.21.pre
113
102
  type: :development
114
103
  prerelease: false
115
- version_requirements: *id009
104
+ version_requirements: *id008
116
105
  - !ruby/object:Gem::Dependency
117
106
  name: gator-as3
118
- requirement: &id010 !ruby/object:Gem::Requirement
107
+ requirement: &id009 !ruby/object:Gem::Requirement
119
108
  none: false
120
109
  requirements:
121
110
  - - ~>
@@ -123,7 +112,7 @@ dependencies:
123
112
  version: 0.0.7.pre
124
113
  type: :development
125
114
  prerelease: false
126
- version_requirements: *id010
115
+ version_requirements: *id009
127
116
  description: Gator Generators for RobotLegs
128
117
  email: simon@newtriks.com
129
118
  executables: []
@@ -142,32 +131,41 @@ files:
142
131
  - README.rdoc
143
132
  - Rakefile
144
133
  - VERSION
134
+ - gator-as3-robotlegs.gemspec
135
+ - gator-as3-robotlegs.tmproj
145
136
  - lib/gator/as3/robotlegs/generators.rb
146
137
  - lib/gator/as3/robotlegs/generators/collection.rb
147
- - lib/gator/as3/robotlegs/generators/command.as.tt
148
138
  - lib/gator/as3/robotlegs/generators/command.rb
149
- - lib/gator/as3/robotlegs/generators/context.as.tt
150
139
  - lib/gator/as3/robotlegs/generators/context.rb
151
- - lib/gator/as3/robotlegs/generators/mediator.as.tt
140
+ - lib/gator/as3/robotlegs/generators/generator.rb
152
141
  - lib/gator/as3/robotlegs/generators/mediator.rb
153
- - lib/gator/as3/robotlegs/generators/model.as.tt
154
142
  - lib/gator/as3/robotlegs/generators/model.rb
155
- - lib/gator/as3/robotlegs/generators/service.as.tt
156
143
  - lib/gator/as3/robotlegs/generators/service.rb
157
144
  - lib/gator/as3/robotlegs/generators/test/asunit4.rb
158
145
  - lib/gator/as3/robotlegs/generators/test/asunit4/collection.rb
159
- - lib/gator/as3/robotlegs/generators/test/asunit4/command.as.tt
160
146
  - lib/gator/as3/robotlegs/generators/test/asunit4/command.rb
161
- - lib/gator/as3/robotlegs/generators/test/asunit4/mediator.as.tt
162
147
  - lib/gator/as3/robotlegs/generators/test/asunit4/mediator.rb
163
- - lib/gator/as3/robotlegs/generators/test/asunit4/runner.as.tt
164
- - lib/gator/as3/robotlegs/generators/test/asunit4/suite.as.tt
165
- - lib/gator/as3/robotlegs/generators/test/asunit4/suite.rb
166
- - lib/gator/as3/robotlegs/generators/test/asunit4/view.as.tt
167
148
  - lib/gator/as3/robotlegs/generators/test/asunit4/view.rb
168
- - lib/gator/as3/robotlegs/generators/view.as.tt
169
149
  - lib/gator/as3/robotlegs/generators/view.rb
170
150
  - lib/gator/as3/robotlegs/generators/view_with_mediator.rb
151
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/command.as.tt
152
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/context.as.tt
153
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/mediator.as.tt
154
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/model.as.tt
155
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/service.as.tt
156
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/test/asunit4/command.as.tt
157
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/test/asunit4/mediator.as.tt
158
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/test/asunit4/view.as.tt
159
+ - lib/gator/as3/robotlegs/templates/as3/robotlegs/view.as.tt
160
+ - lib/gator/mxml/robotlegs/generators.rb
161
+ - lib/gator/mxml/robotlegs/generators/application.rb
162
+ - lib/gator/mxml/robotlegs/generators/collection.rb
163
+ - lib/gator/mxml/robotlegs/generators/generator.rb
164
+ - lib/gator/mxml/robotlegs/generators/module.rb
165
+ - lib/gator/mxml/robotlegs/generators/module_application.rb
166
+ - lib/gator/mxml/robotlegs/templates/mxml/application.mxml.tt
167
+ - lib/gator/mxml/robotlegs/templates/mxml/module.mxml.tt
168
+ - lib/gator/mxml/robotlegs/templates/mxml/module_application.mxml.tt
171
169
  - spec/gator.rb
172
170
  - spec/generators/collection_spec.rb
173
171
  - spec/generators/command_spec.rb
@@ -187,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
185
  requirements:
188
186
  - - ">="
189
187
  - !ruby/object:Gem::Version
190
- hash: -690288780553481882
188
+ hash: 2083420594624080525
191
189
  segments:
192
190
  - 0
193
191
  version: "0"