robotlegs 1.3.0.4.pre → 1.3.0.5.pre

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,9 @@
1
- source :rubygems
1
+ source "http://rubygems.org"
2
+
3
+ gem 'flashsdk', '>= 1.0.13.pre'
4
+
5
+ group :development do
6
+ gem "shoulda"
7
+ gem "mocha"
8
+ end
2
9
 
3
- gemspec
data/Gemfile.lock CHANGED
@@ -1,20 +1,13 @@
1
- PATH
2
- remote: .
3
- specs:
4
- robotlegs (1.3.0.4.pre)
5
- flashsdk (>= 1.0.8.pre)
6
-
7
1
  GEM
8
2
  remote: http://rubygems.org/
9
3
  specs:
10
4
  archive-tar-minitar (0.5.2)
11
5
  flashsdk (1.0.13.pre)
12
6
  sprout (>= 1.0.31.pre)
13
- mocha (0.9.8)
7
+ mocha (0.9.10)
14
8
  rake
15
9
  open4 (1.0.1)
16
10
  rake (0.8.7)
17
- rcov (0.9.9)
18
11
  rdoc (2.5.11)
19
12
  rubyzip (0.9.4)
20
13
  shoulda (2.11.3)
@@ -30,9 +23,6 @@ PLATFORMS
30
23
  ruby
31
24
 
32
25
  DEPENDENCIES
33
- flashsdk (>= 1.0.8.pre)
26
+ flashsdk (>= 1.0.13.pre)
34
27
  mocha
35
- rake
36
- rcov
37
- robotlegs!
38
28
  shoulda
data/README.mkdn CHANGED
@@ -14,6 +14,7 @@ This bundle contains generators for creating:
14
14
  * Proxy
15
15
  * Mediator
16
16
  * Command
17
+ * Service
17
18
 
18
19
 
19
20
  ## Prerequisites
@@ -27,27 +28,34 @@ This bundle contains generators for creating:
27
28
 
28
29
  cd robotlegs
29
30
  gem build robotlegs.gemspec
30
- gem install robotlegs-1.0.pre.gem
31
- rl-project SomeProject
32
- rl-proxy SomeProxy
33
- rl-mediator SomeMediator
34
- rl-command SomeCommand
31
+ gem install robotlegs-1.3.0.5.pre.gem
32
+
33
+ ## Usage
34
+
35
+ Project Generator
36
+ rl-project SomeProject --package=com.foo or rl-project SomeProject --package=com.foo --shallow
37
+
38
+ Proxy Generator
39
+ rl-proxy SomeProxy --package=com.foo
35
40
 
36
- ## Available libraries
37
-
38
- library :robotlegs, :swc # (default) includes swc, docs
41
+ Mediator Generator
42
+ rl-mediator SomeMediator --package=com.foo
43
+
44
+ Command Generator
45
+ rl-command SomeCommand --package=com.foo
39
46
 
40
- library :robotlegs, :src # includes swc, docs, src
47
+ Service Generator
48
+ rl-service SomeService --package=com.foo
41
49
 
42
50
  ##TODO
43
51
 
44
- Generators
45
52
  * Event
46
53
  * VO
47
54
  * DTO
48
55
  * Signal
49
56
  * Signals Project
50
57
  * Signal Command
58
+ * as3 Only Project
51
59
 
52
60
  ## MIT License
53
61
 
data/Rakefile CHANGED
@@ -1,52 +1,23 @@
1
+ require 'rubygems'
1
2
  require 'bundler'
3
+
2
4
  Bundler.require
3
5
 
6
+ require 'rake'
4
7
  require 'rake/clean'
5
8
  require 'rake/testtask'
6
9
 
7
- # the filename used by the gem
8
- filename = "#{Robotlegs::NAME}-#{Robotlegs::VERSION}"
9
-
10
- CLOBBER.add('pkg')
11
- CLOBBER.add('vendor')
12
- CLOBBER.add('.bundle')
13
-
14
- #
15
- # Tasks
16
- #
10
+ require File.join(File.dirname(__FILE__), 'lib', 'robotlegs', 'module')
17
11
 
18
12
  namespace :test do
13
+
19
14
  Rake::TestTask.new(:units) do |t|
20
15
  t.libs << "test/unit"
21
16
  t.test_files = FileList["test/unit/*_test.rb"]
