ruboss4ruby 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. data/History.txt +2 -2
  2. data/Manifest.txt +86 -79
  3. data/README.rdoc +53 -0
  4. data/Rakefile +42 -5
  5. data/app_generators/ruboss_app/USAGE +22 -0
  6. data/app_generators/ruboss_app/ruboss_app_generator.rb +94 -0
  7. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/actionscript.properties +1 -1
  8. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/actionscriptair.properties +0 -0
  9. data/app_generators/ruboss_app/templates/app.yaml.erb +12 -0
  10. data/app_generators/ruboss_app/templates/default_tasks.rake +51 -0
  11. data/app_generators/ruboss_app/templates/empty.txt +0 -0
  12. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/expressInstall.swf +0 -0
  13. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/flex.properties +0 -0
  14. data/app_generators/ruboss_app/templates/generate.rb +17 -0
  15. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/AC_OETags.js +0 -0
  16. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/history/history.css +0 -0
  17. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/history/history.js +0 -0
  18. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/history/historyFrame.html +0 -0
  19. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/index.template.html +0 -0
  20. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/html-template/playerProductInstall.swf +0 -0
  21. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/index.html.erb +2 -2
  22. data/app_generators/ruboss_app/templates/index.yaml +11 -0
  23. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/mainair-app.xml +3 -3
  24. data/app_generators/ruboss_app/templates/mainapp-config.xml +21 -0
  25. data/{merb_generators/templates/ruboss_flex_app → app_generators/ruboss_app/templates}/mainapp.mxml +6 -9
  26. data/app_generators/ruboss_app/templates/project-textmate.erb +52 -0
  27. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/project.properties +0 -0
  28. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/projectair.properties +0 -0
  29. data/{merb_generators/templates/ruboss_config → app_generators/ruboss_app/templates}/swfobject.js +0 -0
  30. data/bin/ruboss-gen +31 -0
  31. data/generators/ruboss_config/USAGE +5 -0
  32. data/generators/ruboss_config/ruboss_config_generator.rb +19 -0
  33. data/generators/ruboss_controller/USAGE +10 -0
  34. data/generators/ruboss_controller/ruboss_controller_generator.rb +38 -0
  35. data/generators/ruboss_controller/templates/assist.py +65 -0
  36. data/{merb_generators/templates/ruboss_controller → generators/ruboss_controller/templates}/controller.as.erb +7 -6
  37. data/generators/ruboss_controller/templates/restful.py +136 -0
  38. data/generators/ruboss_main_app/USAGE +8 -0
  39. data/generators/ruboss_main_app/ruboss_main_app_generator.rb +60 -0
  40. data/generators/ruboss_main_app/templates/main.py.erb +29 -0
  41. data/generators/ruboss_main_app/templates/mainapp.mxml +35 -0
  42. data/generators/ruboss_scaffold/USAGE +29 -0
  43. data/generators/ruboss_scaffold/ruboss_scaffold_generator.rb +148 -0
  44. data/generators/ruboss_scaffold/templates/component.mxml.erb +149 -0
  45. data/generators/ruboss_scaffold/templates/controller.py.erb +27 -0
  46. data/generators/ruboss_scaffold/templates/model.as.erb +42 -0
  47. data/generators/ruboss_scaffold/templates/model.py.erb +14 -0
  48. data/generators/ruboss_yaml_scaffold/USAGE +45 -0
  49. data/generators/ruboss_yaml_scaffold/ruboss_yaml_scaffold_generator.rb +47 -0
  50. data/lib/ruboss4ruby/active_foo.rb +109 -86
  51. data/lib/ruboss4ruby/active_record_default_methods.rb +66 -0
  52. data/lib/ruboss4ruby/active_record_tasks.rb +10 -4
  53. data/lib/ruboss4ruby/configuration.rb +48 -34
  54. data/lib/ruboss4ruby/datamapper_foo.rb +31 -0
  55. data/lib/ruboss4ruby/{recipes.rb → rails/recipes.rb} +7 -9
  56. data/lib/ruboss4ruby/{ruboss_helper.rb → rails/swf_helper.rb} +14 -8
  57. data/lib/ruboss4ruby/tasks.rb +9 -4
  58. data/lib/ruboss4ruby.rb +72 -27
  59. data/rails_generators/ruboss_config/ruboss_config_generator.rb +3 -15
  60. data/rails_generators/ruboss_config/templates/mainair-app.xml +2 -2
  61. data/rails_generators/ruboss_config/templates/mainapp-config.xml +1 -1
  62. data/rails_generators/ruboss_config/templates/ruboss.yml +2 -4
  63. data/rails_generators/ruboss_config/templates/ruboss_tasks.rake +5 -15
  64. data/rails_generators/ruboss_controller/USAGE +1 -2
  65. data/rails_generators/ruboss_controller/ruboss_controller_generator.rb +3 -14
  66. data/rails_generators/ruboss_controller/templates/controller.as.erb +11 -6
  67. data/rails_generators/ruboss_scaffold/ruboss_scaffold_generator.rb +67 -76
  68. data/rails_generators/ruboss_scaffold/templates/component.mxml.erb +69 -69
  69. data/rails_generators/ruboss_scaffold/templates/model.as.erb +2 -2
  70. data/rails_generators/ruboss_yaml_scaffold/USAGE +38 -1
  71. data/rcl-1.0.txt +0 -0
  72. data/rdoc/generators/template/html/jamis.rb +588 -0
  73. data/ruboss4ruby.gemspec +43 -0
  74. data/spec/ruboss4ruby_spec.rb +7 -0
  75. data/spec/spec_helper.rb +16 -0
  76. data/tasks/ann.rake +80 -0
  77. data/tasks/bones.rake +20 -0
  78. data/tasks/gem.rake +201 -0
  79. data/tasks/git.rake +40 -0
  80. data/tasks/manifest.rake +48 -0
  81. data/tasks/notes.rake +27 -0
  82. data/tasks/post_load.rake +39 -0
  83. data/tasks/rdoc.rake +50 -0
  84. data/tasks/rubyforge.rake +55 -0
  85. data/tasks/setup.rb +279 -0
  86. data/tasks/spec.rake +54 -0
  87. data/tasks/svn.rake +47 -0
  88. data/tasks/test.rake +40 -0
  89. data/test/{controllers → rails/controllers}/application.rb +0 -0
  90. data/test/{controllers → rails/controllers}/locations_controller.rb +0 -0
  91. data/test/{controllers → rails/controllers}/notes_controller.rb +0 -0
  92. data/test/{controllers → rails/controllers}/projects_controller.rb +0 -0
  93. data/test/{controllers → rails/controllers}/tasks_controller.rb +0 -0
  94. data/test/{controllers → rails/controllers}/users_controller.rb +0 -0
  95. data/test/{database.yml → rails/database.yml} +0 -0
  96. data/test/{fixtures → rails/fixtures}/locations.yml +0 -0
  97. data/test/{fixtures → rails/fixtures}/notes.yml +0 -0
  98. data/test/{fixtures → rails/fixtures}/projects.yml +0 -0
  99. data/test/rails/fixtures/simple_properties.yml +19 -0
  100. data/test/{fixtures → rails/fixtures}/tasks.yml +0 -0
  101. data/test/{fixtures → rails/fixtures}/users.yml +0 -0
  102. data/test/{helpers → rails/helpers}/functional_test_helper.rb +0 -11
  103. data/test/rails/helpers/test_helper.rb +61 -0
  104. data/test/rails/helpers/unit_test_helper.rb +30 -0
  105. data/test/{model.yml → rails/model.yml} +0 -0
  106. data/test/{models → rails/models}/location.rb +0 -0
  107. data/test/{models → rails/models}/note.rb +0 -0
  108. data/test/{models → rails/models}/project.rb +1 -3
  109. data/test/rails/models/simple_property.rb +2 -0
  110. data/test/{models → rails/models}/task.rb +1 -1
  111. data/test/{models → rails/models}/user.rb +1 -2
  112. data/test/{playing_around_in_a_console.txt → rails/playing_around_in_a_console.txt} +0 -0
  113. data/test/{schema.rb → rails/schema.rb} +14 -0
  114. data/test/{test.swf → rails/test.swf} +0 -0
  115. data/test/rails/test_active_foo.rb +81 -0
  116. data/test/{test_ruboss_rails_integration_functional.rb → rails/test_ruboss_rails_integration_functional.rb} +4 -9
  117. data/test/{to_fxml_test.rb → rails/test_to_fxml.rb} +35 -37
  118. data/test/rails/test_to_json.rb +23 -0
  119. data/test/{views → rails/views}/notes/empty_params_action.html.erb +0 -0
  120. data/test/{views → rails/views}/notes/index.html.erb +0 -0
  121. metadata +138 -103
  122. data/Generators +0 -5
  123. data/README.txt +0 -37
  124. data/config/hoe.rb +0 -72
  125. data/config/requirements.rb +0 -15
  126. data/lib/ruboss4ruby/generated_attribute.rb +0 -61
  127. data/lib/ruboss4ruby/ruboss_test_helpers.rb +0 -31
  128. data/lib/ruboss4ruby/version.rb +0 -11
  129. data/merb_generators/ruboss_config.rb +0 -105
  130. data/merb_generators/ruboss_controller.rb +0 -61
  131. data/merb_generators/ruboss_flex_app.rb +0 -69
  132. data/merb_generators/ruboss_resource_controller.rb +0 -4
  133. data/merb_generators/ruboss_scaffold.rb +0 -158
  134. data/merb_generators/templates/ruboss_config/ruboss.yml +0 -16
  135. data/merb_generators/templates/ruboss_resource_controller/controller.rb.erb +0 -49
  136. data/script/console +0 -10
  137. data/script/destroy +0 -14
  138. data/script/generate +0 -14
  139. data/script/txt2html +0 -82
  140. data/setup.rb +0 -1585
  141. data/tasks/deployment.rake +0 -34
  142. data/tasks/environment.rake +0 -7
  143. data/tasks/website.rake +0 -17
  144. data/test/helpers/controllers.log +0 -8
  145. data/test/helpers/models.log +0 -170
  146. data/test/helpers/test_helper.rb +0 -25
  147. data/test/helpers/unit_test_helper.rb +0 -23
  148. data/test/test.sqlite3 +0 -0
  149. data/test/test_active_foo.rb +0 -79
  150. data/test/test_swfobject_helper.rb +0 -63
  151. data/website/index.html +0 -63
  152. data/website/index.txt +0 -34
  153. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  154. data/website/stylesheets/screen.css +0 -138
  155. data/website/template.html.erb +0 -47
