instructure-active_model-better_errors 1.6.3.rails2.5 → 1.6.5.rails2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +37 -0
  3. data/.rspec +4 -1
  4. data/.ruby-gemset +1 -0
  5. data/.travis.yml +5 -1
  6. data/Gemfile +9 -11
  7. data/Gemfile.devtools +66 -0
  8. data/Guardfile +32 -0
  9. data/LICENSE.txt +2 -0
  10. data/README.md +12 -10
  11. data/Rakefile +20 -49
  12. data/config/devtools.yml +4 -0
  13. data/config/flay.yml +3 -0
  14. data/config/flog.yml +2 -0
  15. data/config/mutant.yml +3 -0
  16. data/config/reek.yml +103 -0
  17. data/config/rubocop.yml +62 -0
  18. data/config/yardstick.yml +2 -0
  19. data/instructure-active_model-better_errors.gemspec +25 -112
  20. data/lib/active_model/better_errors/array_reporter.rb +14 -0
  21. data/lib/active_model/{error_collecting → better_errors}/emulation.rb +13 -6
  22. data/lib/active_model/{error_collecting → better_errors}/error_collection.rb +14 -6
  23. data/lib/active_model/{error_collecting → better_errors}/error_message.rb +12 -5
  24. data/lib/active_model/{error_collecting → better_errors}/error_message_set.rb +7 -2
  25. data/lib/active_model/{error_collecting → better_errors}/errors.rb +10 -3
  26. data/lib/active_model/better_errors/formatter.rb +26 -0
  27. data/lib/active_model/better_errors/hash_reporter.rb +14 -0
  28. data/lib/active_model/{error_collecting → better_errors}/human_array_reporter.rb +6 -1
  29. data/lib/active_model/{error_collecting → better_errors}/human_hash_reporter.rb +8 -3
  30. data/lib/active_model/{error_collecting → better_errors}/human_message_formatter.rb +16 -20
  31. data/lib/active_model/{error_collecting → better_errors}/human_message_reporter.rb +19 -12
  32. data/lib/active_model/{error_collecting → better_errors}/machine_array_reporter.rb +10 -2
  33. data/lib/active_model/{error_collecting → better_errors}/machine_hash_reporter.rb +10 -3
  34. data/lib/active_model/{error_collecting → better_errors}/message_reporter.rb +10 -5
  35. data/lib/active_model/{error_collecting → better_errors}/reporter.rb +7 -2
  36. data/lib/active_model/better_errors/version.rb +10 -0
  37. data/lib/active_model/better_errors.rb +67 -3
  38. data/spec/spec_helper.rb +21 -14
  39. data/spec/support/string_ext.rb +14 -0
  40. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/emulation_spec.rb +8 -6
  41. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/error_collection_spec.rb +66 -62
  42. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/error_message_set_spec.rb +27 -25
  43. data/spec/unit/lib/active_model/better_errors/error_message_spec.rb +315 -0
  44. data/spec/unit/lib/active_model/better_errors/errors_spec.rb +98 -0
  45. data/spec/unit/lib/active_model/better_errors/human_array_reporter_spec.rb +39 -0
  46. data/spec/unit/lib/active_model/better_errors/human_hash_reporter_spec.rb +37 -0
  47. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/human_message_formatter_spec.rb +13 -7
  48. data/spec/unit/lib/active_model/better_errors/human_message_reporter_spec.rb +58 -0
  49. data/spec/unit/lib/active_model/better_errors/machine_array_reporter_spec.rb +45 -0
  50. data/spec/unit/lib/active_model/better_errors/machine_hash_reporter_spec.rb +45 -0
  51. data/spec/unit/lib/active_model/better_errors_spec.rb +37 -0
  52. metadata +79 -171
  53. data/.document +0 -5
  54. data/VERSION +0 -1
  55. data/lib/active_model/error_collecting/array_reporter.rb +0 -9
  56. data/lib/active_model/error_collecting/hash_reporter.rb +0 -9
  57. data/lib/active_model/error_collecting.rb +0 -47
  58. data/spec/lib/active_model/better_errors_spec.rb +0 -7
  59. data/spec/lib/active_model/error_collecting/error_message_spec.rb +0 -309
  60. data/spec/lib/active_model/error_collecting/errors_spec.rb +0 -95
  61. data/spec/lib/active_model/error_collecting/human_array_reporter_spec.rb +0 -33
  62. data/spec/lib/active_model/error_collecting/human_hash_reporter_spec.rb +0 -32
  63. data/spec/lib/active_model/error_collecting/human_message_reporter_spec.rb +0 -61
  64. data/spec/lib/active_model/error_collecting/machine_array_reporter_spec.rb +0 -40
  65. data/spec/lib/active_model/error_collecting/machine_hash_reporter_spec.rb +0 -40
  66. data/spec/lib/active_model/error_collecting_spec.rb +0 -22
  67. data/test/integration.rb +0 -10
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZmQ4MmYzYWNmOTJhYTE5NGVkZDBhMjkyYzBhYWMwZjBkMmNmNDkxZg==
5
+ data.tar.gz: !binary |-
6
+ ZWMyM2E3ZmUxY2Q1OTg5MDA3NWE2MjVhZjI2MGU0OGE5ZjE0YTE5ZA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NTFjZjYyNzk3NzcwNWM2Y2Y4ODFkOThkYmZiNGRiNWE2ZTU2NTQ1ZjQ5ZTVh
10
+ M2E0MGZiYzEwYTk3N2I4NjU2ZGIxODY4ODkwYTA4NzM0YjJhZjQ0ZGVjOGJl
11
+ NDQ4ZmNiMDExZjQyY2M2ODc2NmNiNzVmODZlYzk3YWE4MDljYzc=
12
+ data.tar.gz: !binary |-
13
+ NWRkNDhjZjFkZTRhZWZjMzk3ZGEwOTNjM2EwYWM5YzFiYTUwNDIwMTkwN2My
14
+ Y2U0MTY1Njk5MTg2NzVkNjVhNmEzOTQ2NmEwOWRiZGYwZGYwOGVlNjE3NjYw
15
+ ZDJjYjRlNDdiZDgwZTRmNDgyYjRmYzAzYjEwMzJmMjA5NGY1OTU=
data/.gitignore ADDED
@@ -0,0 +1,37 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.sw[op]
15
+
16
+ ## Rubinius
17
+ *.rbc
18
+ .rbx
19
+
20
+ ## PROJECT::GENERAL
21
+ *.gem
22
+ coverage
23
+ profiling
24
+ turbulence
25
+ rdoc
26
+ pkg
27
+ tmp
28
+ doc
29
+ log
30
+ .yardoc
31
+ measurements
32
+
33
+ ## BUNDLER
34
+ .bundle
35
+ Gemfile.lock
36
+
37
+ ## PROJECT::SPECIFIC
data/.rspec CHANGED
@@ -1,2 +1,5 @@
1
1
  --color