22
17
  t.verbose = true
23
18
  end
19
+
24
20
  end
25
21
 
26
22
  desc "Run tests"
27
- task :test => 'test:units'
28
-
29
-
30
- #
31
- # Gem tasks
32
- #
33
-
34
- namespace :gem do
35
- directory "pkg"
36
-
37
- desc 'Build the gem'
38
- task :build => 'pkg' do
39
- puts `gem build #{Robotlegs::NAME}.gemspec`
40
- puts `mv #{filename}.gem pkg/#{filename}.gem`
41
- end
42
-
43
- desc "Build and install #{filename}.gem"
44
- task :install => :build do
45
- puts `gem install pkg/#{filename}`
46
- end
47
-
48
- desc "Build and push #{filename}.gem to rubygems.org"
49
- task :push => :build do
50
- system "gem push pkg/#{filename}.gem"
51
- end
52
- end
23
+ task :test => 'test:units'
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.3.0.5.pre
data/lib/robotlegs.rb CHANGED
@@ -1,8 +1,6 @@
1
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
- require 'sprout'
3
- require 'robotlegs/version'
1
+ require 'flashsdk'
4
2
 
5
- require 'robotlegs/generators/robotlegs_class_generator_base'
3
+ require 'robotlegs/module'
6
4
  require 'robotlegs/generators/project_generator'
7
5
  require 'robotlegs/generators/context_generator'
8
6
  require 'robotlegs/generators/proxy_generator'
@@ -10,19 +8,13 @@ require 'robotlegs/generators/mediator_generator'
10
8
  require 'robotlegs/generators/command_generator'
11
9
  require 'robotlegs/generators/service_generator'
12
10
 
13
- module Robotlegs
14
- # NAME and VERSION live in robotlegs/version
15
- end
16
-
17
11
  Sprout::Specification.new do |s|
18
12
  s.name = Robotlegs::NAME
19
13
  s.version = Robotlegs::VERSION
20
14
  s.add_remote_file_target do |f|
21
- f.platform = :universal
22
- f.url = "http://downloads.robotlegs.org/robotlegs-framework-v1.3.0.zip"
23
- f.md5 = '48ce7343e8d004c3bc9e335dc0c2f190'
15
+ f.url = "http://downloads.robotlegs.org/robotlegs-framework-v#{Robotlegs::ZIP_VERSION}.zip"
16
+ f.md5 = Robotlegs::ZIP_MD5
24
17
  f.archive_type = :zip
25
- f.add_library :swc, ['bin/', 'libs/', 'docs/']
26
- f.add_library :src, ['bin/', 'src', 'libs/', 'docs/']
18
+ f.add_library :swc, ['bin/']
27
19
  end
28
20
  end
@@ -1,51 +1,26 @@
1
1
  module Robotlegs
2
- class CommandGenerator < RobotlegsClassGeneratorBase
2
+ class CommandGenerator < FlashSDK::ClassGenerator
3
3
 
4
4
  def manifest
5
- directory input.snake_case do
6
- template "#{input.camel_case}.as", 'RobotlegsCommand.as'
7
- create_test_case
5
+ if(!input.match(/Test$/))
6
+ directory command_directory do
7
+ template "#{class_name}.as", 'RobotlegsCommand.as'
8
+ end
8
9
  end
9
10
 
10
- end
11
-
12
- def class_directory
13
- parts = input_in_parts
14
- if parts.size > 1
15
- parts.pop
16
- return File.join src, *parts
11
+ unless no_test
12
+ generator :test_class, :input => "#{fully_qualified_class_name}Test"
17
13
  end
18
- return src
19
14
  end
20
-
21
- def package_name
22
- parts = input_in_parts
23
- if parts.size > 1
24
- parts.pop
25
- return "#{parts.join('.')} "
26
- end
27
- return ""
15
+
16
+ def command_directory
17
+ [] << src << package_directory << "controller" << "commands"
28
18
  end
29
-
30
- def class_name
31
- parts = input_in_parts
32
- parts.pop.camel_case
19
+
20
+ def command_package
21
+ default_package_name << ".controller" << ".commands"
33
22
  end
