Skip to content

Commit

Permalink
Use a project style guide gem
Browse files Browse the repository at this point in the history
`bixby` is the style gem.
  • Loading branch information
Tom Johnson committed Mar 30, 2017
1 parent 0f7bd35 commit 5feca59
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 76 deletions.
79 changes: 13 additions & 66 deletions .rubocop.yml
@@ -1,42 +1,13 @@
inherit_from: .rubocop_todo.yml

AllCops:
TargetRubyVersion: 2.1
DisplayCopNames: true
Include:
- '**/Rakefile'
- '**/config.ru'
Exclude:
- 'db/**/*'
- 'script/**/*'
- 'spec/test_app_templates/**/*'
- 'vendor/**/*'
- 'lib/hyrax/specs/**/*'
inherit_gem:
bixby: bixby_default.yml

inherit_from:
- .rubocop_todo.yml

Lint/ImplicitStringConcatenation:
Exclude:
- 'lib/generators/hyrax/**/*'

Metrics/LineLength:
Max: 200

Metrics/AbcSize:
Max: 28

Metrics/MethodLength:
Max: 14

Style/IndentationConsistency:
EnforcedStyle: rails

Style/CollectionMethods:
PreferredMethods:
collect: 'map'
collect!: 'map!'
inject: 'reduce'
detect: 'find'
find_all: 'select'

Style/MethodMissing:
Exclude:
- 'app/models/concerns/hyrax/file_set/characterization.rb'
Expand All @@ -45,31 +16,10 @@ Style/NumericPredicate:
Exclude:
- 'app/controllers/concerns/hyrax/file_sets_controller_behavior.rb'

Style/WordArray:
Enabled: false

Style/RegexpLiteral:
Enabled: false

Style/StringLiterals:
Enabled: false

Style/ClassAndModuleChildren:
Enabled: false

Style/Documentation:
Enabled: false

Style/SingleLineBlockParams:
Enabled: false

Style/ZeroLengthPredicate:
Exclude:
- 'app/controllers/concerns/hyrax/file_sets_controller_behavior.rb'

Rails:
Enabled: true

Rails/OutputSafety:
Exclude:
- 'spec/views/hyrax/my/works/_list_works.html.erb_spec.rb'
Expand All @@ -83,9 +33,6 @@ Rails/OutputSafety:
- 'app/presenters/hyrax/presents_attributes.rb'
- 'app/renderers/hyrax/renderers/attribute_renderer.rb'

Rails/DynamicFindBy:
Enabled: false

Rails/FilePath:
Exclude:
- 'spec/abilities/**/*'
Expand All @@ -101,17 +48,14 @@ RSpec/DescribeClass:
- 'spec/tasks/rake_spec.rb'
- 'spec/views/**/*'

# By default RSpec/MessageSpies has the following:
# Prefer have_received for setting message expectations. Setup form as a spy using allow or instance_spy.
# The default assumes EnforcedStyle is 'have_received'. Most of our specs are 'receive'
RSpec/MessageSpies:
RSpec/ExpectActual:
Enabled: false

RSpec/InstanceVariable:
Exclude:
- 'spec/services/hyrax/derivative_service_spec.rb'

RSpec/ExpectActual:
RSpec/LeadingSubject:
Enabled: false

RSpec/LetSetup:
Expand All @@ -120,11 +64,14 @@ RSpec/LetSetup:
RSpec/MessageExpectation:
Enabled: false

RSpec/MultipleExpectations:
# By default RSpec/MessageSpies has the following:
# Prefer have_received for setting message expectations. Setup form as a spy using allow or instance_spy.
# The default assumes EnforcedStyle is 'have_received'. Most of our specs are 'receive'
RSpec/MessageSpies:
Enabled: false

RSpec/NestedGroups:
RSpec/MultipleExpectations:
Enabled: false

RSpec/LeadingSubject:
RSpec/NestedGroups:
Enabled: false
16 changes: 15 additions & 1 deletion .rubocop_todo.yml
Expand Up @@ -6,6 +6,8 @@ Security/MarshalLoad:

