TodoList: ユーザ認証のプラグイン2006年12月05日 11時10分25秒

TodoList を複数の人達で、使えるようにしたい。それには認証も必要になる。

以前に試した login_engine 前編後編user_engine の試用 を元に作業する。

yes | ruby script/plugin discover を実行して、プラグインを使えるようにする。その後、engines、login_engine、user_engine をインストールする。


% ruby script/plugin install engines
+ ./engines/CHANGELOG
+ ./engines/MIT-LICENSE
+ ./engines/README
+ ./engines/generators/engine/USAGE
+ ./engines/generators/engine/engine_generator.rb
+ ./engines/generators/engine/templates/README
+ ./engines/generators/engine/templates/init_engine.erb
+ ./engines/generators/engine/templates/install.erb
+ ./engines/generators/engine/templates/lib/engine.erb
+ ./engines/generators/engine/templates/licenses/GPL
+ ./engines/generators/engine/templates/licenses/LGPL
+ ./engines/generators/engine/templates/licenses/MIT
+ ./engines/generators/engine/templates/licenses/None
+ ./engines/generators/engine/templates/public/javascripts/engine.js
+ ./engines/generators/engine/templates/public/stylesheets/engine.css
+ ./engines/generators/engine/templates/tasks/engine.rake
+ ./engines/generators/engine/templates/test/test_helper.erb
+ ./engines/init.rb
+ ./engines/lib/bundles/require_resource.rb
+ ./engines/lib/bundles.rb
+ ./engines/lib/engines/action_mailer_extensions.rb
+ ./engines/lib/engines/action_view_extensions.rb
+ ./engines/lib/engines/active_record_extensions.rb
+ ./engines/lib/engines/dependencies_extensions.rb
+ ./engines/lib/engines/migration_extensions.rb
+ ./engines/lib/engines/routing_extensions.rb
+ ./engines/lib/engines/ruby_extensions.rb
+ ./engines/lib/engines/testing_extensions.rb
+ ./engines/lib/engines.rb
+ ./engines/tasks/deprecated_engines.rake
+ ./engines/tasks/engines.rake
+ ./engines/test/action_view_extensions_test.rb
+ ./engines/test/ruby_extensions_test.rb
% ruby script/plugin install login_engine
+ ./login_engine/CHANGELOG
+ ./login_engine/README
+ ./login_engine/app/controllers/user_controller.rb
+ ./login_engine/app/helpers/user_helper.rb
+ ./login_engine/app/models/user.rb
+ ./login_engine/app/models/user_notify.rb
+ ./login_engine/app/views/user/_edit.rhtml
+ ./login_engine/app/views/user/_password.rhtml
+ ./login_engine/app/views/user/change_password.rhtml
+ ./login_engine/app/views/user/edit.rhtml
+ ./login_engine/app/views/user/forgot_password.rhtml
+ ./login_engine/app/views/user/home.rhtml
+ ./login_engine/app/views/user/login.rhtml
+ ./login_engine/app/views/user/logout.rhtml
+ ./login_engine/app/views/user/signup.rhtml
+ ./login_engine/app/views/user_notify/change_password.rhtml
+ ./login_engine/app/views/user_notify/delete.rhtml
+ ./login_engine/app/views/user_notify/forgot_password.rhtml
+ ./login_engine/app/views/user_notify/pending_delete.rhtml
+ ./login_engine/app/views/user_notify/signup.rhtml
+ ./login_engine/db/migrate/001_initial_schema.rb
+ ./login_engine/install.rb
+ ./login_engine/lib/login_engine/authenticated_system.rb
+ ./login_engine/lib/login_engine/authenticated_user.rb
+ ./login_engine/lib/login_engine.rb
+ ./login_engine/public/stylesheets/login_engine.css
+ ./login_engine/test/fixtures/users.yml
+ ./login_engine/test/functional/user_controller_test.rb
+ ./login_engine/test/mocks/mail.rb
+ ./login_engine/test/mocks/time.rb
+ ./login_engine/test/test_helper.rb
+ ./login_engine/test/unit/user_test.rb
% ruby script/plugin install user_engine
+ ./user_engine/README
+ ./user_engine/app/controllers/permission_controller.rb
+ ./user_engine/app/controllers/role_controller.rb
+ ./user_engine/app/controllers/user_controller.rb
+ ./user_engine/app/helpers/permission_helper.rb
+ ./user_engine/app/helpers/role_helper.rb
+ ./user_engine/app/models/permission.rb
+ ./user_engine/app/models/role.rb
+ ./user_engine/app/models/user.rb
+ ./user_engine/app/views/permission/_form.rhtml
+ ./user_engine/app/views/permission/edit.rhtml
+ ./user_engine/app/views/permission/list.rhtml
+ ./user_engine/app/views/role/new.rhtml
+ ./user_engine/app/views/role/show.rhtml
+ ./user_engine/app/views/user/_roles.rhtml
+ ./user_engine/app/views/user/edit_user.rhtml
+ ./user_engine/app/views/user/list.rhtml
+ ./user_engine/app/views/user/new.rhtml
+ ./user_engine/app/views/user/show.rhtml
+ ./user_engine/db/migrate/001_initial_schema.rb
+ ./user_engine/db/migrate/002_added_omnipotent_flag_to_roles.rb
+ ./user_engine/db/migrate/003_added_system_roles.rb
+ ./user_engine/db/schema.rb
+ ./user_engine/init_engine.rb
+ ./user_engine/lib/user_engine/authorized_system.rb
+ ./user_engine/lib/user_engine/authorized_user.rb
+ ./user_engine/lib/user_engine.rb
+ ./user_engine/public/javascripts/user_engine.js
+ ./user_engine/public/stylesheets/user_engine.css
+ ./user_engine/tasks/user_engine.rake
+ ./user_engine/test/fixtures/permissions.yml
+ ./user_engine/test/fixtures/permissions_roles.yml
+ ./user_engine/test/fixtures/roles.yml
+ ./user_engine/test/fixtures/users.yml
+ ./user_engine/test/fixtures/users_roles.yml
+ ./user_engine/test/functional/permission_controller_test.rb
+ ./user_engine/test/functional/role_controller_test.rb
+ ./user_engine/test/functional/user_controller_test.rb
+ ./user_engine/test/test_helper.rb
+ ./user_engine/test/unit/permission_test.rb
+ ./user_engine/test/unit/role_test.rb
+ ./user_engine/test/unit/user_test.rb

とても出力が長くなってしまった。しかし、ある程度、rails で試行錯誤してみた後だと、これらのファイル群が何をするのかも、微妙に見当が付く。そう言った意味でも、今回はここに全て写してみた。

前回次回