34
-
35
- def input_in_parts
36
- provided_input = input
37
- if provided_input.include?('/')
38
- provided_input.gsub! /^#{src}\//, ''
39
- provided_input = provided_input.split('/').join('.')
40
- end
41
-
42
- provided_input.gsub!(/\.as$/, '')
43
- provided_input.gsub!(/\.mxml$/, '')
44
- provided_input.gsub!(/\.xml$/, '')
45
-
46
- provided_input.split('.')
47
- end
48
-
23
+
49
24
  end
50
25
  end
51
26
 
@@ -1,16 +1,21 @@
1
1
  module Robotlegs
2
- class ContextGenerator < RobotlegsClassGeneratorBase
3
-
4
- ##
5
- # This is how you add a parameter to your generator
6
- # add_param :fwee, String, { :default => "fwee" }
2
+ class ContextGenerator < FlashSDK::ClassGenerator
7
3
 
8
4
  def manifest
9
- directory input.snake_case do
10
- template input.camel_case
5
+ if(!input.match(/Test$/))
6
+ directory context_directory do
7
+ template "#{class_name}.as", 'RobotlegsContext.as'
8
+ end
11
9
  end
12
10
 
11
+ unless no_test
12
+ generator :test_class, :input => "#{fully_qualified_class_name}Test"
13
+ end
13
14
  end
14
-
15
+
16
+ def context_directory
17
+ [] << src << package_directory
18
+ end
19
+
15
20
  end
16
21
  end
@@ -1,11 +1,24 @@
1
1
  module Robotlegs
2
- class MediatorGenerator < RobotlegsClassGeneratorBase
2
+ class MediatorGenerator < FlashSDK::ClassGenerator
3
3
 
4
4
  def manifest
5
- directory input.snake_case do
6
- template input.camel_case
5
+ if(!input.match(/Test$/))
6
+ directory mediator_directory do
7
+ template "#{class_name}.as", 'RobotlegsMediator.as'
8
+ end
7
9
  end
8
10
 
11
+ unless no_test
12
+ generator :test_class, :input => "#{fully_qualified_class_name}Test"
13
+ end
14
+ end
15
+
16
+ def mediator_directory
17
+ [] << src << package_directory << "view" << "mediators"
18
+ end
19
+
20
+ def mediator_package
21
+ default_package_name << ".view" << ".mediators"
9
22
  end
10
23
 
11
24
  end
@@ -1,5 +1,3 @@
1
- require 'flashsdk'
2
-
3
1
  module Robotlegs
4
2
  class ProjectGenerator < FlashSDK::ProjectGenerator
5
3
 
@@ -13,7 +11,6 @@ module Robotlegs
13
11
  ##
14
12
  # Send flag shallow to prevent subdirectories vo, dto from being created
15
13
  add_param :shallow, Boolean
16
- add_param :package, String, { :default => ""}
17
14
  add_param :proxy, String, { :default => "proxy" }
18
15
  add_param :vo, String, { :default => "vo" }
19
16
  add_param :view, String, { :default => "view" }
@@ -69,57 +66,12 @@ module Robotlegs
69
66
 
70
67
  protected
71
68
 
72
- def project_name
73
- return input.camel_case
74
- end
75
-
76
- def package_directory
77
- split_parts package
78
- end
79
-
80
- def class_directory
81
- parts = input_in_parts
82
- if parts.size > 1
83
- parts.pop
84
- return File.join src, *parts
85
- end
86
- return src
87
- end
88
-
89
- def package_name
90
- parts = split_parts package
91
- return "#{parts.join('.')}"
92
- end
93
-
94
- def class_name
95
- parts = input_in_parts
96
- parts.pop.camel_case
97
- end
98
-
99
69
  def context_package
100
- if package_name != ""
101
- return package_name + ".*"
70
+ if default_package_name != ""
71
+ return default_package_name + ".*"
102
72
  end
103
73
  "*"
104
74
  end
105
-
106
- def input_in_parts
107
- split_parts input
108
- end
109
-
110
- def split_parts(value)
111
- provided_input = value
112
- if provided_input.include?('/')
113
- provided_input.gsub! /^#{src}\//, ''
114
- provided_input = provided_input.split('/').join('.')
115
- end
116
-
117
- provided_input.gsub!(/\.as$/, '')
118
- provided_input.gsub!(/\.mxml$/, '')
119
- provided_input.gsub!(/\.xml$/, '')
120
-
121
- provided_input.split('.')
122
- end
123
-
75
+
124
76
  end
