dima-ruboss4ruby 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +2 -2
- data/Manifest.txt +9 -3
- data/README.rdoc +43 -15
- data/Rakefile +9 -4
- data/app_generators/ruboss_app/USAGE +11 -2
- data/app_generators/ruboss_app/ruboss_app_generator.rb +21 -15
- data/app_generators/ruboss_app/templates/app.yaml.erb +12 -0
- data/app_generators/ruboss_app/templates/default_tasks.rake +1 -1
- data/app_generators/ruboss_app/templates/empty.txt +0 -0
- data/app_generators/ruboss_app/templates/generate.rb +1 -5
- data/app_generators/ruboss_app/templates/index.yaml +11 -0
- data/app_generators/ruboss_app/templates/mainair-app.xml +1 -1
- data/bin/ruboss-gen +18 -4
- data/generators/ruboss_config/ruboss_config_generator.rb +0 -5
- data/generators/ruboss_controller/ruboss_controller_generator.rb +15 -10
- data/generators/ruboss_controller/templates/assist.py +65 -0
- data/generators/ruboss_controller/templates/restful.py +136 -0
- data/generators/ruboss_main_app/ruboss_main_app_generator.rb +18 -4
- data/generators/ruboss_main_app/templates/main.py.erb +29 -0
- data/generators/ruboss_main_app/templates/mainapp.mxml +5 -1
- data/generators/ruboss_scaffold/ruboss_scaffold_generator.rb +77 -46
- data/generators/ruboss_scaffold/templates/controller.py.erb +27 -0
- data/generators/ruboss_scaffold/templates/model.as.erb +1 -1
- data/generators/ruboss_scaffold/templates/model.py.erb +14 -0
- data/generators/ruboss_yaml_scaffold/USAGE +42 -4
- data/generators/ruboss_yaml_scaffold/ruboss_yaml_scaffold_generator.rb +8 -4
- data/lib/ruboss4ruby.rb +15 -2
- data/lib/ruboss4ruby/active_foo.rb +32 -3
- data/lib/ruboss4ruby/active_record_default_methods.rb +19 -7
- data/lib/ruboss4ruby/active_record_tasks.rb +9 -3
- data/lib/ruboss4ruby/configuration.rb +32 -0
- data/lib/ruboss4ruby/datamapper_foo.rb +6 -0
- data/lib/ruboss4ruby/rails/recipes.rb +5 -3
- data/lib/ruboss4ruby/rails/swf_helper.rb +1 -0
- data/lib/ruboss4ruby/tasks.rb +5 -0
- data/rails_generators/ruboss_config/ruboss_config_generator.rb +14 -13
- data/rails_generators/ruboss_config/templates/mainair-app.xml +1 -1
- data/rails_generators/ruboss_config/templates/ruboss_tasks.rake +1 -0
- data/rails_generators/ruboss_controller/ruboss_controller_generator.rb +2 -5
- data/rails_generators/ruboss_scaffold/ruboss_scaffold_generator.rb +66 -62
- data/rails_generators/ruboss_scaffold/templates/model.as.erb +1 -1
- data/rails_generators/ruboss_yaml_scaffold/USAGE +38 -1
- data/rails_generators/ruboss_yaml_scaffold/ruboss_yaml_scaffold_generator.rb +0 -5
- data/rcl-1.0.txt +0 -0
- data/rdoc/generators/template/html/jamis.rb +588 -0
- data/ruboss4ruby.gemspec +12 -12
- metadata +15 -26
@@ -29,15 +29,19 @@ class RubossYamlScaffoldGenerator < RubiGen::Base
|
|
29
29
|
end
|
30
30
|
line = model[0].camelcase + " " + line
|
31
31
|
puts 'running: ruboss_scaffold ' + line
|
32
|
-
RubiGen::Scripts::Generate.new.run(
|
32
|
+
RubiGen::Scripts::Generate.new.run(line.split, :generator => 'ruboss_scaffold',
|
33
|
+
:gae => options[:gae])
|
33
34
|
puts 'done ...'
|
34
35
|
end
|
35
|
-
RubiGen::Scripts::Generate.new.run([
|
36
|
+
RubiGen::Scripts::Generate.new.run([], :generator => 'ruboss_main_app', :gae => options[:gae])
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
39
40
|
protected
|
40
|
-
def
|
41
|
-
|
41
|
+
def add_options!(opt)
|
42
|
+
opt.separator ''
|
43
|
+
opt.separator 'Options:'
|
44
|
+
opt.on("--gae", "Generate Google App Engine Python classes in addition to Ruboss Flex resources.",
|
45
|
+
"Default: false") { |v| options[:gae] = v }
|
42
46
|
end
|
43
47
|
end
|
data/lib/ruboss4ruby.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
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.
|
1
5
|
module Ruboss4Ruby
|
2
6
|
|
3
7
|
# :stopdoc:
|
4
|
-
VERSION = '1.1.
|
5
|
-
RUBOSS_FRAMEWORK_VERSION = '1.1.
|
8
|
+
VERSION = '1.1.1'
|
9
|
+
RUBOSS_FRAMEWORK_VERSION = '1.1.1'
|
6
10
|
LIB_DIR = File.join(File.dirname(__FILE__), 'ruboss4ruby/')
|
7
11
|
# :startdoc:
|
8
12
|
|
@@ -54,7 +58,10 @@ elsif defined?(ActionController::Base)
|
|
54
58
|
|
55
59
|
ActionView::Base.send :include, SWFHelper unless ActionView::Base.included_modules.include?(SWFHelper)
|
56
60
|
|
61
|
+
# We mess with default +render+ implementation a bit to add support for expressions
|
62
|
+
# such as format.fxml { render :fxml => @foo }
|
57
63
|
module ActionController
|
64
|
+
# Override render to add support for render :fxml
|
58
65
|
class Base
|
59
66
|
alias_method :old_render, :render unless method_defined?(:old_render)
|
60
67
|
|
@@ -72,6 +79,8 @@ elsif defined?(ActionController::Base)
|
|
72
79
|
end
|
73
80
|
end
|
74
81
|
|
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.
|
75
84
|
module Ruboss4RubyController
|
76
85
|
private
|
77
86
|
|
@@ -89,7 +98,11 @@ elsif defined?(ActionController::Base)
|
|
89
98
|
end
|
90
99
|
|
91
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
|
92
104
|
module NamedScope
|
105
|
+
# make sure we properly delegate +to_fxml+ calls to the proxy
|
93
106
|
class Scope
|
94
107
|
delegate :to_fxml, :to => :proxy_found
|
95
108
|
end
|
@@ -1,4 +1,15 @@
|
|
1
|
-
#ActiveRecord
|
1
|
+
# There's a number of things that ActiveRecord/ActiveSupport and the rest of the family get
|
2
|
+
# ~wrong~ from the point of view of Flex clients.
|
3
|
+
#
|
4
|
+
# Some of these things are:
|
5
|
+
# * Date formats
|
6
|
+
# * XML format (Flex *really* doesn't like dashes in XML messages)
|
7
|
+
# * Errors (we need to be more specific and communicate what went wrong *where*)
|
8
|
+
#
|
9
|
+
# This is where we try to fix this stuff.
|
10
|
+
#
|
11
|
+
# Some of the things that are done can be called _monkey_ _patching_ while others can
|
12
|
+
# be called extensions. Caveat emptor.
|
2
13
|
|
3
14
|
# Flex friendly date, datetime formats
|
4
15
|
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(:flex_date => "%Y/%m/%d")
|
@@ -7,10 +18,17 @@ ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:flex_date
|
|
7
18
|
Hash::XML_FORMATTING['date'] = Proc.new { |date| date.to_s(:flex_date) }
|
8
19
|
Hash::XML_FORMATTING['datetime'] = Proc.new { |datetime| datetime.to_s(:flex_datetime) }
|
9
20
|
|
21
|
+
# ActiveSupport specific patches. More specifically we add +to_fxml+ methods to Array and
|
22
|
+
# Hash conversion modules
|
10
23
|
module ActiveSupport
|
24
|
+
# refer to: http://api.rubyonrails.org/ for more details
|
11
25
|
module CoreExtensions
|
26
|
+
# Add Flex friendly +to_fxml+ to Hash conversions
|
12
27
|
module Hash
|
28
|
+
# refer to: http://api.rubyonrails.org/ for more details
|
13
29
|
module Conversions
|
30
|
+
|
31
|
+
# Flex friendly XML format, no dashes, etc
|
14
32
|
def to_fxml(options = {})
|
15
33
|
options.merge!(:dasherize => false)
|
16
34
|
options[:indent] ||= 2
|
@@ -65,8 +83,11 @@ module ActiveSupport
|
|
65
83
|
end
|
66
84
|
end
|
67
85
|
end
|
86
|
+
# Add Flex friendly to_fxml to array conversions
|
68
87
|
module Array
|
88
|
+
# refer to: http://api.rubyonrails.org/ for more details
|
69
89
|
module Conversions
|
90
|
+
# Flex friendly XML format (no dashes, etc)
|
70
91
|
def to_fxml(options = {})
|
71
92
|
raise "Not all elements respond to to_fxml" unless all? { |e| e.respond_to? :to_fxml }
|
72
93
|
|
@@ -102,9 +123,13 @@ module ActiveSupport
|
|
102
123
|
end
|
103
124
|
end
|
104
125
|
|
126
|
+
# Flex friendly ActiveRecord patches. More specifically XML serialization improvements.
|
127
|
+
# These won't override whatever you may normally do with XML, hence there's Flex specific
|
128
|
+
# name for this stuff +to_fxml+.
|
105
129
|
module ActiveRecord
|
106
|
-
#
|
130
|
+
# refer to: http://api.rubyonrails.org/ for more details
|
107
131
|
module Serialization
|
132
|
+
# Enforces Flex friendly options on XML and delegates processing to standard +to_xml+
|
108
133
|
def to_fxml(options = {}, &block)
|
109
134
|
options.merge!(:dasherize => false)
|
110
135
|
default_except = [:crypted_password, :salt, :remember_token, :remember_token_expires_at]
|
@@ -116,14 +141,17 @@ module ActiveRecord
|
|
116
141
|
# Change the xml serializer so that '?'s are stripped from attribute names.
|
117
142
|
# This makes it possible to serialize methods that end in a question mark, like 'valid?' or 'is_true?'
|
118
143
|
class XmlSerializer
|
144
|
+
# Strips '?' from serialized method names
|
119
145
|
def add_tag(attribute)
|
120
146
|
builder.tag!(
|
121
147
|
dasherize? ? attribute.display_name.dasherize : attribute.display_name,
|
122
148
|
attribute.value.to_s,
|
123
149
|
attribute.decorations(!options[:skip_types])
|
124
150
|
)
|
125
|
-
end
|
151
|
+
end
|
152
|
+
# Strips '?' from serialized method names
|
126
153
|
class Attribute
|
154
|
+
# Strips '?' from serialized method names
|
127
155
|
def display_name
|
128
156
|
@name.gsub('?','')
|
129
157
|
end
|
@@ -133,6 +161,7 @@ module ActiveRecord
|
|
133
161
|
# Add more extensive reporting on errors including field name along with a message
|
134
162
|
# when errors are serialized to XML
|
135
163
|
class Errors
|
164
|
+
# Flex friendly errors
|
136
165
|
def to_fxml(options={})
|
137
166
|
options[:root] ||= "errors"
|
138
167
|
options[:indent] ||= 2
|
@@ -1,8 +1,21 @@
|
|
1
1
|
module ActiveRecord
|
2
|
-
|
2
|
+
#
|
3
|
+
# We also add support for serializing model methods along the lines of:
|
4
|
+
#
|
5
|
+
# class Project < ActiveRecord::Base
|
6
|
+
# default_methods :foobar
|
7
|
+
#
|
8
|
+
# def foobar
|
9
|
+
# 'foobar'
|
10
|
+
# end
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# When you do +to_fxml+ on this model method foobar will be automatically
|
14
|
+
# serialized as a simple attribute
|
3
15
|
class Base
|
4
16
|
class << self
|
5
17
|
|
18
|
+
# default methods hook
|
6
19
|
def default_methods(*args)
|
7
20
|
methods = *args.dup
|
8
21
|
module_eval <<-END
|
@@ -11,7 +24,8 @@ module ActiveRecord
|
|
11
24
|
end
|
12
25
|
END
|
13
26
|
end
|
14
|
-
|
27
|
+
|
28
|
+
# default methods hook
|
15
29
|
def defaults_hash(already_included = [], ignore_default_methods = nil)
|
16
30
|
defaults_hash = {:include => {}}
|
17
31
|
unless ignore_default_methods
|
@@ -19,17 +33,17 @@ module ActiveRecord
|
|
19
33
|
end
|
20
34
|
defaults_hash
|
21
35
|
end
|
22
|
-
|
23
36
|
end
|
24
|
-
|
25
37
|
end
|
26
38
|
|
39
|
+
# Flex-friendly serialization patches
|
27
40
|
module Serialization
|
28
41
|
|
29
42
|
alias_method :xml_defaults_old_to_xml, :to_xml unless method_defined?(:xml_defaults_old_to_xml)
|
30
43
|
|
31
44
|
alias_method :json_defaults_old_to_json, :to_json unless method_defined?(:json_defaults_old_to_json)
|
32
45
|
|
46
|
+
# adds support for default_methods to standard +to_xml+
|
33
47
|
def to_xml(options = {}, &block)
|
34
48
|
unless options[:ignore_defaults]
|
35
49
|
unless options[:ignore_default_methods]
|
@@ -39,6 +53,7 @@ module ActiveRecord
|
|
39
53
|
xml_defaults_old_to_xml(options, &block)
|
40
54
|
end
|
41
55
|
|
56
|
+
# adds support for default_methods to standard +to_json+
|
42
57
|
def to_json(options = {}, &block)
|
43
58
|
unless options[:ignore_defaults]
|
44
59
|
unless options[:ignore_default_methods]
|
@@ -47,8 +62,5 @@ module ActiveRecord
|
|
47
62
|
end
|
48
63
|
json_defaults_old_to_json(options, &block)
|
49
64
|
end
|
50
|
-
|
51
65
|
end
|
52
|
-
|
53
|
-
|
54
66
|
end
|
@@ -1,7 +1,10 @@
|
|
1
|
+
# ActiveRecord specific Rake tasks. Namely, nice little extras such as:
|
2
|
+
# - db:mysql:stage
|
3
|
+
# - db:refresh
|
1
4
|
require File.join(File.dirname(__FILE__), 'tasks')
|
2
5
|
|
3
|
-
#
|
4
|
-
|
6
|
+
# stores local copy of the application environment ('production', 'test', etc)
|
7
|
+
# so that appropriate values in config/database.yml are used
|
5
8
|
APP_ENV = defined?(ENV['RAILS_ENV']) ? ENV['RAILS_ENV'] : ENV['MERB_ENV']
|
6
9
|
|
7
10
|
namespace :db do
|
@@ -26,7 +29,10 @@ namespace :db do
|
|
26
29
|
stage_database(db_names, admin_password, db_user_name, db_password)
|
27
30
|
end
|
28
31
|
end
|
29
|
-
|
32
|
+
|
33
|
+
# Performs MySQL database set-up based on the username and password
|
34
|
+
# provided. Also updates Rails config/database.yml file with database
|
35
|
+
# username and password
|
30
36
|
def stage_database(db_names, admin_password, db_user_name, db_password)
|
31
37
|
sql_command = ""
|
32
38
|
|
@@ -1,17 +1,45 @@
|
|
1
|
+
# Interestingly enough there's no way to *just* upper-case or down-case first letter of a given
|
2
|
+
# string. Ruby's own +capitalize+ actually downcases all the rest of the characters in the string
|
3
|
+
# We patch the class to add our own implementation.
|
1
4
|
class String
|
5
|
+
# Upper-case first character of a string leave the rest of the string intact
|
2
6
|
def ucfirst
|
3
7
|
self[0,1].capitalize + self[1..-1]
|
4
8
|
end
|
5
9
|
|
10
|
+
# Down-case first character of a string leaving the rest of it intact
|
6
11
|
def dcfirst
|
7
12
|
self[0,1].downcase + self[1..-1]
|
8
13
|
end
|
9
14
|
end
|
10
15
|
|
11
16
|
module Ruboss4Ruby
|
17
|
+
# Computes necessary configuration options from the environment. This can be used in Rails, Merb
|
18
|
+
# or standalone from the command line.
|
12
19
|
module Configuration
|
13
20
|
APP_ROOT = defined?(RAILS_ROOT) ? RAILS_ROOT : defined?(Merb) ? Merb.root : File.expand_path(".")
|
14
21
|
|
22
|
+
# Extract project, package, controller names from the environment. This will respect
|
23
|
+
# config/ruboss.yml if it exists, you can override all of the defaults there. The defaults are:
|
24
|
+
# - *base-package* same as project name downcased
|
25
|
+
# - *controller-name* 'ApplicationController'
|
26
|
+
#
|
27
|
+
# Here's a sample ruboss.yml file:
|
28
|
+
#
|
29
|
+
# Ruboss code generation configuration options
|
30
|
+
#
|
31
|
+
# By default flex models, commands, controllers and components are genearated into
|
32
|
+
# app/flex/<your rails project name> folder. If you'd like to customize the target folder
|
33
|
+
# (to say append a "com" package before your rails project name) uncomment the line below
|
34
|
+
# base-package must follow the usual flex package notation (a string separated by ".")
|
35
|
+
#
|
36
|
+
# base-package: com.pomodo
|
37
|
+
#
|
38
|
+
# Main ruboss controller is typically named AppicationController. This controller is created in
|
39
|
+
# <base-package>.controllers folder. You can customize the name by uncommenting the following line
|
40
|
+
# and changing the controller name.
|
41
|
+
#
|
42
|
+
# controller-name: ApplicationController
|
15
43
|
def extract_names(project = nil)
|
16
44
|
if project
|
17
45
|
project_name = project.camelcase.gsub(/\s/, '')
|
@@ -21,10 +49,12 @@ module Ruboss4Ruby
|
|
21
49
|
project_name_downcase = project_name.downcase
|
22
50
|
end
|
23
51
|
|
52
|
+
# give a chance to override the settings via ruboss.yml
|
24
53
|
begin
|
25
54
|
config = YAML.load(File.open("#{APP_ROOT}/config/ruboss.yml"))
|
26
55
|
base_package = config['base-package'] || project_name_downcase
|
27
56
|
base_folder = base_package.gsub('.', '/').gsub(/\s/, '')
|
57
|
+
project_name = config['project-name'].camelcase.gsub(/\s/, '') || project_name
|
28
58
|
controller_name = config['controller-name'] || "ApplicationController"
|
29
59
|
rescue
|
30
60
|
base_folder = base_package = project_name_downcase
|
@@ -33,10 +63,12 @@ module Ruboss4Ruby
|
|
33
63
|
[project_name, project_name_downcase, controller_name, base_package, base_folder]
|
34
64
|
end
|
35
65
|
|
66
|
+
# List files ending in *.as (ActionScript) in a given folder
|
36
67
|
def list_as_files(dir_name)
|
37
68
|
Dir.entries(dir_name).grep(/\.as$/).map { |name| name.sub(/\.as$/, "") }.join(", ")
|
38
69
|
end
|
39
70
|
|
71
|
+
# List files ending in *.mxml in a given folder
|
40
72
|
def list_mxml_files(dir_name)
|
41
73
|
Dir.entries(dir_name).grep(/\.mxml$/).map { |name| name.sub(/\.mxml$/, "") }
|
42
74
|
end
|
@@ -1,9 +1,15 @@
|
|
1
1
|
require 'builder'
|
2
2
|
require Ruboss4Ruby::LIB_DIR + 'configuration'
|
3
3
|
|
4
|
+
# Flex friendly DataMapper patches, more specifically we just add +to_xml+ on
|
5
|
+
# ValidationErrors class
|
4
6
|
module DataMapper
|
7
|
+
# see DataMapper docs for more details
|
5
8
|
module Validate
|
9
|
+
# By default DataMapper validation errors doesn't have +to_xml+ method. This is
|
10
|
+
# actually very useful when dealing with remote stateful clients such as Flex/AIR.
|
6
11
|
class ValidationErrors
|
12
|
+
# Add Flex-friendly +to_xml+ implementation
|
7
13
|
def to_xml
|
8
14
|
xml = Builder::XmlMarkup.new(:indent => 2)
|
9
15
|
xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
|
@@ -1,7 +1,9 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Adds Capistrano recipes for deploying Flex applications
|
2
|
+
#
|
3
3
|
# To use these recipes, add the following to your Capfile:
|
4
|
-
#
|
4
|
+
#
|
5
|
+
# require 'ruboss4ruby/rails/recipes'
|
6
|
+
require 'find'
|
5
7
|
|
6
8
|
Capistrano::Configuration.instance(:must_exist).load do
|
7
9
|
after "deploy:setup", "deploy:flex:setup"
|
data/lib/ruboss4ruby/tasks.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# Rake tasks for building Ruboss-based Flex and AIR applications
|
1
2
|
require 'rake'
|
2
3
|
require 'ftools'
|
3
4
|
require 'rexml/document'
|
@@ -6,6 +7,8 @@ require File.join(File.dirname(__FILE__), 'configuration')
|
|
6
7
|
APP_ROOT = Ruboss4Ruby::Configuration::APP_ROOT
|
7
8
|
|
8
9
|
namespace :ruboss do
|
10
|
+
# Compile the main Flex/AIR application using given executable to the given
|
11
|
+
# destination folder
|
9
12
|
def compile_app(executable, destination, opts = '')
|
10
13
|
app_properties = REXML::Document.new(File.open(File.join(APP_ROOT, ".actionScriptProperties")))
|
11
14
|
app_properties.elements.each("*/applications/application") do |elm|
|
@@ -43,11 +46,13 @@ namespace :ruboss do
|
|
43
46
|
end
|
44
47
|
end
|
45
48
|
|
49
|
+
# Find what the main application is based on .actionScriptProperties file
|
46
50
|
def get_main_application
|
47
51
|
app_properties = REXML::Document.new(File.open(File.join(APP_ROOT, ".actionScriptProperties")))
|
48
52
|
app_properties.root.attributes['mainApplicationPath'].split("/").last
|
49
53
|
end
|
50
54
|
|
55
|
+
# Get appropriate executable based on platform
|
51
56
|
def get_executable(executable)
|
52
57
|
if RUBY_PLATFORM =~ /mswin32/
|
53
58
|
executable << '.exe'
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ruboss4ruby') if !defined?(Ruboss4Ruby)
|
2
3
|
|
3
4
|
class RubossConfigGenerator < Rails::Generator::Base
|
4
5
|
include Ruboss4Ruby::Configuration
|
@@ -97,18 +98,18 @@ class RubossConfigGenerator < Rails::Generator::Base
|
|
97
98
|
end
|
98
99
|
|
99
100
|
protected
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
101
|
+
def add_options!(opt)
|
102
|
+
opt.separator ''
|
103
|
+
opt.separator 'Options:'
|
104
|
+
opt.on("-m", "--main-only", "Only generate the main Flex/AIR application file.",
|
105
|
+
"Default: false") { |v| options[:main_only] = v }
|
106
|
+
opt.on("-a", "--air", "Configure AIR project instead of Flex. Flex is default.",
|
107
|
+
"Default: false") { |v| options[:air_config] = v }
|
108
|
+
opt.on("-s", "--skip-framework", "Don't fetch the latest framework binary. You'll have to link/build the framework yourself.",
|
109
|
+
"Default: false") { |v| options[:skip_framework] = v }
|
110
|
+
end
|
110
111
|
|
111
|
-
|
112
|
-
|
113
|
-
|
112
|
+
def banner
|
113
|
+
"Usage: #{$0} #{spec.name}"
|
114
|
+
end
|
114
115
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'ruboss4ruby') if !defined?(Ruboss4Ruby)
|
2
|
+
|
1
3
|
class RubossControllerGenerator < Rails::Generator::Base
|
2
4
|
include Ruboss4Ruby::Configuration
|
3
5
|
|
@@ -23,9 +25,4 @@ class RubossControllerGenerator < Rails::Generator::Base
|
|
23
25
|
"#{command_controller_name}.as")
|
24
26
|
end
|
25
27
|
end
|
26
|
-
|
27
|
-
protected
|
28
|
-
def banner
|
29
|
-
"Usage: #{$0} #{spec.name}"
|
30
|
-
end
|
31
28
|
end
|