2
- --format progress
2
+ --format progress
3
+ --profile
4
+ --warnings
5
+ --order random
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ active_model-better_errors
data/.travis.yml CHANGED
@@ -1,3 +1,7 @@
1
1
  language: ruby
2
+ bundler_args: --without yard guard benchmarks
3
+ script: "bundle exec rake"
2
4
  rvm:
3
- - 1.9.3
5
+ - 1.9.3
6
+ - 2.0.0
7
+ - ruby-head
data/Gemfile CHANGED
@@ -1,18 +1,16 @@
1
+ # coding: utf-8
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gem "activerecord", "~> 2.3.11"
4
6
 
7
+ gemspec
8
+
5
9
  group :development, :test do
6
- gem "rake"
7
- gem "rspec", "~> 2.12.0"
8
- gem "pry"
9
- gem "yard"
10
- gem "rdoc"
11
- gem "bundler"
12
- gem "jeweler"
13
- gem "simplecov"
14
- gem 'bcrypt-ruby', '~> 3.0.0'
15
- gem 'mocha', '>= 0.12.1'
10
+ gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
11
+ gem 'gem-release'
16
12
  gem 'sqlite3'
17
- gem 'debugger'
18
13
  end
14
+
15
+ # Added by devtools
16
+ eval_gemfile 'Gemfile.devtools'
data/Gemfile.devtools ADDED
@@ -0,0 +1,66 @@
1
+ # encoding: utf-8
2
+
3
+ group :development do
4
+ gem 'rake', '~> 10.1.0'
5
+ gem 'rspec', '~> 2.14.1'
6
+ gem 'yard', '~> 0.8.7'
7
+
8
+ platform :rbx do
9
+ gem 'rubysl-singleton', '~> 2.0.0'
10
+ end
11
+ end
12
+
13
+ group :yard do
14
+ gem 'kramdown', '~> 1.3.0'
15
+ end
16
+
17
+ group :guard do
18
+ gem 'guard', '~> 2.2.4'
19
+ gem 'guard-bundler', '~> 2.0.0'
20
+ gem 'guard-rspec', '~> 4.2.0'
21
+ gem 'guard-rubocop', '~> 1.0.0'
22
+
23
+ # file system change event handling
24
+ gem 'listen', '~> 2.4.0'
25
+ gem 'rb-fchange', '~> 0.0.6', require: false
26
+ gem 'rb-fsevent', '~> 0.9.3', require: false
27
+ gem 'rb-inotify', '~> 0.9.0', require: false
28
+
29
+ # notification handling
30
+ gem 'libnotify', '~> 0.8.0', require: false
31
+ gem 'rb-notifu', '~> 0.0.4', require: false
32
+ gem 'terminal-notifier-guard', '~> 1.5.3', require: false
33
+ end
34
+
35
+ group :metrics do
36
+ gem 'coveralls', '~> 0.7.0'
37
+ gem 'flay', '~> 2.4.0'
38
+ gem 'flog', '~> 4.2.0'
39
+ gem 'reek', '~> 1.3.2'
40
+ gem 'rubocop', '~> 0.16.0'
41
+ gem 'simplecov', '~> 0.8.2'
42
+ gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
43
+
44
+ platforms :ruby_19, :ruby_20 do
45
+ gem 'mutant', '~> 0.3.4'
46
+ gem 'yard-spellcheck', '~> 0.1.5'
47
+ end
48
+
49
+ platform :rbx do
50
+ gem 'json', '~> 1.8.1'
51
+ gem 'racc', '~> 1.4.10'
52
+ gem 'rubysl-logger', '~> 2.0.0'
53
+ gem 'rubysl-open-uri', '~> 2.0.0'
54
+ gem 'rubysl-prettyprint', '~> 2.0.2'
55
+ end
56
+ end
57
+
58
+ group :benchmarks do
59
+ gem 'rbench', '~> 0.2.3'
60
+ end
61
+
62
+ platform :jruby do
63
+ group :jruby do
64
+ gem 'jruby-openssl', '~> 0.8.5'
65
+ end
66
+ end
data/Guardfile ADDED
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ guard :bundler do
4
+ watch('Gemfile')
5
+ watch('Gemfile.lock')
6
+ watch(%w{.+.gemspec\z})
7
+ end
8
+
9
+ guard :rspec, cli: File.read('.rspec').split.push('--fail-fast').join(' '), keep_failed: false do
10
+ # Run all specs if configuration is modified
11
+ watch('.rspec') { 'spec' }
12
+ watch('Guardfile') { 'spec' }
13
+ watch('Gemfile.lock') { 'spec' }
14
+ watch('spec/spec_helper.rb') { 'spec' }
15
+
16
+ # Run all specs if supporting files are modified
17
+ watch(%r{\Aspec/(?:fixtures|lib|support|shared)/.+\.rb\z}) { 'spec' }
18
+
19
+ # Run unit specs if associated lib code is modified
20
+ watch(%r{\Alib/(.+)\.rb\z}) { |m| Dir["spec/unit/#{m[1]}*"] }
21
+ watch(%r{\Alib/(.+)/support/(.+)\.rb\z}) { |m| Dir["spec/unit/#{m[1]}/#{m[2]}*"] }
22
+ watch("lib/#{File.basename(File.expand_path('../', __FILE__))}.rb") { 'spec' }
23
+
24
+ # Run a spec if it is modified
25
+ watch(%r{\Aspec/(?:unit|integration)/.+_spec\.rb\z})
26
+ end
27
+
28
+ guard :rubocop, cli: %w[--config config/rubocop.yml] do
29
+ watch(%r{.+\.(?:rb|rake)\z})
30
+ watch(%r{\Aconfig/rubocop\.yml\z}) { |m| File.dirname(m[0]) }
31
+ watch(%r{(?:.+/)?\.rubocop\.yml\z}) { |m| File.dirname(m[0]) }
32
+ end
data/LICENSE.txt CHANGED
@@ -1,5 +1,7 @@
1
1
  Copyright (c) 2013 Aaron Qian