125
77
  end
@@ -1,11 +1,24 @@
1
1
  module Robotlegs
2
- class ProxyGenerator < RobotlegsClassGeneratorBase
2
+ class ProxyGenerator < FlashSDK::ClassGenerator
3
3
 
4
4
  def manifest
5
- directory input.snake_case do
6
- template input.camel_case
5
+ if(!input.match(/Test$/))
6
+ directory proxy_directory do
7
+ template "#{class_name}.as", 'RobotlegsProxy.as'
8
+ end
7
9
  end
8
10
 
11
+ unless no_test
12
+ generator :test_class, :input => "#{fully_qualified_class_name}Test"
13
+ end
14
+ end
15
+
16
+ def proxy_directory
17
+ [] << src << package_directory << "model" << "proxy"
18
+ end
19
+
20
+ def proxy_package
21
+ default_package_name << ".model" << ".proxy"
9
22
  end
10
23
 
11
24
  end
@@ -1,24 +1,24 @@
1
1
  module Robotlegs
2
- class ServiceGenerator < RobotlegsClassGeneratorBase
3
-
4
- ##
5
- # This is how you add a parameter to your generator
6
- # add_param :fwee, String, { :default => "fwee" }
7
- add_param :package, String, { :default => "com.foo" }
2
+ class ServiceGenerator < FlashSDK::ClassGenerator
8
3
 
9
4
  def manifest
10
- directory input.snake_case do
11
- template "#{input.camel_case}Service.as", "RobotlegsService.as"
5
+ if(!input.match(/Test$/))
6
+ directory service_directory do
7
+ template "#{class_name}.as", 'RobotlegsService.as'
8
+ end
12
9
  end
13
10
 
11
+ unless no_test
12
+ generator :test_class, :input => "#{fully_qualified_class_name}Test"
13
+ end
14
14
  end
15
-
16
- def package_name
17
- package
15
+
16
+ def service_directory
17
+ [] << src << package_directory << 'service'
18
18
  end
19
-
20
- def class_name
21
- ""
19
+
20
+ def service_package
21
+ default_package_name << '.service'
22
22
  end
23
23
 
24
24
  end
