私は次の設定をしています:
アプリ/モデル/my_module/service.rb
module MyModule
class Service < ActiveRecord::Base
def self.types
self.subclasses
end
def self.raw_types
self.types.map { |c| c.name.split("::").last }
end
end
end
require_dependency "my_module/service/rack"
require_dependency "my_module/service/rails"
require_dependency "my_module/service/sinatra"
アプリ/モデル/my_module/service/rack.rb:
module MyModule
class Service::Rack < Service
end
end
アプリ/モデル/my_module/service/rails.rb:
module MyModule
class Service::Rails < Service
end
end
アプリ/モデル/my_module/service/sinatra.rb:
module MyModule
class Service::Sinatra < Service
end
end
これまでのところうまくいきますが、今私の質問:
これらの 3 行を追加する必要がある理由:
require_dependency "my_module/service/rack"
require_dependency "my_module/service/rails"
require_dependency "my_module/service/sinatra"
私のservice.rbファイルに?
3行を追加しない場合:
MyModule::Service.raw_types
=> []
3行を追加すると:
MyModule::Service.raw_types
=> ["Rack", "Rails", "Sinatra"]
誰でもアイデアはありますか?
ところで:私はRuby 2.0.0-preview1、Rails 4.0.0.rc1を使用し、新しいRailsエンジンを作成します
rails plugin new MyModule