Skip to content

Commit ecf2d69

Browse files
committed
添加了devise、policy和omniauth的一些配置
1 parent 8bc3d5c commit ecf2d69

22 files changed

Lines changed: 807 additions & 359 deletions

Gemfile

Lines changed: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ gem 'jbuilder', '~> 2.5'
3434
# Use ActiveModel has_secure_password
3535
gem 'bcrypt', '~> 3.1.7'
3636

37+
# 处理跨域问题
38+
# gem 'rack-cors'
39+
3740
# Use ActiveStorage variant
3841
# gem 'mini_magick', '~> 4.8'
3942

@@ -103,8 +106,8 @@ gem 'bootstrap', '~> 4.3.0'
103106
# 监控 数据库、redis、Cache、Sidekiq、Resque的状态的工具。
104107
# gem 'status-page'
105108

106-
# grape 可以帮助我们快速的构建和 Rails 完美融合的 API 接口
107-
gem 'grape'
109+
# paper_trail 跟踪对模型的更改,以进行审核或版本控制
110+
# gem 'paper_trail'
108111

109112
# elasticsearch中的apm瓶颈监控工具
110113
# gem 'elastic-apm'
@@ -113,8 +116,14 @@ gem 'grape'
113116
#
114117
# gem 'searchkick'
115118

119+
# 用户系统
120+
gem "devise"
121+
gem "devise-encryptable"
122+
116123
# 可以为我们的应用加入操作权限控制。
117124
gem "pundit"
125+
# 搭配devise、pundit使用,添加role对权限更加精细化的操作,比如实现RBAC权限管理。
126+
gem "rolify"
118127
# 权限管理这一块或者可以使用下面的这个
119128
# gem "cancancan"
120129

@@ -123,19 +132,32 @@ gem "omniauth"
123132
gem "omniauth-github"
124133
gem "omniauth-wechat-oauth2"
125134

135+
# 使用JWT实现Token认证
136+
gem 'jwt', '~> 2.1'
137+
138+
# grape 可以帮助我们快速的构建和 Rails 完美融合的 API 接口。
139+
gem 'grape'
140+
gem 'grape-entity'
141+
gem 'grape-swagger'
142+
gem 'grape-swagger-entity'
143+
gem 'grape-swagger-rails'
144+
gem 'grape_logging'
145+
gem 'grape_on_rails_routes'
146+
147+
# GraphQL一种用于 API 的查询语言
148+
gem 'graphql', '~> 1.9'
149+
126150
# 邮件服务
127151
# gem "postmark"
128152
# gem "postmark-rails"
129153

130-
# 用户系统
131-
gem "devise"
132-
gem "devise-encryptable"
133-
134154
# 拒绝低版本浏览器的访问,并给其返回一个让其升级的页面。
135155
# gem 'browser_warrior', '>= 0.8.0'
136156

137-
# 异常监控
157+
# 异常监控通知
138158
# gem 'exception_notification'
159+
# 在后台管理页面显示异常信息
160+
# gem 'exception-track'
139161
# gem 'slack-notifier'
140162

141163
# RPC远程过程调用
@@ -157,9 +179,23 @@ gem "devise-encryptable"
157179

158180
# 一个使用 Ruby 连接和操作 RabbitMQ 的客户端
159181
# gem "bunny", ">= 2.14.1"
160-
# 业务通过 Bunny 在 Rails 中简易、快速地生产发布了消息,就需要有消费者来接收和消费消息,Sneakers 是一个处理 RabbitMQ 消息队列的高性能 Ruby 框架
182+
# 业务通过 Bunny 在 Rails 中简易、快速地生产发布了消息,就需要有消费者来接收和消费消息,
183+
# Sneakers 是一个处理 RabbitMQ 消息队列的高性能 Ruby 框架
161184
# gem 'sneakers'
162185

186+
# aasm ruby类的状态机(支持普通Ruby,ActiveRecord,Mongoid)
187+
# gem 'aasm'
188+
189+
# 一些使用rack协议编写的小工具。
190+
gem "rack-contrib"
191+
192+
# 保护你的应用免收不良客户端的请求的拦截器。
193+
gem "rack-attack"
194+
195+
# bugsnageRuby的Bugsnag异常报告器会立即通知您从Rails,Sinatra,Rack或纯Ruby应用程序引发的异常。
196+
# 任何未捕获的异常都会触发通知,该通知将发送到您的Bugsnag项目。
197+
gem "bugsnag", "~> 6.12"
198+
gem "uniform_notifier"
163199

164200
group :development, :test do
165201
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
@@ -169,6 +205,21 @@ group :development, :test do
169205
gem 'letter_opener'
170206

171207
gem 'factory_bot_rails'
208+
209+
# BDD 行为驱动开发
210+
# gem 'cucumber'
211+
# gem 'cucumber-rails', require: false
212+
# gem 'cucumber-api-steps', require: false
213+
214+
# faker生成伪数据。
215+
# gem 'faker'
216+
217+
# 一个提供“时间旅行”和“时间冻结”功能的gem,使测试依赖于时间的代码变得非常简单。它提供了
218+
# 一个统一的方法,可以在单个调用中模拟Time.now,Date.today和DateTime.now。
219+
# gem 'timecop'
220+
221+
# 生成文档工具
222+
# gem 'sdoc'
172223
end
173224

174225
group :development do
@@ -206,8 +257,10 @@ group :development do
206257
gem 'rubycritic', require: false
207258

208259
# 代码风格指南工具。具体使用,在根目录输入命令 rubocop -h 查看即可。 rubocop ./config/deploy
209-
gem 'rubocop', '~> 0.58.2', require: false
210-
gem 'rubocop-rspec', '~> 1.29', require: false
260+
gem 'rubocop', '~> 0.81.0', require: false
261+
gem 'rubocop-rspec', require: false
262+
gem 'rubocop-performance'
263+
gem 'rubocop-rails', require: false
211264

212265
# 检测你的gem使用情况。命令: bundle exec derailed bundle:mem 使用derailed -h查看可用命令
213266
gem 'derailed'
@@ -235,6 +288,15 @@ group :development do
235288

236289
# 帮助解决rails的N+1问题
237290
gem "bullet"
291+
292+
# 在Rails应用程序中安装GraphiQL查询编辑器
293+
# gem 'graphiql-rails', '~> 1.7.0'
294+
295+
# 在日志中写入请求源信息
296+
gem 'active_record_query_trace'
297+
298+
# 在应用的每个页面底部显示请求信息,并链接到源码(可通过 TextMate 打开);
299+
# gem 'rails-footnotes', '~> 4.0'
238300
end
239301

240302
group :test do
@@ -250,8 +312,6 @@ group :test do
250312
gem 'database_cleaner'
251313

252314
gem 'launchy'
253-
# 提供“时间旅行”和“时间冻结”功能的gem,使测试依赖时间的代码变得非常简单。
254-
gem 'timecop'
255315

256316
# 配置测试需要的数据
257317
gem 'webmock'
@@ -263,6 +323,7 @@ group :test do
263323
gem 'rspec-mocks'
264324
gem 'rspec-rails'
265325
gem 'rspec-support'
326+
gem 'rspec-sidekiq'
266327

267328
# 生成虚假数据
268329
gem "faker"

0 commit comments

Comments
 (0)