Metrics/BlockLength:
Exclude:
- 'spec/**/*'
- '**/*.gemspec'
- 'app/controllers/concerns/hyrax/collections_controller_behavior.rb'
- 'app/models/concerns/hyrax/basic_metadata.rb'
- 'app/models/concerns/hyrax/admin_set_behavior.rb'
Expand All @@ -15,7 +17,6 @@ Metrics/BlockLength:
- 'lib/generators/hyrax/templates/catalog_controller.rb'
- 'lib/generators/hyrax/templates/config/initializers/simple_form_bootstrap.rb'
- 'lib/hyrax/rails/routes.rb'
- 'spec/**/*'

Metrics/ClassLength:
Exclude:
Expand Down Expand Up @@ -60,6 +61,10 @@ Metrics/MethodLength:
- 'lib/hyrax/rails/routes.rb'
- 'spec/support/**/*'

Style/ExtraSpacing:
Exclude:
- 'tasks/hyrax-dev.rake'

Style/LineEndConcatenation:
Exclude:
- 'spec/test_app_templates/lib/generators/**/*'
Expand All @@ -69,6 +74,15 @@ Style/PredicateName:
Exclude:
- 'app/helpers/hyrax/collections_helper.rb'

Style/SpaceInsideBlockBraces:
Exclude:
- 'app/views/hyrax/base/show.json.jbuilder'
- 'tasks/hyrax-dev.rake'

Style/TrailingWhitespace:
Exclude:
- 'spec/test_app_templates/**/*'

Rails/Output:
Exclude:
- 'lib/generators/**/*'
Expand Down
12 changes: 6 additions & 6 deletions Gemfile
Expand Up @@ -4,10 +4,10 @@ source 'https://rubygems.org'
gemspec

group :development, :test do
gem "simplecov", require: false
gem 'coveralls', require: false
gem 'pry' unless ENV['CI']
gem 'pry' unless ENV['CI']
gem 'pry-byebug' unless ENV['CI']
gem "simplecov", require: false
end

# BEGIN ENGINE_CART BLOCK
Expand All @@ -30,17 +30,17 @@ else
gem 'rails', github: 'rails/rails'
ENV['ENGINE_CART_RAILS_OPTIONS'] = '--edge --skip-turbolinks'
else
gem 'rails', ENV['RAILS_VERSION']
gem 'rails', ENV['RAILS_VERSION'] # rubocop:disable Bundler/DuplicatedGem
end
end

case ENV['RAILS_VERSION']
when /^4.2/
gem 'responders', '~> 2.0'
gem 'sass-rails', '>= 5.0'
gem 'coffee-rails', '~> 4.2.0'
gem 'responders', '~> 2.0'
gem 'sass-rails', '>= 5.0'
when /^4.[01]/
gem 'sass-rails', '< 5.0'
gem 'sass-rails', '< 5.0' # rubocop:disable Bundler/DuplicatedGem
end
end
# END ENGINE_CART BLOCK
Expand Down
3 changes: 1 addition & 2 deletions hyrax.gemspec
Expand Up @@ -64,6 +64,7 @@ Gem::Specification.new do |spec|
spec.add_dependency 'retriable', '>= 2.9', '< 4.0'
spec.add_dependency 'active-fedora', '>= 11.1.3'

spec.add_development_dependency 'bixby', '~> 0.2.0'
spec.add_development_dependency 'engine_cart', '~> 1.0'
spec.add_development_dependency 'mida', '~> 0.3'
spec.add_development_dependency 'database_cleaner', '~> 1.3'
Expand All @@ -77,8 +78,6 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "factory_girl_rails", '~> 4.4'
spec.add_development_dependency "equivalent-xml", '~> 0.5'
spec.add_development_dependency "jasmine", '~> 2.3'
spec.add_development_dependency 'rubocop', '~> 0.47.0'
spec.add_development_dependency 'rubocop-rspec', '~> 1.10.0'
spec.add_development_dependency 'shoulda-matchers', '~> 3.1'
spec.add_development_dependency 'rails-controller-testing', '~> 0'
spec.add_development_dependency 'webmock'
Expand Down
Expand Up @@ -32,7 +32,7 @@
let(:another_user) { create(:user) }

context 'with default abilities' do
it "it is unauthorized" do
it 'is unauthorized' do
expect(controller.current_ability).to receive(:can?).with(:edit, another_user).and_return(false)
get :edit, params: { id: another_user.to_param }
expect(response).to render_template(:unauthorized)
Expand Down

0 comments on commit 5feca59

Please sign in to comment.