fabricator 0.0.1

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 (61) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +63 -0
  3. data/PostInstall.txt +7 -0
  4. data/README.rdoc +48 -0
  5. data/Rakefile +28 -0
  6. data/app_generators/pureapp/USAGE +5 -0
  7. data/app_generators/pureapp/pureapp_generator.rb +151 -0
  8. data/app_generators/pureapp/templates/actionscript.properties +20 -0
  9. data/app_generators/pureapp/templates/authentication_module.mxml +27 -0
  10. data/app_generators/pureapp/templates/common/constants.as +12 -0
  11. data/app_generators/pureapp/templates/dashboard_module.mxml +28 -0
  12. data/app_generators/pureapp/templates/flex.properties +2 -0
  13. data/app_generators/pureapp/templates/html-template/AC_OETags.js +276 -0
  14. data/app_generators/pureapp/templates/html-template/history/history.css +6 -0
  15. data/app_generators/pureapp/templates/html-template/history/history.js +645 -0
  16. data/app_generators/pureapp/templates/html-template/history/historyFrame.html +29 -0
  17. data/app_generators/pureapp/templates/html-template/index.template.html +121 -0
  18. data/app_generators/pureapp/templates/html-template/playerProductInstall.swf +0 -0
  19. data/app_generators/pureapp/templates/libs/PureMVC_AS3_MultiCore_1_0_5.swc +0 -0
  20. data/app_generators/pureapp/templates/libs/Utility_AS3_MultiCore_Pipes_1_1.swc +0 -0
  21. data/app_generators/pureapp/templates/libs/fabrication-0.6-flex.swc +0 -0
  22. data/app_generators/pureapp/templates/libs/fabrication_license.txt +7 -0
  23. data/app_generators/pureapp/templates/libs/puremvc_multicore_license.txt +61 -0
  24. data/app_generators/pureapp/templates/libs/puremvc_pipes_license.txt +63 -0
  25. data/app_generators/pureapp/templates/mainapp.mxml +22 -0
  26. data/app_generators/pureapp/templates/modules/authentication/controller/authentication_module_startup_command.as +22 -0
  27. data/app_generators/pureapp/templates/modules/authentication/model/authentication_proxy.as +20 -0
  28. data/app_generators/pureapp/templates/modules/authentication/view/authentication_module_mediator.as +31 -0
  29. data/app_generators/pureapp/templates/modules/authentication/view/components/sign_in_view.mxml +48 -0
  30. data/app_generators/pureapp/templates/modules/authentication/view/sign_in_view_mediator.as +48 -0
  31. data/app_generators/pureapp/templates/modules/dashboard/controller/dashboard_module_startup_command.as +22 -0
  32. data/app_generators/pureapp/templates/modules/dashboard/view/components/nav_bar.mxml +14 -0
  33. data/app_generators/pureapp/templates/modules/dashboard/view/components/todo_list.mxml +21 -0
  34. data/app_generators/pureapp/templates/modules/dashboard/view/dashboard_module_mediator.as +37 -0
  35. data/app_generators/pureapp/templates/modules/dashboard/view/nav_bar_mediator.as +45 -0
  36. data/app_generators/pureapp/templates/modules/dashboard/view/todo_list_mediator.as +23 -0
  37. data/app_generators/pureapp/templates/project.properties +18 -0
  38. data/app_generators/pureapp/templates/properties.yml +6 -0
  39. data/app_generators/pureapp/templates/shell/controller/add_module_command.as +18 -0
  40. data/app_generators/pureapp/templates/shell/controller/change_selected_module_command.as +23 -0
  41. data/app_generators/pureapp/templates/shell/controller/load_dashboard_module_command.as +16 -0
  42. data/app_generators/pureapp/templates/shell/controller/remove_module_command.as +21 -0
  43. data/app_generators/pureapp/templates/shell/controller/startup_command.as +30 -0
  44. data/app_generators/pureapp/templates/shell/model/i_list_element.as +8 -0
  45. data/app_generators/pureapp/templates/shell/model/list_proxy.as +53 -0
  46. data/app_generators/pureapp/templates/shell/model/module_descriptor.as +19 -0
  47. data/app_generators/pureapp/templates/shell/model/selection_proxy.as +30 -0
  48. data/app_generators/pureapp/templates/shell/shell_constants.as +11 -0
  49. data/app_generators/pureapp/templates/shell/view/components/modules_container.mxml +15 -0
  50. data/app_generators/pureapp/templates/shell/view/mediator.as +35 -0
  51. data/app_generators/pureapp/templates/shell/view/modules_container_mediator.as +124 -0
  52. data/bin/pureapp +17 -0
  53. data/lib/fabricator.rb +6 -0
  54. data/script/console +10 -0
  55. data/script/destroy +14 -0
  56. data/script/generate +14 -0
  57. data/test/test_fabricator.rb +11 -0
  58. data/test/test_generator_helper.rb +29 -0
  59. data/test/test_helper.rb +3 -0
  60. data/test/test_pureapp_generator.rb +43 -0
  61. metadata +145 -0
