PaperTrail Association Tracking 使用教程
1、项目的目录结构及介绍
paper_trail-association_tracking/
├── appraisals
├── bin
├──CHANGELOG.md
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── paper_trail-association_tracking.gemspec
├── README.md
├── Rakefile
├── lib
│ ├── paper_trail-association_tracking
│ │ ├── version.rb
│ │ └── ...
│ └── ...
├── spec
│ ├── spec_helper.rb
│ └── ...
└── ...
- appraisals: 包含用于测试不同版本的 PaperTrail 和 ActiveRecord 的配置文件。
- bin: 包含项目的可执行文件。
- CHANGELOG.md: 项目的更新日志。
- Gemfile: 项目的依赖管理文件。
- Gemfile.lock: 依赖的具体版本锁定文件。
- LICENSE: 项目的许可证文件。
- paper_trail-association_tracking.gemspec: 项目的 gemspec 文件,包含 gem 的元数据和依赖。
- README.md: 项目的说明文档。
- Rakefile: 项目的 Rake 任务配置文件。
- lib: 包含项目的主要代码。
- paper_trail-association_tracking: 包含项目的核心代码。
- version.rb: 项目的版本定义文件。
- paper_trail-association_tracking: 包含项目的核心代码。
- spec: 包含项目的测试代码。
- spec_helper.rb: 测试的辅助配置文件。
2、项目的启动文件介绍
项目的启动文件主要是 lib/paper_trail-association_tracking.rb
,该文件负责加载项目的核心功能。
# lib/paper_trail-association_tracking.rb
require 'paper_trail'
require 'paper_trail/association_tracking'
module PaperTrail
module AssociationTracking
end
end
该文件引入了 paper_trail
和 paper_trail/association_tracking
模块,并定义了 PaperTrail::AssociationTracking
模块。
3、项目的配置文件介绍
项目的配置文件主要是 paper_trail-association_tracking.gemspec
,该文件包含了 gem 的元数据和依赖。
# paper_trail-association_tracking.gemspec
Gem::Specification.new do |s|
s.name = 'paper_trail-association_tracking'
s.version = '1.0.0'
s.date = '2018-06-05'
s.summary = "Plugin for the PaperTrail gem to track and reify associations"
s.description = "This gem was extracted from PaperTrail for v9.2.0 to simplify things in PaperTrail and allow for association tracking separately."
s.authors = ["Weston Ganger"]
s.email = 'weston@westonganger.com'
s.files = Dir.glob("{lib,spec}/**/*") + %w[LICENSE README.md CHANGELOG.md]
s.homepage = 'https://github.com/westonganger/paper_trail-association_tracking'
s.license = 'MIT'
s.add_runtime_dependency 'paper_trail', '>= 9.0'
s.add_development_dependency 'appraisal', '~> 2.2'
s.add_development_dependency 'byebug', '~> 9.1'
s.add_development_dependency 'ffaker', '~> 2.7'
s.add_development_dependency 'generator_spec', '~> 0.9.4'
s.add_development_dependency 'mysql2', '~> 0.4.10'
s.add_development_dependency 'pg', '~> 0.21.0'
s.add_development_dependency 'rack-test', '< 0.9', '>= 0.6.3'
s.add_development_dependency 'rake', '~> 12.3'
s.add_development_dependency 'rspec-rails', '~> 3.7.2'
s.add_development_dependency 'rubocop', '~> 0.51.0'
s.add_development_dependency