pluck_all 项目教程
1. 项目的目录结构及介绍
pluck_all/
├── bin/
│ └── setup
├── gemfiles/
├── lib/
│ ├── pluck_all/
│ │ ├── version.rb
│ │ └── ...
│ └── pluck_all.rb
├── test/
│ ├── test_active_record.rb
│ ├── test_mongoid.rb
│ └── ...
├── .gitignore
├── .rubocop.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── LICENSE.txt
├── README.md
├── Rakefile
└── pluck_all.gemspec
bin/
: 包含项目设置脚本。gemfiles/
: 包含不同版本的 Gemfile。lib/
: 包含项目的主要代码。pluck_all/
: 包含项目的核心文件。version.rb
: 定义项目版本。
pluck_all.rb
: 项目的主文件。
test/
: 包含测试文件。test_active_record.rb
: ActiveRecord 测试文件。test_mongoid.rb
: Mongoid 测试文件。
.gitignore
: Git 忽略文件。.rubocop.yml
: RuboCop 配置文件。CHANGELOG.md
: 变更日志。CODE_OF_CONDUCT.md
: 行为准则。LICENSE.txt
: 许可证。README.md
: 项目说明文档。Rakefile
: Rake 任务文件。pluck_all.gemspec
: Gem 规范文件。
2. 项目的启动文件介绍
项目的启动文件是 lib/pluck_all.rb
。这个文件负责加载项目所需的所有依赖和模块,并初始化项目。
require 'pluck_all/version'
require 'pluck_all/pluck_all'
require 'pluck_all/active_record_extension'
require 'pluck_all/mongoid_extension'
module PluckAll
# 项目初始化代码
end
3. 项目的配置文件介绍
项目的配置文件主要包括 .rubocop.yml
和 pluck_all.gemspec
。
.rubocop.yml
: 用于配置 RuboCop 代码风格检查工具的规则。
inherit_from: .rubocop_todo.yml
AllCops:
Exclude:
- 'bin/**/*'
- 'gemfiles/**/*'
- 'test/**/*'
pluck_all.gemspec
: 定义 Gem 的元数据和依赖。
Gem::Specification.new do |spec|
spec.name = 'pluck_all'
spec.version = PluckAll::VERSION
spec.authors = ['khiav reoy']
spec.email = ['mrtmrt15xn@yahoo.com.tw']
spec.summary = 'Pluck multiple columns/attributes in Rails 3, 4, 5, 6, and can return data as hash instead of only array. Also supports Mongoid.'
spec.description = 'A more efficient way to get data from database. Like #pluck method but return array of hashes instead.'
spec.homepage = 'https://github.com/khiav223577/pluck_all'
spec.license = 'MIT'
spec.files = `git ls-files -z`.split("\x0")
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ['lib']
spec.add_dependency 'activerecord', '>= 3'
spec.add_development_dependency 'bundler', '~> 1.11'
spec.add_development_dependency 'minitest', '~> 5.0'
spec.add_development_dependency 'rake', '~> 10.0'
end
以上是 `pluck_