1
0
Fork 0
mirror of https://github.com/varvet/pundit.git synced 2022-11-09 12:30:11 -05:00

Travis build change: Fix build, use latest JRuby

- Lint only 1 time, on modern Ruby
This commit is contained in:
Olle Jonsson 2017-03-17 17:31:58 +01:00 committed by Thomas Klemm
parent 0e3a11cf3e
commit f60d059df9
8 changed files with 67 additions and 26 deletions

View file

@ -1,14 +1,23 @@
inherit_from: .rubocop_todo.yml
AllCops: AllCops:
DisplayCopNames: true
TargetRubyVersion: 1.9
Exclude: Exclude:
- "gemfiles/**/*" - "gemfiles/**/*"
- "vendor/**/*" - "vendor/**/*"
- "lib/generators/**/*" - "lib/generators/**/*"
Metrics/BlockLength:
Exclude:
- "**/*_spec.rb"
Metrics/MethodLength: Metrics/MethodLength:
Max: 40 Max: 40
Metrics/ModuleLength: Metrics/ModuleLength:
Max: 200 Max: 200
Exclude:
- "**/*_spec.rb"
Metrics/LineLength: Metrics/LineLength:
Max: 120 Max: 120
@ -50,7 +59,7 @@ Documentation:
Enabled: false # TODO: Enable again once we have more docs Enabled: false # TODO: Enable again once we have more docs
Style/CaseIndentation: Style/CaseIndentation:
IndentWhenRelativeTo: case EnforcedStyle: case
SupportedStyles: SupportedStyles:
- case - case
- end - end
@ -74,7 +83,7 @@ Style/TrivialAccessors:
ExactNameMatch: true ExactNameMatch: true
Lint/EndAlignment: Lint/EndAlignment:
AlignWith: variable EnforcedStyleAlignWith: variable
Lint/DefEndAlignment: Lint/DefEndAlignment:
Enabled: false Enabled: false

13
.rubocop_todo.yml Normal file
View file

@ -0,0 +1,13 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2016-12-06 09:57:39 +0100 using RuboCop version 0.41.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# Offense count: 1
# Cop supports --auto-correct.
Lint/UnneededDisable:
Exclude:
- 'lib/pundit/rspec.rb'

View file

@ -1,12 +1,20 @@
language: ruby language: ruby
sudo: false sudo: false
rvm: before_install:
- 2.0.0 - gem update --system
- 2.1 - gem install bundler
- 2.2
- 2.3.0 matrix:
- jruby-19mode include:
- rbx-2 - rvm: 2.4.0
env: script: bundle exec rake rubocop # ONLY lint once, first
- RSPEC_VERSION="<2.99" - rvm: 2.1
- RSPEC_VERSION="~>3.0 - rvm: 2.2
- rvm: 2.3.3
- rvm: 2.4.0
- rvm: jruby-1.7.26
env:
- JRUBY_OPTS="--debug"
- rvm: jruby-9.1.8.0
env:
- JRUBY_OPTS="--debug"

14
Gemfile
View file

@ -1,4 +1,16 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "rspec", ENV["RSPEC_VERSION"] unless ENV["RSPEC_VERSION"].to_s.empty? ruby RUBY_VERSION
gemspec gemspec
group :development, :test do
gem "actionpack"
gem "activemodel"
gem "bundler"
gem "pry"
gem "rake"
gem "rspec"
gem "rubocop"
gem "yard"
end

View file

@ -16,4 +16,3 @@ YARD::Rake::YardocTask.new do |t|
end end
task default: :spec task default: :spec
task default: :rubocop unless RUBY_ENGINE == "rbx"

View file

@ -5,6 +5,7 @@ module Pundit
module Matchers module Matchers
extend ::RSpec::Matchers::DSL extend ::RSpec::Matchers::DSL
# rubocop:disable Metrics/BlockLength
matcher :permit do |user, record| matcher :permit do |user, record|
match_proc = lambda do |policy| match_proc = lambda do |policy|
@violating_permissions = permissions.find_all do |permission| @violating_permissions = permissions.find_all do |permission|

View file

@ -19,12 +19,4 @@ Gem::Specification.new do |gem|
gem.require_paths = ["lib"] gem.require_paths = ["lib"]
gem.add_dependency "activesupport", ">= 3.0.0" gem.add_dependency "activesupport", ">= 3.0.0"
gem.add_development_dependency "activemodel", ">= 3.0.0"
gem.add_development_dependency "actionpack", ">= 3.0.0"
gem.add_development_dependency "bundler", "~> 1.3"
gem.add_development_dependency "rspec", ">=2.0.0"
gem.add_development_dependency "pry"
gem.add_development_dependency "rake"
gem.add_development_dependency "yard"
gem.add_development_dependency "rubocop"
end end

View file

@ -431,8 +431,8 @@ describe Pundit do
admin: true admin: true
}) })
expect(Controller.new(user, params).permitted_attributes(post)).to eq("title" => "Hello", "votes" => 5) expect(Controller.new(user, params).permitted_attributes(post).to_h).to eq("title" => "Hello", "votes" => 5)
expect(Controller.new(double, params).permitted_attributes(post)).to eq("votes" => 5) expect(Controller.new(double, params).permitted_attributes(post).to_h).to eq("votes" => 5)
end end
it "checks policy for permitted attributes for record of a ActiveModel type" do it "checks policy for permitted attributes for record of a ActiveModel type" do
@ -444,6 +444,13 @@ describe Pundit do
expect(Controller.new(user, params).permitted_attributes(customer_post)).to eq("title" => "Hello", "votes" => 5) expect(Controller.new(user, params).permitted_attributes(customer_post)).to eq("title" => "Hello", "votes" => 5)
expect(Controller.new(double, params).permitted_attributes(customer_post)).to eq("votes" => 5) expect(Controller.new(double, params).permitted_attributes(customer_post)).to eq("votes" => 5)
expect(Controller.new(user, params).permitted_attributes(customer_post).to_h).to eq(
"title" => "Hello",
"votes" => 5
)
expect(Controller.new(double, params).permitted_attributes(customer_post).to_h).to eq(
"votes" => 5
)
end end
end end
@ -456,7 +463,7 @@ describe Pundit do
admin: true admin: true
}) })
expect(Controller.new(user, params).permitted_attributes(post)).to eq("body" => "blah") expect(Controller.new(user, params).permitted_attributes(post).to_h).to eq("body" => "blah")
end end
it "can be explicitly set" do it "can be explicitly set" do
@ -467,7 +474,7 @@ describe Pundit do
admin: true admin: true
}) })
expect(Controller.new(user, params).permitted_attributes(post, :revise)).to eq("body" => "blah") expect(Controller.new(user, params).permitted_attributes(post, :revise).to_h).to eq("body" => "blah")
end end
end end