data/lib/ruboss4ruby.rb CHANGED
@@ -1,43 +1,74 @@
1
- # Merb specific handling
1
+ # Sets up all the relevant configuration options and brings together
2
+ # patches for Rails, Merb, ActiveRecord and Data Mapper.
3
+ #
4
+ # Loads Ruboss specific rake tasks if appropriate.
5
+ module Ruboss4Ruby
6
+
7
+ # :stopdoc:
8
+ VERSION = '1.1.0'
9
+ RUBOSS_FRAMEWORK_VERSION = '1.1.0'
10
+ LIB_DIR = File.join(File.dirname(__FILE__), 'ruboss4ruby/')
11
+ # :startdoc:
12
+
13
+ # Returns the version string for the library.
14
+ #
15
+ def self.version
16
+ VERSION
17
+ end
18
+
19
+ # Utility method used to require all files ending in .rb that lie in the
20
+ # directory below this file that has the same name as the filename passed
21
+ # in. Optionally, a specific _directory_ name can be passed in such that
22
+ # the _filename_ does not have to be equivalent to the directory.
23
+ #
24
+ def self.require_all_libs_relative_to( fname, dir = nil )
25
+ dir ||= ::File.basename(fname, '.*')
26
+ search_me = ::File.expand_path(
27
+ ::File.join(::File.dirname(fname), dir, '*', '*.rb'))
28
+
29
+ Dir.glob(search_me).sort.each {|rb| require rb}
30
+ end
31
+
32
+ end
33
+
34
+ require Ruboss4Ruby::LIB_DIR + 'configuration'
35
+
2
36
  # make sure we're running inside Merb
