Interactor-Rails 项目教程
1. 项目的目录结构及介绍
Interactor-Rails 项目的目录结构如下:
interactor-rails/
├── Gemfile
├── Gemfile.lock
├── LICENSE.txt
├── README.md
├── Rakefile
├── interactor-rails.gemspec
├── lib
│ ├── interactor
│ │ ├── rails
│ │ │ ├── engine.rb
│ │ │ ├── railtie.rb
│ │ │ └── version.rb
│ │ └── rails.rb
│ └── interactor-rails.rb
└── spec
├── interactor
│ └── rails_spec.rb
└── spec_helper.rb
目录结构介绍
Gemfile
和Gemfile.lock
:定义了项目的依赖关系。LICENSE.txt
:项目的许可证文件。README.md
:项目的说明文档。Rakefile
:用于定义 Rake 任务。interactor-rails.gemspec
:gem 的规范文件。lib/
:包含项目的主要代码。interactor/
:Interactor 的核心代码。rails/
:为 Rails 提供支持的代码。engine.rb
:Rails 引擎的定义。railtie.rb
:Rails 的 Railtie 定义。version.rb
:版本定义。
rails.rb
:Interactor 的 Rails 支持入口。
interactor-rails.rb
:项目的入口文件。
spec/
:包含项目的测试代码。interactor/
:Interactor 的测试代码。spec_helper.rb
:测试辅助文件。
2. 项目的启动文件介绍
Interactor-Rails 项目的启动文件主要位于 lib/interactor/rails/
目录下:
engine.rb
:定义了 Rails 引擎,用于在 Rails 应用中加载 Interactor。railtie.rb
:定义了 Railtie,用于在 Rails 应用启动时加载 Interactor 的相关配置。
启动文件介绍
-
engine.rb
:module Interactor::Rails class Engine < ::Rails::Engine initializer "interactor-rails.setup" do ActiveSupport.on_load(:action_controller) do include Interactor::Rails::Controller end end end end
-
railtie.rb
:module Interactor::Rails class Railtie < ::Rails::Railtie config.interactor = ActiveSupport::OrderedOptions.new initializer "interactor-rails.setup" do ActiveSupport.on_load(:action_controller) do include Interactor::Rails::Controller end end end end
3. 项目的配置文件介绍
Interactor-Rails 项目的配置文件主要位于 lib/interactor/rails/
目录下:
version.rb
:定义了 Interactor-Rails 的版本号。
配置文件介绍
version.rb
:module Interactor module Rails VERSION = "3.0.0" end end
通过这些配置文件,可以确保 Interactor 在 Rails 应用中正确加载和运行。