Sequel-ActiveRecordConnection 项目教程
1. 项目的目录结构及介绍
sequel-activerecord_connection/
├── lib/
│ ├── sequel/
│ │ └── activerecord_connection.rb
│ └── sequel-activerecord_connection.rb
├── spec/
│ ├── activerecord_connection_spec.rb
│ └── spec_helper.rb
├── .gitignore
├── .rspec
├── .travis.yml
├── Gemfile
├── LICENSE
├── README.md
└── sequel-activerecord_connection.gemspec
- lib/: 包含项目的主要代码文件。
- sequel/activerecord_connection.rb: 实现 Sequel 与 ActiveRecord 连接的核心逻辑。
- sequel-activerecord_connection.rb: 项目的主文件,负责加载扩展。
- spec/: 包含项目的测试文件。
- activerecord_connection_spec.rb: 针对
activerecord_connection
扩展的测试。 - spec_helper.rb: 测试辅助文件。
- activerecord_connection_spec.rb: 针对
- .gitignore: Git 忽略文件列表。
- .rspec: RSpec 配置文件。
- .travis.yml: Travis CI 配置文件。
- Gemfile: 项目依赖的 Gem 文件。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- sequel-activerecord_connection.gemspec: Gem 规范文件。
2. 项目的启动文件介绍
项目的启动文件是 lib/sequel-activerecord_connection.rb
,该文件负责加载 sequel/activerecord_connection
扩展,使得 Sequel 能够使用 ActiveRecord 的数据库连接。
# lib/sequel-activerecord_connection.rb
require "sequel"
require "sequel/extensions/activerecord_connection"
3. 项目的配置文件介绍
项目的配置文件主要是 sequel-activerecord_connection.gemspec
,该文件定义了 Gem 的元数据和依赖项。
# sequel-activerecord_connection.gemspec
Gem::Specification.new do |spec|
spec.name = "sequel-activerecord_connection"
spec.version = "1.4.1"
spec.authors = ["Janko Marohnić"]
spec.email = ["janko.marohnic@gmail.com"]
spec.summary = "Allows Sequel to use ActiveRecord connection for database interaction"
spec.description = "Allows Sequel to use ActiveRecord connection for database interaction"
spec.homepage = "https://github.com/janko/sequel-activerecord_connection"
spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0")
spec.require_paths = ["lib"]
spec.add_dependency "activerecord", ">= 5.0", "< 8"
spec.add_dependency "after_commit_everywhere", "~> 1.1"
spec.add_dependency "sequel", "~> 5.38"
spec.add_development_dependency "minitest", ">= 0"
spec.add_development_dependency "sequel_pg", ">= 0"
spec.add_development_dependency "warning", ">= 0"
end
该文件指定了项目的名称、版本、作者、依赖项等信息,并定义了开发依赖项。