3
37
  if defined?(Merb::Plugins)
4
- Merb::BootLoader.before_app_loads do
5
- Merb.add_mime_type(:fxml, :to_fxml, %w[application/xml text/xml application/x-xml], :charset => "utf-8")
38
+ Merb::Plugins.add_rakefiles 'ruboss4ruby/tasks'
6
39
 
7
- # generators = File.join(File.dirname(__FILE__), '..', 'merb_generators')
8
- # Merb.add_generators generators / :ruboss_config
9
- # Merb.add_generators generators / :ruboss_flex_app
10
- # Merb.add_generators generators / :ruboss_controller
11
- # Merb.add_generators generators / :ruboss_scaffold
12
- # Merb.add_generators generators / :ruboss_resource_controller
40
+ Merb::BootLoader.before_app_loads do
13
41
 
14
- require 'ruboss4ruby/version'
15
- require 'ruboss4ruby/configuration'
16
- require 'ruboss4ruby/active_foo' if defined?(ActiveRecord::Base)
17
- end
18
-
19
- # TODO: can we find out if use_orm :activerecord is on and only then load active record specific tasks?
20
- Merb::Plugins.add_rakefiles "ruboss4ruby/tasks", "ruboss4ruby/active_record_tasks"
42
+ if defined?(ActiveRecord::Base)
43
+ Merb.add_mime_type(:fxml, :to_fxml, %w[application/xml text/xml application/x-xml], :charset => "utf-8")
44
+ ['active_foo', 'active_record_default_methods'].each { |lib| require Ruboss4Ruby::LIB_DIR + lib }
45
+ Merb::Plugins.add_rakefiles 'ruboss4ruby/active_record_tasks'
46
+ else
47
+ Merb.add_mime_type(:fxml, :to_xml, %w[application/xml text/xml application/x-xml], :charset => "utf-8")
48
+ if defined?(Merb::Orms::DataMapper)
49
+ require Ruboss4Ruby::LIB_DIR + 'datamapper_foo'
50
+ end
51
+ end
52
+ end
21
53
  elsif defined?(ActionController::Base)