2
2
 
3
+ MIT License
4
+
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
5
7
  "Software"), to deal in the Software without restriction, including
data/README.md CHANGED
@@ -3,7 +3,9 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/active_model-better_errors.png)](http://badge.fury.io/rb/active_model-better_errors)
4
4
  [![Build Status](https://travis-ci.org/aq1018/active_model-better_errors.png?branch=master)](https://travis-ci.org/aq1018/active_model-better_errors)
5
5
  [![Dependency Status](https://gemnasium.com/aq1018/active_model-better_errors.png)](https://gemnasium.com/aq1018/active_model-better_errors)
6
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/aq1018/active_model-better_errors)
6
+ [![Coverage Status](https://coveralls.io/repos/aq1018/active_model-better_errors/badge.png?branch=master)](https://coveralls.io/r/aq1018/active_model-better_errors?branch=master)
7
+ [![Code Climate](https://codeclimate.com/github/aq1018/active_model-better_errors.png)](https://codeclimate.com/github/aq1018/active_model-better_errors)
8
+ [![License](http://img.shields.io/license/MIT.png?color=green)](http://opensource.org/licenses/MIT)
7
9
 
8
10
  `active_model-better_errors` is a `ActiveModel::Errors` compatible library to help you
9
11
  customize the presentation of your error messages.
@@ -54,17 +56,17 @@ By default, `active_model-better_errors` is a drop-in replacement for `ActiveMod
54
56
  and will mostly function without modifications. This is because the default reporters are set like the following:
55
57
 
56
58
  ```ruby
57
- ActiveModel::ErrorCollecting.set_reporter :message, :human
58
- ActiveModel::ErrorCollecting.set_reporter :array, :human
59
- ActiveModel::ErrorCollecting.set_reporter :hash, :human
59
+ ActiveModel::BetterErrors.set_reporter :message, :human
60
+ ActiveModel::BetterErrors.set_reporter :array, :human
61
+ ActiveModel::BetterErrors.set_reporter :hash, :human
60
62
  ```
61
63
 
62
64
  If you want to output API friendly JSON / XML by default, you can use the following config.
63
65
 
64
66
  ```ruby
65
- ActiveModel::ErrorCollecting.set_reporter :message, :human
66
- ActiveModel::ErrorCollecting.set_reporter :array, :machine
67
- ActiveModel::ErrorCollecting.set_reporter :hash, :machine
67
+ ActiveModel::BetterErrors.set_reporter :message, :human
68
+ ActiveModel::BetterErrors.set_reporter :array, :machine
69
+ ActiveModel::BetterErrors.set_reporter :hash, :machine
68
70
  ```
69
71
 
70
72
  Note: The configurations above determines *default* reporters to use, you can always switch to
@@ -73,7 +75,7 @@ any reporters you want during runtime by invoking `errors.set_reporter`
73
75
  ## Usage
74
76
 
75
77
  ```ruby
76
- user.errors # returns an instance of ActiveModel::ErrorCollecting::Errors
78
+ user.errors # returns an instance of ActiveModel::BetterErrors::Errors
77
79
 
78
80
  # Use MachineArrayReporter to output API friendly error messages
79
81
  user.errors.set_reporter(:array, :machine)
@@ -156,14 +158,14 @@ This library implements the following reporters of this type:
156
158
  Creating a custom reporter is easy. Here is an example to create a hash reporter
157
159
 
158
160
  ```ruby
159
- class MyHashReporter < ActiveModel::ErrorCollecting::HashReporter
161
+ class MyHashReporter < ActiveModel::BetterErrors::HashReporter
160
162
  def to_hash
161
163
  # you have access to #collection and #base
162
164
  end
163
165
  end
164
166
 
165
167
  # set it to use it.
166
- ActiveModel::ErrorCollecting.set_reporter :hash, MyHashReporter
168
+ ActiveModel::BetterErrors.set_reporter :hash, MyHashReporter
167
169
  ```
168
170
 
169
171
  ## Contributing to active_model-better_errors
data/Rakefile CHANGED
@@ -1,57 +1,28 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
3
+ require "bundler/gem_tasks"
13
4
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "instructure-active_model-better_errors"
18
- gem.homepage = "http://github.com/codekitchen/active_model-better_errors"
19
- gem.license = "MIT"
20
- gem.summary = %Q{API consumable error messages with ActiveModel::Errors drop-in compatibility.}
21
- gem.description = %Q{ActiveModel::Errors class is not designed for API consumption. This gem allows for that while keeping compatibility with existing rails API.}
22
- gem.email = ["aq1018@gmail.com", "byronanderson32@gmail.com", "brianp@instructure.com"]
23
- gem.authors = ["Aaron Qian", "Byron Anderson", "Brian Palmer"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
5
+ # Added by devtools
6
+ require 'devtools'
7
+ Devtools.init_rake_tasks
27
8
 
28
- require 'rspec/core'
29
- require 'rspec/core/rake_task'
30
- RSpec::Core::RakeTask.new(:spec) do |spec|
31
- spec.pattern = FileList['spec/**/*_spec.rb']
32
- end
9
+ task :default => [
10
+ # Make sure ruby style is good
11
+ 'metrics:rubocop',
33
12
 
34
- RSpec::Core::RakeTask.new(:rcov) do |spec|
35
- spec.pattern = 'spec/**/*_spec.rb'
36
- spec.rcov = true
37
- end
13
+ # Duplicate code detection.
14
+ # Currently a lot of dups that need to be worked on.
15
+ # Disabled so travis can pass test.
16
+ # 'metrics:flay',
38
17
 
39
- dir = File.dirname(__FILE__)
18
+ # Check for code smells
19
+ # Currently very smelly
20
+ # Disabled so travis can pass test.
21
+ # 'metrics:reek',
40
22
 
41
- require 'rake/testtask'
23
+ # run spec and generate coverage
24
+ 'metrics:coverage',
42
25
 
43
- test_files = []
44
- test_files << "test/integration"
45
- test_files += Dir.glob("#{dir}/vendor/rails/activemodel/test/cases/**/*_test.rb").sort
46
-
47
- Rake::TestTask.new("test:integration") do |t|
48
- t.libs << "vendor/rails/activemodel/test"
49
- t.test_files = test_files
50
- t.warning = true
51
- end
52
-
53
-
54
- task :default => [ :spec ]
55
-
56
- require 'yard'
57
- YARD::Rake::YardocTask.new
26
+ # We need to kill all mutants before enabling this for ci
27
+ # 'metrics:mutant'
28
+ ]
@@ -0,0 +1,4 @@
1
+ ---
2
+ unit_test_timeout: 0.1
3
+ fail_on_branch:
4
+ - "master"
data/config/flay.yml ADDED
@@ -0,0 +1,3 @@
1
+ ---
2
+ threshold: 8
3
+ total_score: 100
data/config/flog.yml ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ threshold: 0
data/config/mutant.yml ADDED
@@ -0,0 +1,3 @@
1
+ ---
2
+ name: active_model/better_errors
3
+ namespace: ActiveModel::BetterErrors
data/config/reek.yml ADDED
@@ -0,0 +1,103 @@
1
+ ---
2
+ Attribute:
3
+ enabled: true
4
+ exclude: []
5
+ BooleanParameter:
6
+ enabled: true
7
+ exclude: []
8
+ ClassVariable:
9
+ enabled: true
10
+ exclude: []
11
+ ControlParameter:
12
+ enabled: true
13
+ exclude: []
14
+ DataClump:
15
+ enabled: true
16
+ exclude: []
17
+ max_copies: 2
18
+ min_clump_size: 2
19
+ DuplicateMethodCall:
20
+ enabled: true
21
+ exclude: []
22
+ max_calls: 1
23
+ allow_calls: []
24
+ FeatureEnvy:
25
+ enabled: true
26
+ exclude: []
27
+ IrresponsibleModule:
28
+ enabled: true
29
+ exclude: []
30
+ LongParameterList:
31
+ enabled: true
32
+ exclude: []
33
+ max_params: 2
34
+ overrides:
35
+ initialize:
36
+ max_params: 3
37
+ LongYieldList:
38
+ enabled: true
39
+ exclude: []
40
+ max_params: 2
41
+ NestedIterators:
42
+ enabled: true
43
+ exclude: []
44
+ max_allowed_nesting: 1
45
+ ignore_iterators: []
46
+ NilCheck:
47
+ enabled: true
48
+ exclude: []
49
+ RepeatedConditional:
50
+ enabled: true
51
+ exclude: []
52
+ max_ifs: 1
53
+ TooManyInstanceVariables:
54
+ enabled: true
55
+ exclude: []
56
+ max_instance_variables: 3
57
+ TooManyMethods:
58
+ enabled: true
59
+ exclude: []
60
+ max_methods: 10
61
+ TooManyStatements:
62
+ enabled: true
63
+ exclude:
64
+ - each
65
+ max_statements: 2
66
+ UncommunicativeMethodName:
67
+ enabled: true
68
+ exclude: []
69
+ reject:
70
+ - !ruby/regexp /^[a-z]$/
71
+ - !ruby/regexp /[0-9]$/
72
+ - !ruby/regexp /[A-Z]/
73
+ accept: []
74
+ UncommunicativeModuleName:
75
+ enabled: true
76
+ exclude: []
77
+ reject:
78
+ - !ruby/regexp /^.$/
79
+ - !ruby/regexp /[0-9]$/
80
+ accept: []
81
+ UncommunicativeParameterName:
82
+ enabled: true
83
+ exclude: []
84
+ reject:
85
+ - !ruby/regexp /^.$/
86
+ - !ruby/regexp /[0-9]$/
87
+ - !ruby/regexp /[A-Z]/
88
+ accept: []
89
+ UncommunicativeVariableName:
90
+ enabled: true
91
+ exclude: []
92
+ reject:
93
+ - !ruby/regexp /^.$/
94
+ - !ruby/regexp /[0-9]$/
95
+ - !ruby/regexp /[A-Z]/
96
+ accept: []
97
+ UnusedParameters:
98
+ enabled: true
99
+ exclude: []
100
+ UtilityFunction:
101
+ enabled: true
102
+ exclude: []
103
+ max_helper_calls: 0
@@ -0,0 +1,62 @@
1
+ AllCops:
2
+ Includes:
3
+ - '**/*.rake'
4
+ - 'Gemfile'
5
+ - 'Gemfile.devtools'
6
+ Excludes:
7
+ - '**/vendor/**'
8
+ - '**/benchmarks/**'
9
+
10
+ # Avoid parameter lists longer than five parameters.
11
+ ParameterLists:
12
+ Max: 5
13
+ CountKeywordArgs: true
14
+
15
+ # Avoid more than `Max` levels of nesting.
16
+ BlockNesting:
17
+ Max: 3
18
+
19
+ # Align with the style guide.
20
+ CollectionMethods:
21
+ PreferredMethods:
22
+ collect: 'map'
23
+ inject: 'reduce'
24
+ find: 'detect'
25
+ find_all: 'select'
26
+
27
+ # Do not force public/protected/private keyword to be indented at the same
28
+ # level as the def keyword. My personal preference is to outdent these keywords
29
+ # because I think when scanning code it makes it easier to identify the
30
+ # sections of code and visually separate them. When the keyword is at the same
31
+ # level I think it sort of blends in with the def keywords and makes it harder
32
+ # to scan the code and see where the sections are.
33
+ AccessModifierIndentation:
34
+ Enabled: false
35
+
36
+ # Limit line length
37
+ LineLength:
38
+ Max: 79
39
+
40
+ # Disable documentation checking until a class needs to be documented once
41
+ Documentation:
42
+ Enabled: false
43
+
44
+ # Do not favor modifier if/unless usage when you have a single-line body
45
+ IfUnlessModifier:
46
+ Enabled: false
47
+
48
+ # Allow case equality operator (in limited use within the specs)
49
+ CaseEquality:
50
+ Enabled: false
51
+
52
+ # Constants do not always have to use SCREAMING_SNAKE_CASE
53
+ ConstantName:
54
+ Enabled: false
55
+
56
+ # Not all trivial readers/writers can be defined with attr_* methods
57
+ TrivialAccessors:
58
+ Enabled: false
59
+
60
+ # Allow empty lines around body
61
+ EmptyLinesAroundBody:
62
+ Enabled: false
@@ -0,0 +1,2 @@
1
+ ---
2
+ threshold: 100