authorails 1.0.0
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.
- data/AUTHORAILS_README +20 -0
- data/CHANGELOG +1366 -0
- data/MIT-LICENSE +20 -0
- data/README +182 -0
- data/Rakefile +334 -0
- data/bin/about +3 -0
- data/bin/authorails +19 -0
- data/bin/breakpointer +3 -0
- data/bin/console +3 -0
- data/bin/destroy +3 -0
- data/bin/generate +3 -0
- data/bin/performance/benchmarker +3 -0
- data/bin/performance/profiler +3 -0
- data/bin/plugin +3 -0
- data/bin/process/inspector +3 -0
- data/bin/process/reaper +3 -0
- data/bin/process/spawner +3 -0
- data/bin/runner +3 -0
- data/bin/server +3 -0
- data/builtin/rails_info/rails/info.rb +123 -0
- data/builtin/rails_info/rails/info_controller.rb +9 -0
- data/builtin/rails_info/rails/info_helper.rb +2 -0
- data/builtin/rails_info/rails_info_controller.rb +2 -0
- data/configs/apache.conf +40 -0
- data/configs/databases/frontbase.yml +28 -0
- data/configs/databases/mysql.yml +48 -0
- data/configs/databases/oracle.yml +39 -0
- data/configs/databases/postgresql.yml +44 -0
- data/configs/databases/sqlite2.yml +16 -0
- data/configs/databases/sqlite3.yml +19 -0
- data/configs/empty.log +0 -0
- data/configs/lighttpd.conf +54 -0
- data/configs/routes.rb +23 -0
- data/controllers/accounts_controller.rb +11 -0
- data/controllers/admin_controller.rb +76 -0
- data/controllers/begin_controller.rb +5 -0
- data/controllers/login_controller.rb +101 -0
- data/controllers/permission_controller.rb +91 -0
- data/controllers/roles_controller.rb +58 -0
- data/controllers/tables_controller.rb +714 -0
- data/dispatches/dispatch.fcgi +24 -0
- data/dispatches/dispatch.rb +10 -0
- data/dispatches/gateway.cgi +97 -0
- data/doc/README_FOR_APP +2 -0
- data/environments/boot.rb +45 -0
- data/environments/development.rb +21 -0
- data/environments/environment.rb +63 -0
- data/environments/production.rb +18 -0
- data/environments/test.rb +19 -0
- data/fresh_rakefile +10 -0
- data/helpers/application.rb +607 -0
- data/helpers/application_helper.rb +315 -0
- data/helpers/permission_helper.rb +27 -0
- data/helpers/test_helper.rb +28 -0
- data/html/404.html +30 -0
- data/html/500.html +30 -0
- data/html/favicon.ico +0 -0
- data/html/images/ArrowDn.png +0 -0
- data/html/images/ArrowUp.png +0 -0
- data/html/images/arrow.gif +0 -0
- data/html/images/authorails_logo.gif +0 -0
- data/html/images/delete.png +0 -0
- data/html/images/edit.png +0 -0
- data/html/images/minus.gif +0 -0
- data/html/images/plus.gif +0 -0
- data/html/images/rails.png +0 -0
- data/html/images/show.png +0 -0
- data/html/images/spinner.gif +0 -0
- data/html/index.html +273 -0
- data/html/javascripts/application.js +2 -0
- data/html/javascripts/controls.js +833 -0
- data/html/javascripts/dragdrop.js +942 -0
- data/html/javascripts/effects.js +1088 -0
- data/html/javascripts/live_validation.js +4 -0
- data/html/javascripts/prototype.js +2515 -0
- data/html/robots.txt +1 -0
- data/lib/authorails/version.rb +9 -0
- data/lib/binding_of_caller.rb +85 -0
- data/lib/breakpoint.rb +553 -0
- data/lib/breakpoint_client.rb +196 -0
- data/lib/code_statistics.rb +107 -0
- data/lib/commands.rb +17 -0
- data/lib/commands/about.rb +2 -0
- data/lib/commands/breakpointer.rb +1 -0
- data/lib/commands/console.rb +25 -0
- data/lib/commands/destroy.rb +6 -0
- data/lib/commands/generate.rb +6 -0
- data/lib/commands/ncgi/listener +86 -0
- data/lib/commands/ncgi/tracker +69 -0
- data/lib/commands/performance/benchmarker.rb +24 -0
- data/lib/commands/performance/profiler.rb +50 -0
- data/lib/commands/plugin.rb +918 -0
- data/lib/commands/process/inspector.rb +68 -0
- data/lib/commands/process/reaper.rb +149 -0
- data/lib/commands/process/spawner.rb +209 -0
- data/lib/commands/process/spinner.rb +57 -0
- data/lib/commands/runner.rb +48 -0
- data/lib/commands/server.rb +39 -0
- data/lib/commands/servers/base.rb +19 -0
- data/lib/commands/servers/lighttpd.rb +94 -0
- data/lib/commands/servers/mongrel.rb +65 -0
- data/lib/commands/servers/webrick.rb +59 -0
- data/lib/commands/update.rb +4 -0
- data/lib/console_app.rb +27 -0
- data/lib/console_sandbox.rb +6 -0
- data/lib/console_with_helpers.rb +23 -0
- data/lib/dispatcher.rb +173 -0
- data/lib/fcgi_handler.rb +225 -0
- data/lib/initializer.rb +702 -0
- data/lib/rails_generator.rb +43 -0
- data/lib/rails_generator/base.rb +261 -0
- data/lib/rails_generator/commands.rb +581 -0
- data/lib/rails_generator/generated_attribute.rb +42 -0
- data/lib/rails_generator/generators/applications/app/USAGE +16 -0
- data/lib/rails_generator/generators/applications/app/app_generator.rb +341 -0
- data/lib/rails_generator/generators/components/controller/USAGE +30 -0
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +37 -0
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +10 -0
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +18 -0
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/controller/templates/view.rhtml +2 -0
- data/lib/rails_generator/generators/components/integration_test/USAGE +14 -0
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +16 -0
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +10 -0
- data/lib/rails_generator/generators/components/mailer/USAGE +18 -0
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +34 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +13 -0
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +37 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +3 -0
- data/lib/rails_generator/generators/components/migration/USAGE +14 -0
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +7 -0
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +7 -0
- data/lib/rails_generator/generators/components/model/USAGE +26 -0
- data/lib/rails_generator/generators/components/model/model_generator.rb +38 -0
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +11 -0
- data/lib/rails_generator/generators/components/model/templates/migration.rb +13 -0
- data/lib/rails_generator/generators/components/model/templates/model.rb +2 -0
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +10 -0
- data/lib/rails_generator/generators/components/observer/USAGE +15 -0
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +16 -0
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +2 -0
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +10 -0
- data/lib/rails_generator/generators/components/plugin/USAGE +35 -0
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +38 -0
- data/lib/rails_generator/generators/components/plugin/templates/README +4 -0
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +22 -0
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +4 -0
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +76 -0
- data/lib/rails_generator/generators/components/resource/templates/USAGE +18 -0
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/fixtures.yml +11 -0
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +20 -0
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/migration.rb +13 -0
- data/lib/rails_generator/generators/components/resource/templates/model.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/unit_test.rb +10 -0
- data/lib/rails_generator/generators/components/scaffold/USAGE +32 -0
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +208 -0
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +134 -0
- data/lib/rails_generator/generators/components/scaffold/templates/form.rhtml +3 -0
- data/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml +35 -0
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +102 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml +17 -0
- data/lib/rails_generator/generators/components/scaffold/templates/partial_list_elements.rhtml +127 -0
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +74 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml +75 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml +30 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml +8 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml +37 -0
- data/lib/rails_generator/generators/components/scaffold_resource/USAGE +29 -0
- data/lib/rails_generator/generators/components/scaffold_resource/scaffold_resource_generator.rb +92 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/controller.rb +79 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/fixtures.yml +11 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/functional_test.rb +57 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/layout.rhtml +17 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/migration.rb +13 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/model.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/style.css +74 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/unit_test.rb +10 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/view_edit.rhtml +19 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/view_index.rhtml +24 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/view_new.rhtml +18 -0
- data/lib/rails_generator/generators/components/scaffold_resource/templates/view_show.rhtml +10 -0
- data/lib/rails_generator/generators/components/session_migration/USAGE +15 -0
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +18 -0
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +16 -0
- data/lib/rails_generator/generators/components/web_service/USAGE +28 -0
- data/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +5 -0
- data/lib/rails_generator/generators/components/web_service/templates/controller.rb +8 -0
- data/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +19 -0
- data/lib/rails_generator/generators/components/web_service/web_service_generator.rb +29 -0
- data/lib/rails_generator/lookup.rb +209 -0
- data/lib/rails_generator/manifest.rb +53 -0
- data/lib/rails_generator/options.rb +143 -0
- data/lib/rails_generator/scripts.rb +83 -0
- data/lib/rails_generator/scripts/destroy.rb +7 -0
- data/lib/rails_generator/scripts/generate.rb +7 -0
- data/lib/rails_generator/scripts/update.rb +12 -0
- data/lib/rails_generator/simple_logger.rb +46 -0
- data/lib/rails_generator/spec.rb +44 -0
- data/lib/railties_path.rb +1 -0
- data/lib/ruby_version_check.rb +17 -0
- data/lib/rubyprof_ext.rb +35 -0
- data/lib/tasks/databases.rake +187 -0
- data/lib/tasks/documentation.rake +82 -0
- data/lib/tasks/framework.rake +112 -0
- data/lib/tasks/log.rake +9 -0
- data/lib/tasks/misc.rake +4 -0
- data/lib/tasks/pre_namespace_aliases.rake +53 -0
- data/lib/tasks/rails.rb +8 -0
- data/lib/tasks/statistics.rake +18 -0
- data/lib/tasks/testing.rake +120 -0
- data/lib/tasks/tmp.rake +37 -0
- data/lib/test_help.rb +19 -0
- data/lib/webrick_server.rb +166 -0
- data/libs/migration_helper.rb +11 -0
- data/migrations/001_create_logins.rb +22 -0
- data/migrations/002_create_admins.rb +16 -0
- data/migrations/003_create_roles.rb +13 -0
- data/migrations/004_create_tables.rb +11 -0
- data/migrations/005_create_attr_types.rb +13 -0
- data/migrations/006_create_table_fields.rb +22 -0
- data/migrations/007_create_tab_operations.rb +13 -0
- data/migrations/008_create_attr_operations.rb +13 -0
- data/migrations/009_create_tab_permissions.rb +21 -0
- data/migrations/010_create_attr_permissions.rb +21 -0
- data/migrations/011_create_relations.rb +23 -0
- data/migrations/012_create_scaffolds.rb +11 -0
- data/migrations/013_create_relation_permissions.rb +20 -0
- data/models/admin.rb +38 -0
- data/models/attr_operation.rb +3 -0
- data/models/attr_permission.rb +5 -0
- data/models/attr_type.rb +3 -0
- data/models/login.rb +51 -0
- data/models/relation.rb +5 -0
- data/models/relation_permission.rb +4 -0
- data/models/role.rb +13 -0
- data/models/scaffold.rb +2 -0
- data/models/tab_operation.rb +3 -0
- data/models/tab_permission.rb +5 -0
- data/models/table.rb +18 -0
- data/models/table_field.rb +6 -0
- data/plugins/redhillonrails_core/CHANGELOG +186 -0
- data/plugins/redhillonrails_core/MIT-LICENSE +20 -0
- data/plugins/redhillonrails_core/README +152 -0
- data/plugins/redhillonrails_core/init.rb +1 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/base.rb +54 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/abstract_adapter.rb +46 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/column.rb +21 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/foreign_key_definition.rb +26 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/index_definition.rb +11 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_adapter.rb +94 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_column.rb +8 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/postgresql_adapter.rb +131 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/schema_statements.rb +23 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/sqlite3_adapter.rb +9 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/table_definition.rb +27 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema.rb +25 -0
- data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema_dumper.rb +58 -0
- data/plugins/redhillonrails_core/lib/redhillonrails_core.rb +19 -0
- data/plugins/redhillonrails_core/tasks/db/comments.rake +9 -0
- data/plugins/schema_validations/CHANGELOG +149 -0
- data/plugins/schema_validations/MIT-LICENSE +20 -0
- data/plugins/schema_validations/README +54 -0
- data/plugins/schema_validations/about.yml +5 -0
- data/plugins/schema_validations/init.rb +1 -0
- data/plugins/schema_validations/install.rb +1 -0
- data/plugins/schema_validations/lib/red_hill_consulting/schema_validations/active_record/base.rb +108 -0
- data/plugins/schema_validations/lib/schema_validations.rb +1 -0
- data/plugins/svn/README +69 -0
- data/plugins/svn/Rakefile +22 -0
- data/plugins/svn/assets/javascripts/live_validation.js +4 -0
- data/plugins/svn/assets/stylesheets/live_validation.css +28 -0
- data/plugins/svn/init.rb +2 -0
- data/plugins/svn/install.rb +1 -0
- data/plugins/svn/lib/form_helpers.rb +49 -0
- data/plugins/svn/lib/live_validations.rb +73 -0
- data/plugins/svn/tasks/live_validation_tasks.rake +17 -0
- data/plugins/svn/test/form_helpers_test.rb +214 -0
- data/plugins/svn/test/live_validations_test.rb +124 -0
- data/plugins/svn/test/resource.rb +17 -0
- data/plugins/svn/uninstall.rb +1 -0
- data/stylesheets/live_validation.css +28 -0
- data/stylesheets/print.css +72 -0
- data/stylesheets/scaffold.css +175 -0
- data/views/accounts/index.rhtml +12 -0
- data/views/accounts/show.rhtml +5 -0
- data/views/admin/_form.rhtml +15 -0
- data/views/admin/add_user.rhtml +21 -0
- data/views/admin/change_pwd.rhtml +23 -0
- data/views/admin/edit_user.rhtml +12 -0
- data/views/admin/index.rhtml +19 -0
- data/views/begin/index.rhtml +0 -0
- data/views/layouts/general.rhtml +59 -0
- data/views/layouts/login.rhtml +18 -0
- data/views/login/change_pwd.rhtml +21 -0
- data/views/login/expired_pwd.rhtml +19 -0
- data/views/login/index.rhtml +15 -0
- data/views/permission/index.rhtml +17 -0
- data/views/permission/relations.rhtml +28 -0
- data/views/permission/roles.rhtml +45 -0
- data/views/permission/tables.rhtml +53 -0
- data/views/roles/_form.rhtml +8 -0
- data/views/roles/edit.rhtml +11 -0
- data/views/roles/list.rhtml +28 -0
- data/views/roles/new.rhtml +8 -0
- data/views/roles/show.rhtml +14 -0
- data/views/shared_views/_advanced_search.rhtml +35 -0
- data/views/shared_views/_child_elements.rhtml +30 -0
- data/views/shared_views/_childs.rhtml +20 -0
- data/views/shared_views/_father_elements.rhtml +27 -0
- data/views/shared_views/_fathers.rhtml +21 -0
- data/views/shared_views/_fathers_header.rhtml +58 -0
- data/views/shared_views/_many_to_many_elements.rhtml +50 -0
- data/views/shared_views/_many_to_manys.rhtml +18 -0
- data/views/shared_views/_one_to_one_elements.rhtml +24 -0
- data/views/shared_views/_one_to_one_father_elements.rhtml +26 -0
- data/views/shared_views/_one_to_ones.rhtml +42 -0
- data/views/shared_views/_one_to_ones_header.rhtml +117 -0
- data/views/shared_views/edit_child.rhtml +89 -0
- data/views/shared_views/edit_many.rhtml +75 -0
- data/views/tables/_cascade.rhtml +10 -0
- data/views/tables/_field.rhtml +10 -0
- data/views/tables/_fk.rhtml +9 -0
- data/views/tables/_form.rhtml +9 -0
- data/views/tables/_join_table_name.rhtml +16 -0
- data/views/tables/_relation_types.rhtml +5 -0
- data/views/tables/_tables.rhtml +15 -0
- data/views/tables/attributes.rhtml +15 -0
- data/views/tables/edit.rhtml +11 -0
- data/views/tables/edit_field.rhtml +18 -0
- data/views/tables/list.rhtml +39 -0
- data/views/tables/new.rhtml +8 -0
- data/views/tables/new_field.rhtml +25 -0
- data/views/tables/relations.rhtml +24 -0
- data/views/tables/show.rhtml +24 -0
- metadata +518 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../test_helper'
|
|
2
|
+
require '<%= file_path %>_controller'
|
|
3
|
+
|
|
4
|
+
# Re-raise errors caught by the controller.
|
|
5
|
+
class <%= class_name %>Controller; def rescue_action(e) raise e end; end
|
|
6
|
+
|
|
7
|
+
class <%= class_name %>ControllerTest < Test::Unit::TestCase
|
|
8
|
+
def setup
|
|
9
|
+
@controller = <%= class_name %>Controller.new
|
|
10
|
+
@request = ActionController::TestRequest.new
|
|
11
|
+
@response = ActionController::TestResponse.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Replace this with your real tests.
|
|
15
|
+
def test_truth
|
|
16
|
+
assert true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The model generator creates a stub for a new integration test.
|
|
3
|
+
|
|
4
|
+
The generator takes an integration test name as its argument. The test
|
|
5
|
+
name may be given in CamelCase or under_score and should not be suffixed
|
|
6
|
+
with 'Test'.
|
|
7
|
+
|
|
8
|
+
The generator creates an integration test class in test/integration.
|
|
9
|
+
|
|
10
|
+
Example:
|
|
11
|
+
./script/generate integration_test GeneralStories
|
|
12
|
+
|
|
13
|
+
This will create a GeneralStores integration test:
|
|
14
|
+
test/integration/general_stories_test.rb
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class IntegrationTestGenerator < Rails::Generator::NamedBase
|
|
2
|
+
default_options :skip_migration => false
|
|
3
|
+
|
|
4
|
+
def manifest
|
|
5
|
+
record do |m|
|
|
6
|
+
# Check for class naming collisions.
|
|
7
|
+
m.class_collisions class_path, class_name, "#{class_name}Test"
|
|
8
|
+
|
|
9
|
+
# integration test directory
|
|
10
|
+
m.directory File.join('test/integration', class_path)
|
|
11
|
+
|
|
12
|
+
# integration test stub
|
|
13
|
+
m.template 'integration_test.rb', File.join('test/integration', class_path, "#{file_name}_test.rb")
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require "#{File.dirname(__FILE__)}<%= '/..' * class_nesting_depth %>/../test_helper"
|
|
2
|
+
|
|
3
|
+
class <%= class_name %>Test < ActionController::IntegrationTest
|
|
4
|
+
# fixtures :your, :models
|
|
5
|
+
|
|
6
|
+
# Replace this with your real tests.
|
|
7
|
+
def test_truth
|
|
8
|
+
assert true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The mailer generator creates stubs for a new mailer and its views.
|
|
3
|
+
|
|
4
|
+
The generator takes a mailer name and a list of views as arguments.
|
|
5
|
+
The mailer name may be given in CamelCase or under_score.
|
|
6
|
+
|
|
7
|
+
The generator creates a mailer class in app/models with view templates
|
|
8
|
+
in app/views/mailer_name, and a test suite with fixtures in test/unit.
|
|
9
|
+
|
|
10
|
+
Example:
|
|
11
|
+
./script/generate mailer Notifications signup forgot_password invoice
|
|
12
|
+
|
|
13
|
+
This will create a Notifications mailer class:
|
|
14
|
+
Mailer: app/models/notifications.rb
|
|
15
|
+
Views: app/views/notifications/signup.rhtml [...]
|
|
16
|
+
Test: test/unit/test/unit/notifications_test.rb
|
|
17
|
+
Fixtures: test/fixtures/notifications/signup [...]
|
|
18
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class MailerGenerator < Rails::Generator::NamedBase
|
|
2
|
+
def manifest
|
|
3
|
+
record do |m|
|
|
4
|
+
# Check for class naming collisions.
|
|
5
|
+
m.class_collisions class_path, class_name, "#{class_name}Test"
|
|
6
|
+
|
|
7
|
+
# Mailer, view, test, and fixture directories.
|
|
8
|
+
m.directory File.join('app/models', class_path)
|
|
9
|
+
m.directory File.join('app/views', file_path)
|
|
10
|
+
m.directory File.join('test/unit', class_path)
|
|
11
|
+
m.directory File.join('test/fixtures', file_path)
|
|
12
|
+
|
|
13
|
+
# Mailer class and unit test.
|
|
14
|
+
m.template "mailer.rb", File.join('app/models',
|
|
15
|
+
class_path,
|
|
16
|
+
"#{file_name}.rb")
|
|
17
|
+
m.template "unit_test.rb", File.join('test/unit',
|
|
18
|
+
class_path,
|
|
19
|
+
"#{file_name}_test.rb")
|
|
20
|
+
|
|
21
|
+
# View template and fixture for each action.
|
|
22
|
+
actions.each do |action|
|
|
23
|
+
relative_path = File.join(file_path, action)
|
|
24
|
+
view_path = File.join('app/views', "#{relative_path}.rhtml")
|
|
25
|
+
fixture_path = File.join('test/fixtures', relative_path)
|
|
26
|
+
|
|
27
|
+
m.template "view.rhtml", view_path,
|
|
28
|
+
:assigns => { :action => action, :path => view_path }
|
|
29
|
+
m.template "fixture.rhtml", fixture_path,
|
|
30
|
+
:assigns => { :action => action, :path => view_path }
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class <%= class_name %> < ActionMailer::Base
|
|
2
|
+
<% for action in actions -%>
|
|
3
|
+
|
|
4
|
+
def <%= action %>(sent_at = Time.now)
|
|
5
|
+
@subject = '<%= class_name %>#<%= action %>'
|
|
6
|
+
@body = {}
|
|
7
|
+
@recipients = ''
|
|
8
|
+
@from = ''
|
|
9
|
+
@sent_on = sent_at
|
|
10
|
+
@headers = {}
|
|
11
|
+
end
|
|
12
|
+
<% end -%>
|
|
13
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../test_helper'
|
|
2
|
+
|
|
3
|
+
class <%= class_name %>Test < Test::Unit::TestCase
|
|
4
|
+
FIXTURES_PATH = File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../fixtures'
|
|
5
|
+
CHARSET = "utf-8"
|
|
6
|
+
|
|
7
|
+
include ActionMailer::Quoting
|
|
8
|
+
|
|
9
|
+
def setup
|
|
10
|
+
ActionMailer::Base.delivery_method = :test
|
|
11
|
+
ActionMailer::Base.perform_deliveries = true
|
|
12
|
+
ActionMailer::Base.deliveries = []
|
|
13
|
+
|
|
14
|
+
@expected = TMail::Mail.new
|
|
15
|
+
@expected.set_content_type "text", "plain", { "charset" => CHARSET }
|
|
16
|
+
@expected.mime_version = '1.0'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
<% for action in actions -%>
|
|
20
|
+
def test_<%= action %>
|
|
21
|
+
@expected.subject = '<%= class_name %>#<%= action %>'
|
|
22
|
+
@expected.body = read_fixture('<%= action %>')
|
|
23
|
+
@expected.date = Time.now
|
|
24
|
+
|
|
25
|
+
assert_equal @expected.encoded, <%= class_name %>.create_<%= action %>(@expected.date).encoded
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
<% end -%>
|
|
29
|
+
private
|
|
30
|
+
def read_fixture(action)
|
|
31
|
+
IO.readlines("#{FIXTURES_PATH}/<%= file_path %>/#{action}")
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def encode(subject)
|
|
35
|
+
quoted_printable(subject, CHARSET)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The migration generator creates a stub for a new database migration.
|
|
3
|
+
|
|
4
|
+
The generator takes a migration name as its argument. The migration name may be
|
|
5
|
+
given in CamelCase or under_score.
|
|
6
|
+
|
|
7
|
+
The generator creates a migration class in db/migrate prefixed by its number
|
|
8
|
+
in the queue.
|
|
9
|
+
|
|
10
|
+
Example:
|
|
11
|
+
./script/generate migration AddSslFlag
|
|
12
|
+
|
|
13
|
+
With 4 existing migrations, this will create an AddSslFlag migration in the
|
|
14
|
+
file db/migrate/005_add_ssl_flag.rb
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The model generator creates stubs for a new model.
|
|
3
|
+
|
|
4
|
+
The generator takes a model name as its argument. The model name may be given in CamelCase or under_score and
|
|
5
|
+
should not be suffixed with 'Model'.
|
|
6
|
+
|
|
7
|
+
As additional parameters, the generator will take attribute pairs described by name and type. These attributes will
|
|
8
|
+
be used to prepopulate the migration to create the table for the model and give you a set of predefined fixture.
|
|
9
|
+
You don't have to think up all attributes up front, but it's a good idea of adding just the baseline of what's
|
|
10
|
+
needed to start really working with the resource.
|
|
11
|
+
|
|
12
|
+
The generator creates a model class in app/models, a test suite in test/unit, test fixtures in
|
|
13
|
+
test/fixtures/singular_name.yml, and a migration in db/migrate.
|
|
14
|
+
|
|
15
|
+
Examples:
|
|
16
|
+
./script/generate model account
|
|
17
|
+
|
|
18
|
+
This will create an Account model:
|
|
19
|
+
Model: app/models/account.rb
|
|
20
|
+
Test: test/unit/account_test.rb
|
|
21
|
+
Fixtures: test/fixtures/accounts.yml
|
|
22
|
+
Migration: db/migrate/XXX_add_accounts.rb
|
|
23
|
+
|
|
24
|
+
./script/generate model post title:string created_on:date body:text published:boolean
|
|
25
|
+
|
|
26
|
+
Creates post model with predefined attributes.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
class ModelGenerator < Rails::Generator::NamedBase
|
|
2
|
+
default_options :skip_migration => false
|
|
3
|
+
|
|
4
|
+
def manifest
|
|
5
|
+
record do |m|
|
|
6
|
+
# Check for class naming collisions.
|
|
7
|
+
m.class_collisions class_path, class_name, "#{class_name}Test"
|
|
8
|
+
|
|
9
|
+
# Model, test, and fixture directories.
|
|
10
|
+
m.directory File.join('app/models', class_path)
|
|
11
|
+
m.directory File.join('test/unit', class_path)
|
|
12
|
+
m.directory File.join('test/fixtures', class_path)
|
|
13
|
+
|
|
14
|
+
# Model class, unit test, and fixtures.
|
|
15
|
+
m.template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
|
|
16
|
+
m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_test.rb")
|
|
17
|
+
m.template 'fixtures.yml', File.join('test/fixtures', class_path, "#{table_name}.yml")
|
|
18
|
+
|
|
19
|
+
unless options[:skip_migration]
|
|
20
|
+
m.migration_template 'migration.rb', 'db/migrate', :assigns => {
|
|
21
|
+
:migration_name => "Create#{class_name.pluralize.gsub(/::/, '')}"
|
|
22
|
+
}, :migration_file_name => "create_#{file_path.gsub(/\//, '_').pluralize}"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
protected
|
|
28
|
+
def banner
|
|
29
|
+
"Usage: #{$0} generate ModelName [field:type, field:type]"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def add_options!(opt)
|
|
33
|
+
opt.separator ''
|
|
34
|
+
opt.separator 'Options:'
|
|
35
|
+
opt.on("--skip-migration",
|
|
36
|
+
"Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
|
2
|
+
one:
|
|
3
|
+
id: 1
|
|
4
|
+
<% for attribute in attributes -%>
|
|
5
|
+
<%= attribute.name %>: <%= attribute.default %>
|
|
6
|
+
<% end -%>
|
|
7
|
+
two:
|
|
8
|
+
id: 2
|
|
9
|
+
<% for attribute in attributes -%>
|
|
10
|
+
<%= attribute.name %>: <%= attribute.default %>
|
|
11
|
+
<% end -%>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class <%= migration_name %> < ActiveRecord::Migration
|
|
2
|
+
def self.up
|
|
3
|
+
create_table :<%= table_name %> do |t|
|
|
4
|
+
<% for attribute in attributes -%>
|
|
5
|
+
t.column :<%= attribute.name %>, :<%= attribute.type %>
|
|
6
|
+
<% end -%>
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.down
|
|
11
|
+
drop_table :<%= table_name %>
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The observer generator creates stubs for a new observer.
|
|
3
|
+
|
|
4
|
+
The generator takes a observer name as its argument. The observer name may be
|
|
5
|
+
given in CamelCase or under_score and should not be suffixed with 'Observer'.
|
|
6
|
+
|
|
7
|
+
The generator creates a observer class in app/models and a test suite in
|
|
8
|
+
test/unit.
|
|
9
|
+
|
|
10
|
+
Example:
|
|
11
|
+
./script/generate observer Account
|
|
12
|
+
|
|
13
|
+
This will create an Account observer:
|
|
14
|
+
Observer: app/models/account_observer.rb
|
|
15
|
+
Test: test/unit/account_observer_test.rb
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class ObserverGenerator < Rails::Generator::NamedBase
|
|
2
|
+
def manifest
|
|
3
|
+
record do |m|
|
|
4
|
+
# Check for class naming collisions.
|
|
5
|
+
m.class_collisions class_path, "#{class_name}Observer", "#{class_name}ObserverTest"
|
|
6
|
+
|
|
7
|
+
# Observer, and test directories.
|
|
8
|
+
m.directory File.join('app/models', class_path)
|
|
9
|
+
m.directory File.join('test/unit', class_path)
|
|
10
|
+
|
|
11
|
+
# Observer class and unit test fixtures.
|
|
12
|
+
m.template 'observer.rb', File.join('app/models', class_path, "#{file_name}_observer.rb")
|
|
13
|
+
m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_observer_test.rb")
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../test_helper'
|
|
2
|
+
|
|
3
|
+
class <%= class_name %>ObserverTest < Test::Unit::TestCase
|
|
4
|
+
fixtures :<%= table_name %>
|
|
5
|
+
|
|
6
|
+
# Replace this with your real tests.
|
|
7
|
+
def test_truth
|
|
8
|
+
assert true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
The plugin generator creates stubs for a new plugin.
|
|
3
|
+
|
|
4
|
+
The generator takes a plugin name as its argument. The plugin name may be
|
|
5
|
+
given in CamelCase or under_score and should not be suffixed with 'Plugin'.
|
|
6
|
+
|
|
7
|
+
The generator creates a plugin directory in vendor/plugins that includes
|
|
8
|
+
both init.rb and README files as well as lib, task, and test directories.
|
|
9
|
+
|
|
10
|
+
It's also possible to generate stub files for a generator to go with the
|
|
11
|
+
plugin by using --with-generator
|
|
12
|
+
|
|
13
|
+
Example:
|
|
14
|
+
./script/generate plugin BrowserFilters
|
|
15
|
+
|
|
16
|
+
This will create:
|
|
17
|
+
vendor/plugins/browser_filters/README
|
|
18
|
+
vendor/plugins/browser_filters/init.rb
|
|
19
|
+
vendor/plugins/browser_filters/install.rb
|
|
20
|
+
vendor/plugins/browser_filters/lib/browser_filters.rb
|
|
21
|
+
vendor/plugins/browser_filters/test/browser_filters_test.rb
|
|
22
|
+
vendor/plugins/browser_filters/tasks/browser_filters_tasks.rake
|
|
23
|
+
|
|
24
|
+
./script/generate plugin BrowserFilters --with-generator
|
|
25
|
+
|
|
26
|
+
This will create:
|
|
27
|
+
vendor/plugins/browser_filters/README
|
|
28
|
+
vendor/plugins/browser_filters/init.rb
|
|
29
|
+
vendor/plugins/browser_filters/install.rb
|
|
30
|
+
vendor/plugins/browser_filters/lib/browser_filters.rb
|
|
31
|
+
vendor/plugins/browser_filters/test/browser_filters_test.rb
|
|
32
|
+
vendor/plugins/browser_filters/tasks/browser_filters_tasks.rake
|
|
33
|
+
vendor/plugins/browser_filters/generators/browser_filters/browser_filters_generator.rb
|
|
34
|
+
vendor/plugins/browser_filters/generators/browser_filters/USAGE
|
|
35
|
+
vendor/plugins/browser_filters/generators/browser_filters/templates/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
class PluginGenerator < Rails::Generator::NamedBase
|
|
2
|
+
attr_reader :plugin_path
|
|
3
|
+
|
|
4
|
+
def initialize(runtime_args, runtime_options = {})
|
|
5
|
+
@with_generator = runtime_args.delete("--with-generator")
|
|
6
|
+
super
|
|
7
|
+
@plugin_path = "vendor/plugins/#{file_name}"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def manifest
|
|
11
|
+
record do |m|
|
|
12
|
+
# Check for class naming collisions.
|
|
13
|
+
m.class_collisions class_path, class_name
|
|
14
|
+
|
|
15
|
+
m.directory "#{plugin_path}/lib"
|
|
16
|
+
m.directory "#{plugin_path}/tasks"
|
|
17
|
+
m.directory "#{plugin_path}/test"
|
|
18
|
+
|
|
19
|
+
m.template 'README', "#{plugin_path}/README"
|
|
20
|
+
m.template 'Rakefile', "#{plugin_path}/Rakefile"
|
|
21
|
+
m.template 'init.rb', "#{plugin_path}/init.rb"
|
|
22
|
+
m.template 'install.rb', "#{plugin_path}/install.rb"
|
|
23
|
+
m.template 'uninstall.rb', "#{plugin_path}/uninstall.rb"
|
|
24
|
+
m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb"
|
|
25
|
+
m.template 'tasks.rake', "#{plugin_path}/tasks/#{file_name}_tasks.rake"
|
|
26
|
+
m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb"
|
|
27
|
+
|
|
28
|
+
if @with_generator
|
|
29
|
+
m.directory "#{plugin_path}/generators"
|
|
30
|
+
m.directory "#{plugin_path}/generators/#{file_name}"
|
|
31
|
+
m.directory "#{plugin_path}/generators/#{file_name}/templates"
|
|
32
|
+
|
|
33
|
+
m.template 'generator.rb', "#{plugin_path}/generators/#{file_name}/#{file_name}_generator.rb"
|
|
34
|
+
m.template 'USAGE', "#{plugin_path}/generators/#{file_name}/USAGE"
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|