22
- # if we are not running in Merb, we've got to be running in Rails
54
+ # if we are not running in Merb, try to hook up Rails
23
55
  Mime::Type.register_alias "application/xml", :fxml
56
+
57
+ ['active_foo', 'active_record_default_methods', 'rails/swf_helper'].each { |lib| require Ruboss4Ruby::LIB_DIR + lib }
24
58
 
25
- require File.join(File.dirname(__FILE__),'ruboss4ruby', 'version')
26
- require File.join(File.dirname(__FILE__),'ruboss4ruby', 'configuration')
27
- require File.join(File.dirname(__FILE__),'ruboss4ruby', 'active_foo')
28
- require File.join(File.dirname(__FILE__), 'ruboss4ruby', 'ruboss_helper')
29
- ActionView::Base.send :include, RubossHelper unless ActionView::Base.included_modules.include?(RubossHelper)
30
- require File.join(File.dirname(__FILE__), 'ruboss4ruby', 'ruboss_test_helpers')
31
- Test::Unit::TestCase.send :include, RubossTestHelpers unless Test::Unit::TestCase.included_modules.include?(RubossTestHelpers)
59
+ ActionView::Base.send :include, SWFHelper unless ActionView::Base.included_modules.include?(SWFHelper)
32
60
 
61
+ # We mess with default +render+ implementation a bit to add support for expressions
62
+ # such as format.fxml { render :fxml => @foo }
33
63
  module ActionController
64
+ # Override render to add support for render :fxml
34
65
  class Base
35
66
  alias_method :old_render, :render unless method_defined?(:old_render)
36
67
 
37
68
  # so that we can have handling for :fxml option and write code like
38
69
  # format.fxml { render :fxml => @projects }
39
70
  def render(options = nil, extra_options = {}, &block)
40
- if options && options[:fxml]
71
+ if options.is_a?(Hash) && options[:fxml]
41
72
  xml = options[:fxml]
42
73
  response.content_type ||= Mime::XML
43
74
  render_for_text(xml.respond_to?(:to_fxml) ? xml.to_fxml : xml, options[:status])
@@ -48,7 +79,9 @@ elsif defined?(ActionController::Base)
48
79
  end
49
80
  end
50
81
 
51
- module RubossController
82
+ # It is possible to pass metadata with any Ruboss model. This module adds support for
83
+ # extracting that metadata into the standard params hash.
84
+ module Ruboss4RubyController
52
85
  private