@@ -1,4 +1,4 @@
1
- package <%= package_name %>
1
+ package <%= command_package %>
2
2
  {
3
3
  import org.robotlegs.mvcs.Command;
4
4
 
@@ -1,17 +1,17 @@
1
- package <%= package_name %>
1
+ package <%= default_package_name %>
2
2
  {
3
3
  import flash.display.DisplayObjectContainer;
4
4
 
5
5
  import org.robotlegs.mvcs.Context;
6
6
  import org.robotlegs.base.ContextEvent;
7
7
 
8
- public class <%= class_name %>Context extends Context
8
+ public class <%= class_name %> extends Context
9
9
  {
10
10
  //---------------------------------------
11
11
  // CONSTRUCTOR
12
12
  //---------------------------------------
13
13
 
14
- public function <%= class_name %>Context(contextView:DisplayObjectContainer=null, autoStartup:Boolean=true)
14
+ public function <%= class_name %>(contextView:DisplayObjectContainer=null, autoStartup:Boolean=true)
15
15
  {
16
16
  super(contextView,autoStartup);
17
17
  }
@@ -1,5 +1,5 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'flashsdk', '>= 1.0.8.pre'
4
- gem 'robotlegs', '>= 1.1.1.pre'
3
+ gem 'flashsdk', '>= 1.0.13.pre'
4
+ gem 'robotlegs', '>= 1.3.0.4.pre'
5
5
  gem 'asunit4', '>= 4.2.2.pre'
@@ -1,4 +1,4 @@
1
- package <%= package_name %>
1
+ package <%= mediator_package %>
2
2
  {
3
3
  import org.robotlegs.mvcs.Mediator;
4
4
 
@@ -1,4 +1,4 @@
1
- package <%= package_name %>
1
+ package <%= proxy_package %>
2
2
  {
3
3
  import org.robotlegs.mvcs.Actor;
4
4
 
@@ -8,7 +8,7 @@ library :robotlegs, :swc
8
8
  # Configure
9
9
 
10
10
  def configure_mxmlc t
11
- t.library_path << 'lib/robotlegs/robotlegs-framework-v1.1.2.swc'
11
+ t.library_path << 'lib/robotlegs/robotlegs-framework-v<%= Robotlegs::ZIP_VERSION %>.swc'
12
12
  end
13
13
 
14
14
  ##############################
@@ -1,4 +1,4 @@
1
- package <%= package_name %>
1
+ package <%= service_package %>
2
2
  {
3
3
  import org.robotlegs.mvcs.Actor;
4
4
 
@@ -0,0 +1,9 @@
1
+ module Robotlegs
2
+ NAME = 'robotlegs'
3
+ ZIP_VERSION = '1.4.0'
4
+ ZIP_MD5 = '2c0962ea2f5e9665d1ac8951c7448b95'
5
+ # Version applies directly to Robotlegs official version. To release patches to
6
+ # the sprout or gem, increment the micro value, or the 4th number in the version sequence.
7
+ version_file = File.join(File.dirname(__FILE__), '..', '..', 'VERSION')
8
+ VERSION = File.read(version_file).strip
9
+ end
data/robotlegs.gemspec CHANGED
@@ -1,27 +1,24 @@
1
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
- require 'robotlegs/version'
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $:.unshift lib unless $:.include?( lib )
4
+
5
+ require 'bundler'
6
+ require 'robotlegs'
3
7
 
4
8
  Gem::Specification.new do |s|
5
9
  s.name = Robotlegs::NAME
6
10
  s.version = Robotlegs::VERSION
7
- s.author = "Kristofer Joseph, Amos Lanka"
11
+ s.author = "Kristofer Joseph"
8
12
  s.email = ["projectsprouts@googlegroups.com"]
9
13
  s.homepage = "http://projectsprouts.org"
10
- s.summary = "Robotlegs Framework for AS3 wrapped in a Sprout::Specification for implementation into a sprout project."
11
- s.description = "Robotlegs Framework for AS3 wrapped in a Sprout::Specification for implementation into a sprout project. Robotlegs is a lightweight AS3 MVCS micro-architecture. Robotlegs was created to provide a small, loosely coupled application framework that is easy to test."
14
+ s.summary = "A library for developing Robotlegs projects with Project Sprouts"
15
+ s.description = "GO AND CODE"
12
16
  s.executables = ["rl-project","rl-context","rl-proxy","rl-mediator","rl-command","rl-service"]
17
+ s.rubyforge_project = "sprout-robotlegs"
18
+ s.required_rubygems_version = ">= 1.3.7"
19
+ s.files = FileList["**/*"].exclude /docs|.DS_Store|generated|.svn|.git|vendor/
13
20
 
14
- s.required_rubygems_version = ">= 1.3.6"
15
- # Remove gemspec dependency on rake
16
- # s.files = FileList["**/*"].exclude /docs|.DS_Store|generated|.svn|.git|vendor/
17
- s.files = Dir["{test,lib,bin}/**/*"]
18
- s.files.concat Dir["*.gemspec", "build*", "[A-Z]*[.a-z]*"]
19
-
20
- s.add_dependency "flashsdk", '>= 1.0.8.pre'
21
- s.add_development_dependency "shoulda"
22
- s.add_development_dependency "mocha"
23
- s.add_development_dependency "rcov"
24
- s.add_development_dependency "rake"
21
+ s.add_bundler_dependencies
25
22
 
26
23
  s.require_paths << 'lib'
27
24
  end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class CommandGeneratorTest < Test::Unit::TestCase
4
+ include SproutTestCase
5
+
6
+ context "A new Command generator" do
7
+
8
+ setup do
9
+ @temp = File.join(fixtures, 'generators', 'tmp')
10
+ FileUtils.mkdir_p @temp
11
+ @generator = Robotlegs::CommandGenerator.new
12
+ @generator.path = @temp
13
+ @generator.logger = StringIO.new
14
+ end
15
+
16
+ teardown do
17
+ remove_file @temp
18
+ end
19
+
20
+ should "generate a new Command" do
21
+ @generator.input = "PoodleCommand"
22
+ @generator.package = "com.foo.bar"
23
+ @generator.execute
24
+
25
+ input_dir = File.join(@temp, "src", "com", "foo", "bar", "controller", "commands")
26
+ assert_directory input_dir
27
+
28
+ input_file = File.join(input_dir, "PoodleCommand.as")
29
+ assert_file input_file do |content|
30
+ assert_match /com.foo.bar.controller.command/, content
31
+ assert_match /PoodleCommand/, content
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class ContextGeneratorTest < Test::Unit::TestCase
4
+ include SproutTestCase
5
+
6
+ context "A new Context generator" do
7
+
8
+ setup do
9
+ @temp = File.join(fixtures, 'generators', 'tmp')
10
+ FileUtils.mkdir_p @temp
11
+ @generator = Robotlegs::ContextGenerator.new
12
+ @generator.path = @temp
13
+ @generator.logger = StringIO.new
14
+ end
15
+
16
+ teardown do
17
+ remove_file @temp
18
+ end
19
+
20
+ should "generate a new Context" do
21
+ @generator.input = "BrainwashContext"
22
+ @generator.package = "com.foo.bar"
23
+ @generator.execute
24
+
25
+ input_dir = File.join(@temp, "src", "com", "foo", "bar")
26
+ assert_directory input_dir
27
+
28
+ input_file = File.join(input_dir, "BrainwashContext.as")
29
+ assert_file input_file do |content|
30
+ assert_match /com.foo.bar/, content
31
+ assert_match /BrainwashContext/, content
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class MediatorGeneratorTest < Test::Unit::TestCase
4
+ include SproutTestCase
5
+
6
+ context "A new Mediator generator" do
7
+
8
+ setup do
9
+ @temp = File.join(fixtures, 'generators', 'tmp')
10
+ FileUtils.mkdir_p @temp
11
+ @generator = Robotlegs::MediatorGenerator.new
12
+ @generator.path = @temp
13
+ @generator.logger = StringIO.new
14
+ end
15
+
16
+ teardown do
17
+ remove_file @temp
18
+ end
19
+
20
+ should "generate a new Mediator" do
21
+ @generator.input = "SasafrassMediator"
22
+ @generator.package = "com.foo.bar"
23
+ @generator.execute
24
+
25
+ input_dir = File.join(@temp, "src", "com", "foo", "bar", "view", "mediators")
26
+ assert_directory input_dir
27
+
28
+ input_file = File.join(input_dir, "SasafrassMediator.as")
29
+ assert_file input_file do |content|
30
+ assert_match /com.foo.bar.view.mediators/, content
31
+ assert_match /SasafrassMediator/, content
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "test_helper")
1
+ require 'test_helper'
2
2
 
3
3
  class ProjectGeneratorTest < Test::Unit::TestCase
4
4
  include SproutTestCase
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class ProxyGeneratorTest < Test::Unit::TestCase
4
+ include SproutTestCase
5
+
6
+ context "A new Proxy generator" do
7
+
8
+ setup do
9
+ @temp = File.join(fixtures, 'generators', 'tmp')
10
+ FileUtils.mkdir_p @temp
11
+ @generator = Robotlegs::ProxyGenerator.new
12
+ @generator.path = @temp
13
+ @generator.logger = StringIO.new
14
+ end
15
+
16
+ teardown do
17
+ remove_file @temp
18
+ end
19
+
20
+ should "generate a new Proxy" do
21
+ @generator.input = "UserProxy"
22
+ @generator.package = "com.foo.bar"
23
+ @generator.execute
24
+
25
+ input_dir = File.join(@temp, "src", "com", "foo", "bar", "model", "proxy")
26
+ assert_directory input_dir
27
+
28
+ input_file = File.join(input_dir, "UserProxy.as")
29
+ assert_file input_file do |content|
30
+ assert_match /com.foo.bar.model.proxy/, content
31
+ assert_match /UserProxy/, content
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -1,6 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "test_helper")
2
-
3
- require 'robotlegs/generators/service_generator'
1
+ require 'test_helper'
4
2
 
5
3
  class ServiceGeneratorTest < Test::Unit::TestCase
6
4
  include SproutTestCase
@@ -20,16 +18,18 @@ class ServiceGeneratorTest < Test::Unit::TestCase
20
18
  end
21
19
 
22
20
  should "generate a new Service" do
23
- @generator.input = "Service"
21
+ @generator.input = "NoodleService"
22
+ @generator.package = "com.foo.bar"
24
23
  @generator.execute
25
- #
26
- # input_dir = File.join(@temp, "service")
27
- # assert_directory input_dir
28
- #
29
- # input_file = File.join(input_dir, "RobotlegsService.as")
30
- # assert_file input_file do |content|
31
- # assert_matches /Your content to assert here/, content
32
- # end
24
+
25
+ input_dir = File.join(@temp, "src", "com", "foo", "bar", "service")
26
+ assert_directory input_dir
27
+
28
+ input_file = File.join(input_dir, "NoodleService.as")
29
+ assert_file input_file do |content|
30
+ assert_match /com.foo.bar.service/, content
31
+ assert_match /NoodleService/, content
32
+ end
33
33
 
34
34
  end
35
35
 
@@ -1,11 +1,18 @@
1
1
  require "rubygems"
2
2
  require "bundler"
3
3
 
4
- Bundler.require :default, :development
4
+ Bundler.setup :default, :development
5
+
6
+ require 'sprout'
7
+ # These require statments *must* be in this order:
8
+ # http://bit.ly/bCC0Ew
9
+ # Somewhat surprised they're not being required by Bundler...
10
+ require 'shoulda'
11
+ require 'mocha'
5
12
 
6
13
  $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
14
  $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..'))
8
15
 
9
16
  require 'robotlegs'
10
-
17
+ require 'flashsdk'
11
18
  require 'sprout/test/sprout_test_case'
metadata CHANGED
@@ -1,99 +1,67 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robotlegs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 961916084
5
4
  prerelease: true
6
5
  segments:
7
6
  - 1
8
7
  - 3
9
8
  - 0
10
- - 4
9
+ - 5
11
10
  - pre
12
- version: 1.3.0.4.pre
11
+ version: 1.3.0.5.pre
13
12
  platform: ruby
14
13
  authors:
15
- - Kristofer Joseph, Amos Lanka
14
+ - Kristofer Joseph
16
15
  autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2010-10-25 00:00:00 -07:00
19
+ date: 2010-11-29 00:00:00 -08:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ name: flashsdk
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 961916020
30
29
  segments:
31
30
  - 1
32
31
  - 0
33
- - 8
32
+ - 13
34
33
  - pre
35
- version: 1.0.8.pre
36
- requirement: *id001
34
+ version: 1.0.13.pre
37
35
  type: :runtime
38
- name: flashsdk
39
36
  prerelease: false
37
+ version_requirements: *id001
40
38
  - !ruby/object:Gem::Dependency
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- hash: 3
47
- segments:
48
- - 0
49
- version: "0"
50
- requirement: *id002
51
- type: :development
52
39
  name: shoulda
53
- prerelease: false
54
- - !ruby/object:Gem::Dependency
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
40
+ requirement: &id002 !ruby/object:Gem::Requirement
56
41
  none: false
57
42
  requirements:
58
43
  - - ">="
59
44
  - !ruby/object:Gem::Version
60
- hash: 3
61
45
  segments:
62
46
  - 0
63
47
  version: "0"
64
- requirement: *id003
65
48
  type: :development
66
- name: mocha
67
- prerelease: false
68
- - !ruby/object:Gem::Dependency
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
78
- requirement: *id004
79
- type: :development
80
- name: rcov
81
49
  prerelease: false
50
+ version_requirements: *id002
82
51
  - !ruby/object:Gem::Dependency
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
52
+ name: mocha
53
+ requirement: &id003 !ruby/object:Gem::Requirement
84
54
  none: false
85
55
  requirements:
86
56
  - - ">="
87
57
  - !ruby/object:Gem::Version
88
- hash: 3
89
58
  segments:
90
59
  - 0
91
60
  version: "0"
92
- requirement: *id005
93
61
  type: :development
94
- name: rake
95
62
  prerelease: false
96
- description: Robotlegs Framework for AS3 wrapped in a Sprout::Specification for implementation into a sprout project. Robotlegs is a lightweight AS3 MVCS micro-architecture. Robotlegs was created to provide a small, loosely coupled application framework that is easy to test.
63
+ version_requirements: *id003
64
+ description: GO AND CODE
97
65
  email:
98
66
  - projectsprouts@googlegroups.com
99
67
  executables:
@@ -108,15 +76,19 @@ extensions: []
108
76
  extra_rdoc_files: []
109
77
 
110
78
  files:
111
- - test/unit/project_generator_test.rb
112
- - test/unit/service_generator_test.rb
113
- - test/unit/test_helper.rb
79
+ - bin/rl-command
80
+ - bin/rl-context
81
+ - bin/rl-mediator
82
+ - bin/rl-project
83
+ - bin/rl-proxy
84
+ - bin/rl-service
85
+ - Gemfile
86
+ - Gemfile.lock
114
87
  - lib/robotlegs/generators/command_generator.rb
115
88
  - lib/robotlegs/generators/context_generator.rb
116
89
  - lib/robotlegs/generators/mediator_generator.rb
117
90
  - lib/robotlegs/generators/project_generator.rb
118
91
  - lib/robotlegs/generators/proxy_generator.rb
119
- - lib/robotlegs/generators/robotlegs_class_generator_base.rb
120
92
  - lib/robotlegs/generators/service_generator.rb
121
93
  - lib/robotlegs/generators/templates/Flex4TestRunner.mxml
122
94
  - lib/robotlegs/generators/templates/RobotlegsCommand.as
@@ -127,19 +99,20 @@ files:
127
99
  - lib/robotlegs/generators/templates/RobotlegsProxy.as
128
100
  - lib/robotlegs/generators/templates/RobotlegsRakefile.rb
129
101
  - lib/robotlegs/generators/templates/RobotlegsService.as
130
- - lib/robotlegs/version.rb
102
+ - lib/robotlegs/module.rb
131
103
  - lib/robotlegs.rb
132
- - bin/rl-command
133
- - bin/rl-context
134
- - bin/rl-mediator
135
- - bin/rl-project
136
- - bin/rl-proxy
137
- - bin/rl-service
138
- - robotlegs.gemspec
139
- - Gemfile
140
- - Gemfile.lock
141
104
  - Rakefile
142
105
  - README.mkdn
106
+ - robotlegs-1.3.0.5.pre.gem
107
+ - robotlegs.gemspec
108
+ - test/unit/command_generator_test.rb
109
+ - test/unit/context_generator_test.rb
110
+ - test/unit/mediator_generator_test.rb
111
+ - test/unit/project_generator_test.rb
112
+ - test/unit/proxy_generator_test.rb
113
+ - test/unit/service_generator_test.rb
114
+ - test/unit/test_helper.rb
115
+ - VERSION
143
116
  has_rdoc: true
144
117
  homepage: http://projectsprouts.org
145
118
  licenses: []
@@ -155,7 +128,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
128
  requirements:
156
129
  - - ">="
157
130
  - !ruby/object:Gem::Version
158
- hash: 3
159
131
  segments:
160
132
  - 0
161
133
  version: "0"
@@ -164,18 +136,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
136
  requirements:
165
137
  - - ">="
166
138
  - !ruby/object:Gem::Version
167
- hash: 23
168
139
  segments:
169
140
  - 1
170
141
  - 3
171
- - 6
172
- version: 1.3.6
142
+ - 7
143
+ version: 1.3.7
173
144
  requirements: []
174
145
 
175
- rubyforge_project:
146
+ rubyforge_project: sprout-robotlegs
176
147
  rubygems_version: 1.3.7
177
148
  signing_key:
178
149
  specification_version: 3
179
- summary: Robotlegs Framework for AS3 wrapped in a Sprout::Specification for implementation into a sprout project.
150
+ summary: A library for developing Robotlegs projects with Project Sprouts
180
151
  test_files: []
181
152
 
@@ -1,24 +0,0 @@
1
- module Robotlegs
2
-
3
- class RobotlegsClassGeneratorBase < Sprout::Generator::Base
4
- ##
5
- # The path where source files should be created.
6
- add_param :src, String, { :default => 'src' }
7
- add_param :test, String, { :default => 'test' }
8
- ##
9
- # Do not create a test case for this class.
10
- add_param :no_test, Boolean
11
-
12
- def fully_qualified_class_name
13
- input
14
- end
15
-
16
- def create_test_case
17
- unless no_test
18
- generator :test_class, :input => "#{fully_qualified_class_name}Test"
19
- end
20
- end
21
-
22
- end
23
-
24
- end
@@ -1,8 +0,0 @@
1
- module Robotlegs
2
- NAME = 'robotlegs'
3
- #
4
- # Version applies directly to Robotlegs official version. To release patches to
5
- # the sprout or gem, increment the 4th number in the version sequence.
6
- VERSION = '1.3.0.4.pre'
7
- #
8
- end