@@ -0,0 +1,35 @@
1
+ package <%= base_package%>.shell.view {
2
+ import org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator.FlexMediator;
3
+
4
+ import <%= base_package%>.shell.view.components.ModulesContainer;
5
+ import <%= base_package%>.shell.<%= name%>ShellConstants;
6
+
7
+ import org.puremvc.as3.multicore.interfaces.INotification;
8
+
9
+ public class <%= name%>ShellMediator extends FlexMediator {
10
+
11
+ static public const NAME:String = "<%= name%>ShellMediator";
12
+
13
+ public function <%= name%>ShellMediator(viewComponent:<%= name%>Shell) {
14
+ super(NAME, viewComponent);
15
+ }
16
+
17
+ public function get application():<%= name%>Shell {
18
+ return viewComponent as <%= name%>Shell;
19
+ }
20
+
21
+ public function get modulesContainer():ModulesContainer {
22
+ return application.modulesContainer as ModulesContainer;
23
+ }
24
+
25
+ override public function onRegister():void {
26
+ registerMediator(new ModulesContainerMediator(modulesContainer));
27
+ }
28
+
29
+ public function respondToValidLogin(note:INotification):void {
30
+ trace("shell received valid_login routed message");
31
+ sendNotification(<%= name%>ShellConstants.LOAD_DASHBOARD_MODULE);
32
+ }
33
+
34
+ }
35
+ }
@@ -0,0 +1,124 @@
1
+ package <%= base_package%>.shell.view {
2
+ import org.puremvc.as3.multicore.utilities.fabrication.interfaces.IFabrication;
3
+
4
+ import flash.display.DisplayObject;
5
+ import flash.system.ApplicationDomain;
6
+
7
+ import mx.events.ModuleEvent;
8
+ import mx.modules.IModuleInfo;
9
+ import mx.modules.ModuleLoader;
10
+ import mx.modules.ModuleManager;
11
+
12
+ import org.puremvc.as3.multicore.interfaces.INotification;
13
+ import org.puremvc.as3.multicore.utilities.fabrication.components.FlexModuleLoader;
14
+ import org.puremvc.as3.multicore.utilities.fabrication.events.FabricatorEvent;
15
+ import org.puremvc.as3.multicore.utilities.fabrication.interfaces.IRouterAwareModule;
16
+ import org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator.FlexMediator;
17
+
18
+ import <%= base_package%>.shell.model.ModuleDescriptor;
19
+ import <%= base_package%>.shell.view.components.ModulesContainer;
20
+
21
+ public class ModulesContainerMediator extends FlexMediator {
22
+
23
+ static public const NAME:String = "ModulesContainerMediator";
24
+
25
+ private var pendingModules:Array = new Array();
26
+
27
+ public function ModulesContainerMediator(viewComponent:ModulesContainer) {
28
+ super(NAME, viewComponent);
29
+ }
30
+
31
+ public function get modulesContainer():ModulesContainer {
32
+ return viewComponent as ModulesContainer;
33
+ }
34
+
35
+ public function getModuleForDescriptor(descriptor:ModuleDescriptor):IFabrication {
36
+ var n:int = modulesContainer.numChildren;
37
+ var child:DisplayObject;
38
+ var module:IFabrication;
39
+ var elementID:String = descriptor.getElementID();
40
+ for (var i:int = 0; i < n; i++) {
41
+ child = modulesContainer.getChildAt(i);
42
+ if (child is IFabrication) {
43
+ module = child as IFabrication;
44
+ if (module != null && module.id == elementID) {
45
+ return module as IFabrication;
46
+ }
47
+ }
48
+ }
49
+
50
+ return null;
51
+ }
52
+
53
+ override public function onRegister():void {
54
+
55
+ }
56
+
57
+ //FIXME
58
+ public function respondToAddedToList(note:INotification):void {
59
+ loadModule(note.getBody() as ModuleDescriptor);
60
+ }
61
+
62
+ //FIXME
63
+ public function respondToRemovedFromList(note:INotification):void {
64
+ unloadModule(note.getBody() as ModuleDescriptor);
65
+ }
66
+
67
+ public function respondToSignOut(note:INotification):void {
68
+ trace("responding to signOut");
69
+ //FIXME remove all modules but authentication
70
+ var moduleDescriptor:ModuleDescriptor = new ModuleDescriptor("DashboardModule.swf");
71
+ //sendNotification(DemoAppShellConstants.REMOVE_MODULE, moduleDescriptor);
72
+ modulesContainer.selectedIndex = 0;
73
+ }
74
+
75
+ private function loadModule(moduleDescriptor:ModuleDescriptor):void {
76
+ var moduleLoader:FlexModuleLoader = new FlexModuleLoader();
77
+ var module:IModuleInfo = ModuleManager.getModule(moduleDescriptor.url);
78
+
79
+ module.data = moduleDescriptor;
80
+ module.addEventListener(ModuleEvent.READY, moduleReadyListener);
81
+
82
+ pendingModules.push(module);
83
+ module.load(ApplicationDomain.currentDomain);
84
+ }
85
+
86
+ private function unloadModule(moduleDescriptor:ModuleDescriptor):void {
87
+ var module:IFabrication = getModuleForDescriptor(moduleDescriptor);
88
+
89
+ modulesContainer.removeChild(module as DisplayObject);
90
+ module.dispose();
91
+ }
92
+
93
+ private function moduleReadyListener(event:ModuleEvent):void {
94
+ var module:IModuleInfo = event.module;
95
+ var moduleDescriptor:ModuleDescriptor = event.module.data as ModuleDescriptor;
96
+ var moduleInstance:Object = event.module.factory.create();
97
+
98
+ moduleInstance.router = applicationRouter;
99
+ moduleInstance.defaultRouteAddress = applicationAddress;
100
+ moduleInstance.id = moduleDescriptor.getElementID();
101
+
102
+ moduleInstance.addEventListener(FabricatorEvent.FABRICATION_CREATED, moduleCreated);
103
+ moduleInstance.addEventListener(FabricatorEvent.FABRICATION_REMOVED, moduleRemoved);
104
+
105
+ modulesContainer.addChild(moduleInstance as DisplayObject);
106
+ //FIXME remove and find another way to choose wich module to select, use SELECT_MODULE
107
+ if (modulesContainer.numChildren>1) {
108
+ modulesContainer.selectedIndex = modulesContainer.numChildren-1;
109
+ }
110
+ }
111
+
112
+ private function moduleCreated(event:FabricatorEvent):void {
113
+ event.target.removeEventListener(FabricatorEvent.FABRICATION_CREATED, moduleCreated);
114
+ trace("moduleCreated " + event.target);
115
+
116
+ }
117
+
118
+ private function moduleRemoved(event:FabricatorEvent):void {
119
+ event.target.removeEventListener(FabricatorEvent.FABRICATION_REMOVED, moduleRemoved);
120
+ trace("moduleRemoved " + event.target);
121
+ }
122
+
123
+ }
124
+ }
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'rubigen'
5
+
6
+ if %w(-v --version).include? ARGV.first
7
+ require 'pureapp/version'
8
+ puts "#{File.basename($0)} #{Pureapp::VERSION}"
9
+ exit(0)
10
+ end
11
+
12
+ require 'rubigen/scripts/generate'
13
+ source = RubiGen::PathSource.new(:application,
14
+ File.join(File.dirname(__FILE__), "../app_generators"))
15
+ RubiGen::Base.reset_sources
16
+ RubiGen::Base.append_sources source
17
+ RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'pureapp')
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ module Fabricator
5
+ VERSION = '0.0.1'
6
+ end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/fabricator.rb'}"
9
+ puts "Loading fabricator gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit, :fabricator]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestFabricator < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
@@ -0,0 +1,29 @@
1
+ begin
2
+ require File.dirname(__FILE__) + '/test_helper'
3
+ rescue LoadError
4
+ require 'test/unit'
5
+ end
6
+ require 'fileutils'
7
+
8
+ # Must set before requiring generator libs.
9
+ TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
10
+ PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
11
+ app_root = File.join(TMP_ROOT, PROJECT_NAME)
12
+ if defined?(APP_ROOT)
13
+ APP_ROOT.replace(app_root)
14
+ else
15
+ APP_ROOT = app_root
16
+ end
17
+ if defined?(RAILS_ROOT)
18
+ RAILS_ROOT.replace(app_root)
19
+ else
20
+ RAILS_ROOT = app_root
21
+ end
22
+
23
+ begin
24
+ require 'rubigen'
25
+ rescue LoadError
26
+ require 'rubygems'
27
+ require 'rubigen'
28
+ end
29
+ require 'rubigen/helpers/generator_test_helper'
@@ -0,0 +1,3 @@
1
+ require 'stringio'
2
+ require 'test/unit'
3
+ require File.dirname(__FILE__) + '/../lib/fabricator'
@@ -0,0 +1,43 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+ class TestPureappGenerator < Test::Unit::TestCase
4
+ include RubiGen::GeneratorTestHelper
5
+
6
+ def setup
7
+ bare_setup
8
+ end
9
+
10
+ def teardown
11
+ bare_teardown
12
+ end
13
+
14
+ # Some generator-related assertions:
15
+ # assert_generated_file(name, &block) # block passed the file contents
16
+ # assert_directory_exists(name)
17
+ # assert_generated_class(name, &block)
18
+ # assert_generated_module(name, &block)
19
+ # assert_generated_test_for(name, &block)
20
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
21
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
22
+ #
23
+ # Other helper methods are:
24
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
25
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
26
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
27
+
28
+ def test_generator_without_options
29
+ run_generator('pureapp', [APP_ROOT], sources)
30
+ assert_directory_exists "path/to/included/folder"
31
+ assert_generated_file "path/to/included/folder/some_file"
32
+ end
33
+
34
+ private
35
+ def sources
36
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
37
+ ]
38
+ end
39
+
40
+ def generator_path
41
+ "app_generators"
42
+ end
43
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fabricator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Steffen Egelund Jensen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-03 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: newgem
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.8.0
34
+ version:
35
+ description: FIX (describe your package)
36
+ email:
37
+ - sej@lenio.dk
38
+ executables:
39
+ - pureapp
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - app_generators/pureapp/templates/libs/fabrication_license.txt
44
+ - app_generators/pureapp/templates/libs/puremvc_multicore_license.txt
45
+ - app_generators/pureapp/templates/libs/puremvc_pipes_license.txt
46
+ - History.txt
47
+ - Manifest.txt
48
+ - PostInstall.txt
49
+ - README.rdoc
50
+ files:
51
+ - app_generators/pureapp/pureapp_generator.rb
52
+ - app_generators/pureapp/templates/actionscript.properties
53
+ - app_generators/pureapp/templates/authentication_module.mxml
54
+ - app_generators/pureapp/templates/common/constants.as
55
+ - app_generators/pureapp/templates/dashboard_module.mxml
56
+ - app_generators/pureapp/templates/flex.properties
57
+ - app_generators/pureapp/templates/html-template/AC_OETags.js
58
+ - app_generators/pureapp/templates/html-template/history
59
+ - app_generators/pureapp/templates/html-template/history/history.css
60
+ - app_generators/pureapp/templates/html-template/history/history.js
61
+ - app_generators/pureapp/templates/html-template/history/historyFrame.html
62
+ - app_generators/pureapp/templates/html-template/index.template.html
63
+ - app_generators/pureapp/templates/html-template/playerProductInstall.swf
64
+ - app_generators/pureapp/templates/libs/fabrication-0.6-flex.swc
65
+ - app_generators/pureapp/templates/libs/fabrication_license.txt
66
+ - app_generators/pureapp/templates/libs/PureMVC_AS3_MultiCore_1_0_5.swc
67
+ - app_generators/pureapp/templates/libs/puremvc_multicore_license.txt
68
+ - app_generators/pureapp/templates/libs/puremvc_pipes_license.txt
69
+ - app_generators/pureapp/templates/libs/Utility_AS3_MultiCore_Pipes_1_1.swc
70
+ - app_generators/pureapp/templates/mainapp.mxml
71
+ - app_generators/pureapp/templates/modules/authentication/controller/authentication_module_startup_command.as
72
+ - app_generators/pureapp/templates/modules/authentication/model/authentication_proxy.as
73
+ - app_generators/pureapp/templates/modules/authentication/view/authentication_module_mediator.as
74
+ - app_generators/pureapp/templates/modules/authentication/view/components/sign_in_view.mxml
75
+ - app_generators/pureapp/templates/modules/authentication/view/sign_in_view_mediator.as
76
+ - app_generators/pureapp/templates/modules/dashboard/controller/dashboard_module_startup_command.as
77
+ - app_generators/pureapp/templates/modules/dashboard/view/components/nav_bar.mxml
78
+ - app_generators/pureapp/templates/modules/dashboard/view/components/todo_list.mxml
79
+ - app_generators/pureapp/templates/modules/dashboard/view/dashboard_module_mediator.as
80
+ - app_generators/pureapp/templates/modules/dashboard/view/nav_bar_mediator.as
81
+ - app_generators/pureapp/templates/modules/dashboard/view/todo_list_mediator.as
82
+ - app_generators/pureapp/templates/project.properties
83
+ - app_generators/pureapp/templates/properties.yml
84
+ - app_generators/pureapp/templates/shell/controller/add_module_command.as
85
+ - app_generators/pureapp/templates/shell/controller/change_selected_module_command.as
86
+ - app_generators/pureapp/templates/shell/controller/load_dashboard_module_command.as
87
+ - app_generators/pureapp/templates/shell/controller/remove_module_command.as
88
+ - app_generators/pureapp/templates/shell/controller/startup_command.as
89
+ - app_generators/pureapp/templates/shell/model/i_list_element.as
90
+ - app_generators/pureapp/templates/shell/model/list_proxy.as
91
+ - app_generators/pureapp/templates/shell/model/module_descriptor.as
92
+ - app_generators/pureapp/templates/shell/model/selection_proxy.as
93
+ - app_generators/pureapp/templates/shell/shell_constants.as
94
+ - app_generators/pureapp/templates/shell/view/components
95
+ - app_generators/pureapp/templates/shell/view/components/modules_container.mxml
96
+ - app_generators/pureapp/templates/shell/view/mediator.as
97
+ - app_generators/pureapp/templates/shell/view/modules_container_mediator.as
98
+ - app_generators/pureapp/USAGE
99
+ - bin/pureapp
100
+ - History.txt
101
+ - lib/fabricator
102
+ - lib/fabricator.rb
103
+ - Manifest.txt
104
+ - PostInstall.txt
105
+ - Rakefile
106
+ - README.rdoc
107
+ - script/console
108
+ - script/destroy
109
+ - script/generate
110
+ - test/test_fabricator.rb
111
+ - test/test_generator_helper.rb
112
+ - test/test_helper.rb
113
+ - test/test_pureapp_generator.rb
114
+ has_rdoc: true
115
+ homepage: FIX (url)
116
+ post_install_message: PostInstall.txt
117
+ rdoc_options:
118
+ - --main
119
+ - README.rdoc
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: "0"
127
+ version:
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: "0"
133
+ version:
134
+ requirements: []
135
+
136
+ rubyforge_project: pure-fab-gen
137
+ rubygems_version: 1.3.1
138
+ signing_key:
139
+ specification_version: 2
140
+ summary: FIX (describe your package)
141
+ test_files:
142
+ - test/test_fabricator.rb
143
+ - test/test_generator_helper.rb
144
+ - test/test_helper.rb
145
+ - test/test_pureapp_generator.rb