53
86
 
54
87
  # Extract any keys named _metadata from the models in the params hash
@@ -63,8 +96,20 @@ elsif defined?(ActionController::Base)
63
96
  params.merge!(metadata) unless metadata.empty?
64
97
  end
65
98
  end
99
+
100
+ module ActiveRecord
101
+ # ActiveRecord named scopes are computed *before* ruboss4ruby gem gets loaded
102
+ # this patch addresses that and makes sure +to_fxml+ calls are properly
103
+ # delegated
104
+ module NamedScope
105
+ # make sure we properly delegate +to_fxml+ calls to the proxy
106
+ class Scope
107
+ delegate :to_fxml, :to => :proxy_found
108
+ end
109
+ end
110
+ end
66
111
 
67
- ActionController::Base.send :include, RubossController
112
+ ActionController::Base.send :include, Ruboss4RubyController
68
113
  ActionController::Base.send :prepend_before_filter, :extract_metadata_from_params
69
114
 
70
115
  # temporarily disable forgery protection site-wise
@@ -1,20 +1,8 @@
1
- ################################################################################
2
- # Copyright 2008, Ruboss Technology Corporation.
3
- #
4
- # This software is dual-licensed under both the terms of the Ruboss Commercial
5
- # License v1 (RCL v1) as published by Ruboss Technology Corporation and under
6
- # the terms of the GNU General Public License v3 (GPL v3) as published by the
7
- # Free Software Foundation.
8
- #
9
- # Both the RCL v1 (rcl-1.0.txt) and the GPL v3 (gpl-3.0.txt) are included in
10
- # the source code. If you have purchased a commercial license then only the
11
- # RCL v1 applies; otherwise, only the GPL v3 applies. To learn more or to buy a
12
- # commercial license, please go to http://ruboss.com.
13
- ################################################################################
14
1
  require 'open-uri'
2
+ require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ruboss4ruby') if !defined?(Ruboss4Ruby)
15
3
 
16
4
  class RubossConfigGenerator < Rails::Generator::Base
17
- include Ruboss::Configuration
5
+ include Ruboss4Ruby::Configuration
18
6
 
19
7
  attr_reader :project_name,
20
8
  :flex_project_name,
@@ -86,7 +74,7 @@ class RubossConfigGenerator < Rails::Generator::Base
86
74
 
87
75
  m.directory "app/flex/#{base_folder}/components/generated"
88
76
 
89
- framework_release = Ruboss::RUBOSS_FRAMEWORK_VERSION
77
+ framework_release = Ruboss4Ruby::RUBOSS_FRAMEWORK_VERSION
90
78
  framework_distribution_url = "http://ruboss.com/releases/ruboss-#{framework_release}.swc"
91
79
  framework_destination_file = "lib/ruboss-#{framework_release}.swc"
92
80
 
@@ -60,10 +60,10 @@
60
60
  <!-- <resizable></resizable> -->
61
61
 
62
62
  <!-- The window's initial width. Optional. -->
63
- <!-- <width></width> -->
63
+ <width>800</width>
64
64
 
65
65
  <!-- The window's initial height. Optional. -->
66
- <!-- <height></height> -->
66
+ <height>600</height>
67
67
 
68
68
  <!-- The window's initial x position. Optional. -->
69
69
  <!-- <x></x> -->
@@ -2,7 +2,7 @@
2
2
  <benchmark>false</benchmark>
3
3
  <default-background-color>#FFFFFF</default-background-color>
4
4
  <compiler>
5
- <incremental>true</incremental>
5
+ <incremental>false</incremental>
6
6
  <keep-as3-metadata append="true">
7
7
  <name>Resource</name>
8
8
  <name>HasOne</name>
@@ -7,10 +7,8 @@
7
7
 
8
8
  #base-package: com.pomodo
9
9
 
10
- # Main ruboss controller is typically named after your rails project name (camel-cased with a word
11
- # Controller appended at the end, e.g. if your application is called "pomodo" the flex application
12
- # controller will be called "PomodoController"). This controller is created in
10
+ # Main ruboss controller is typically named AppicationController. This controller is created in
13
11
  # <base-package>.controllers folder. You can customize the name by uncommenting the following line
14
12
  # and changing the controller name.
15
13
 
16
- #controller-name: PomodoController
14
+ #controller-name: ApplicationController
@@ -1,15 +1,5 @@
1
- ################################################################################
2
- # Copyright 2008, Ruboss Technology Corporation.
3
- #
4
- # This software is dual-licensed under both the terms of the Ruboss Commercial
5
- # License v1 (RCL v1) as published by Ruboss Technology Corporation and under
6
- # the terms of the GNU General Public License v3 (GPL v3) as published by the
7
- # Free Software Foundation.
8
- #
9
- # Both the RCL v1 (rcl-1.0.txt) and the GPL v3 (gpl-3.0.txt) are included in
10
- # the source code. If you have purchased a commercial license then only the
11
- # RCL v1 applies; otherwise, only the GPL v3 applies. To learn more or to buy a
12
- # commercial license, please go to http://ruboss.com.
13
- ################################################################################
14
- require 'ruboss4ruby/active_record_tasks'
15
-
1
+ # if the gem is not installed system wide, we'll just skip the tasks
2
+ begin
3
+ require 'ruboss4ruby/active_record_tasks'
4
+ rescue LoadError
5
+ end
@@ -1,7 +1,6 @@
1
1
  Description:
2
2
  Generates/updates the main Flex application controller, typically
3
- app/flex/<yourappname>/controllers/<YourAppName>Controller.as, e.g.
4
- app/flex/pomodo/controllers/PomodoController.as
3
+ app/flex/<yourappname>/controllers/ApplicationController.as
5
4
 
6
5
  It pulls out all available models and commands from respective
7
6
  folders and makes sure they'll be pulled into the Flex application
@@ -1,18 +1,7 @@
1
- ################################################################################
2
- # Copyright 2008, Ruboss Technology Corporation.
3
- #
4
- # This software is dual-licensed under both the terms of the Ruboss Commercial
5
- # License v1 (RCL v1) as published by Ruboss Technology Corporation and under
6
- # the terms of the GNU General Public License v3 (GPL v3) as published by the
7
- # Free Software Foundation.
8
- #
9
- # Both the RCL v1 (rcl-1.0.txt) and the GPL v3 (gpl-3.0.txt) are included in
10
- # the source code. If you have purchased a commercial license then only the
11
- # RCL v1 applies; otherwise, only the GPL v3 applies. To learn more or to buy a
12
- # commercial license, please go to http://ruboss.com.
13
- ################################################################################
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ruboss4ruby') if !defined?(Ruboss4Ruby)
2
+
14
3
  class RubossControllerGenerator < Rails::Generator::Base
15
- include Ruboss::Configuration
4
+ include Ruboss4Ruby::Configuration
16
5
 
17
6
  attr_reader :project_name,
18
7
  :flex_project_name,
@@ -1,20 +1,22 @@
1
1
  package <%= base_package %>.controllers {
2
2
  import <%= base_package %>.models.*;
3
3
  import <%= base_package %>.commands.*;
4
-
4
+
5
+ import mx.core.Application;
5
6
  import org.ruboss.Ruboss;
6
- import org.ruboss.controllers.RubossCommandsController;
7
+ import org.ruboss.controllers.RubossApplicationController;
7
8
  import org.ruboss.utils.RubossUtils;
8
9
 
9
- public class <%= command_controller_name %> extends RubossCommandsController {
10
+ public class <%= command_controller_name %> extends RubossApplicationController {
10
11
  private static var controller:<%= command_controller_name %>;
11
12
 
12
13
  public static var models:Array = [<%= model_names %>]; /* Models */
13
14
 
15
+ public static var commands:Array = [<%= command_names %>]; /* Commands */
16
+
14
17
  public function <%= command_controller_name %>(enforcer:SingletonEnforcer, extraServices:Array,
15
18
  defaultServiceId:int = -1) {
16
- super([<%= command_names %>] /* Commands */,
17
- models, extraServices, defaultServiceId);
19
+ super(commands, models, extraServices, defaultServiceId);
18
20
  }
19
21
 
20
22
  public static function get instance():<%= command_controller_name %> {
@@ -27,7 +29,10 @@ package <%= base_package %>.controllers {
27
29
  if (!RubossUtils.isEmpty(airDatabaseName)) Ruboss.airDatabaseName = airDatabaseName;
28
30
  controller = new <%= command_controller_name %>(new SingletonEnforcer, extraServices,
29
31
  defaultServiceId);
30
- Ruboss.commands = controller;
32
+ Ruboss.sessionToken = Application.application.parameters.session_token;
33
+ if (Application.application.parameters.authenticity_token) {
34
+ Ruboss.defaultMetadata = { authenticity_token : Application.application.parameters.authenticity_token };
35
+ }
31
36
  }
32
37
  }
33
38
  }
@@ -1,16 +1,5 @@
1
- ################################################################################
2
- # Copyright 2008, Ruboss Technology Corporation.
3
- #
4
- # This software is dual-licensed under both the terms of the Ruboss Commercial
5
- # License v1 (RCL v1) as published by Ruboss Technology Corporation and under
6
- # the terms of the GNU General Public License v3 (GPL v3) as published by the
7
- # Free Software Foundation.
8
- #
9
- # Both the RCL v1 (rcl-1.0.txt) and the GPL v3 (gpl-3.0.txt) are included in
10
- # the source code. If you have purchased a commercial license then only the
11
- # RCL v1 applies; otherwise, only the GPL v3 applies. To learn more or to buy a
12
- # commercial license, please go to http://ruboss.com.
13
- ################################################################################
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ruboss4ruby') if !defined?(Ruboss4Ruby)
2
+
14
3
  module Rails
15
4
  module Generator
16
5
  class GeneratedAttribute
@@ -24,50 +13,51 @@ module Rails
24
13
 
25
14
  def field_type
26
15
  @field_type ||= case type
27
- when :integer, :float, :decimal then :text_field
28
- when :datetime, :timestamp, :time then :datetime_select
29
- when :date then :date_select
30
- when :string then :text_field
31
- when :text then :text_area
32
- when :boolean then :check_box
33
- else
34
- :text_field
16
+ when :integer, :float, :decimal then :text_field
17
+ when :datetime, :timestamp, :time then :datetime_select
18
+ when :date then :date_select
19
+ when :string then :text_field
20
+ when :text then :text_area
21
+ when :boolean then :check_box
22
+ else
23
+ :text_field
35
24
  end
36
25
  end
37
26
 
38
27
  def default(prefix = '')
39
28
  @default = case type
40
- when :integer then 1
41
- when :float then 1.5
42
- when :decimal then "9.99"
43
- when :datetime, :timestamp, :time then Time.now.to_s(:db)
44
- when :date then Date.today.to_s(:db)
45
- when :string then prefix + name.camelize + "String"
46
- when :text then prefix + name.camelize + "Text"
47
- when :boolean then false
48
- else
49
- ""
29
+ when :integer then 1
30
+ when :float then 1.5
31
+ when :decimal then "9.99"
32
+ when :datetime, :timestamp, :time then Time.now.to_s(:db)
33
+ when :date then Date.today.to_s(:db)
34
+ when :string then prefix + name.camelize + "String"
35
+ when :text then prefix + name.camelize + "Text"
36
+ when :boolean then false
37
+ else
38
+ ""
50
39
  end
51
40
  end
52
41
 
53
42
  def flex_type
54
43
  @flex_type = case type
55
- when :integer then 'int'
56
- when :date, :datetime, :time then 'Date'
57
- when :boolean then 'Boolean'
58
- when :float, :decimal then 'Number'
59
- else
60
- 'String'
44
+ when :integer then 'int'
45
+ when :date, :datetime, :time then 'Date'
46
+ when :boolean then 'Boolean'
47
+ when :float, :decimal then 'Number'
48
+ else
49
+ 'String'
61
50
  end
62
51
  end
63
-
64
- def flex_default(prefix = '')
52
+
53
+ def flex_default
65
54
  @flex_default = case type
66
- when :integer, :float, :decimal then '0'
67
- when :string, :text then '""'
68
- when :boolean then 'false'
69
- else
70
- 'null'
55
+ when :integer then '0'
56
+ when :date, :datetime, :time then 'new Date'
57
+ when :boolean then 'false'
58
+ when :float, :decimal then 'new Number'
59
+ else
60
+ "\"\""
71
61
  end
72
62
  end
73
63
  end
@@ -75,7 +65,7 @@ module Rails
75
65
  end
76
66
 
77
67
  class RubossScaffoldGenerator < Rails::Generator::NamedBase
78
- include Ruboss::Configuration
68
+ include Ruboss4Ruby::Configuration
79
69
 
80
70
  attr_reader :project_name,
81
71
  :flex_project_name,
@@ -96,9 +86,7 @@ class RubossScaffoldGenerator < Rails::Generator::NamedBase
96
86
  :controller_underscore_name,
97
87
  :controller_singular_name,
98
88
  :controller_plural_name
99
-
100
- attr_accessor :constructor_args
101
-
89
+
102
90
  alias_method :controller_file_name, :controller_underscore_name
103
91
  alias_method :controller_table_name, :controller_plural_name
104
92
 
@@ -117,28 +105,7 @@ class RubossScaffoldGenerator < Rails::Generator::NamedBase
117
105
  else
118
106
  @controller_class_name = "#{@controller_class_nesting}::#{@controller_class_name_without_nesting}"
119
107
  end
120
-
121
- @belongs_tos = []
122
- @has_ones = []
123
- @has_manies = []
124
- # Figure out has_one, has_many and belongs_to based on args
125
- @args.each do |arg|
126
- if arg =~ /^has_one:/
127
- # arg = "has_one:arg1,arg2", so all the has_one are together
128
- @has_ones = arg.split(':')[1].split(',')
129
- elsif arg =~ /^has_many:/
130
- # arg = "has_many:arg1,arg2", so all the has_many are together
131
- @has_manies = arg.split(":")[1].split(",")
132
- elsif arg =~ /^belongs_to:/ # belongs_to:arg1,arg2
133
- @belongs_tos = arg.split(":")[1].split(',')
134
- end
135
- end
136
-
137
- # Remove the has_one and has_many arguments since they are
138
- # not for consumption by the scaffold generator, and since
139
- # we have already used them to set the @belongs_tos, @has_ones and
140
- # @has_manies.
141
- @args.delete_if { |elt| elt =~ /^(has_one|has_many|belongs_to):/ }
108
+ extract_relationships
142
109
  end
143
110
 
144
111
  def manifest
@@ -180,11 +147,35 @@ class RubossScaffoldGenerator < Rails::Generator::NamedBase
180
147
  end
181
148
  end
182
149
 
183
- protected
184
- def add_options!(opt)
185
- opt.separator ''
186
- opt.separator 'Options:'
187
- opt.on("-f", "--flex-only", "Scaffold Flex code only",
188
- "Default: false") { |v| options[:flex_only] = v}
150
+ protected
151
+ def extract_relationships
152
+ @belongs_tos = []
153
+ @has_ones = []
154
+ @has_manies = []
155
+ # Figure out has_one, has_many and belongs_to based on args
156
+ @args.each do |arg|
157
+ if arg =~ /^has_one:/
158
+ # arg = "has_one:arg1,arg2", so all the has_one are together
159
+ @has_ones = arg.split(':')[1].split(',')
160
+ elsif arg =~ /^has_many:/
161
+ # arg = "has_many:arg1,arg2", so all the has_many are together
162
+ @has_manies = arg.split(":")[1].split(",")
163
+ elsif arg =~ /^belongs_to:/ # belongs_to:arg1,arg2
164
+ @belongs_tos = arg.split(":")[1].split(',')
165
+ end
189
166
  end
167
+
168
+ # Remove the has_one and has_many arguments since they are
169
+ # not for consumption by the scaffold generator, and since
170
+ # we have already used them to set the @belongs_tos, @has_ones and
171
+ # @has_manies.
172
+ @args.delete_if { |elt| elt =~ /^(has_one|has_many|belongs_to):/ }
173
+ end
174
+
175
+ def add_options!(opt)
176
+ opt.separator ''
177
+ opt.separator 'Options:'
178
+ opt.on("-f", "--flex-only", "Scaffold Flex code only",
179
+ "Default: false") { |v| options[:flex_only] = v}
180
+ end
190
181
  end