shipcloud 0.6.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +1 -0
  3. data/.hound.yml +1 -1
  4. data/.rubocop.yml +713 -2
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +18 -6
  7. data/CHANGELOG.md +70 -0
  8. data/README.md +76 -8
  9. data/bin/rubocop +29 -0
  10. data/install-cc-test-reporter.sh +4 -0
  11. data/lib/shipcloud.rb +28 -14
  12. data/lib/shipcloud/address.rb +2 -1
  13. data/lib/shipcloud/operations/all.rb +12 -2
  14. data/lib/shipcloud/operations/create.rb +10 -2
  15. data/lib/shipcloud/operations/delete.rb +10 -2
  16. data/lib/shipcloud/operations/find.rb +10 -2
  17. data/lib/shipcloud/operations/update.rb +12 -4
  18. data/lib/shipcloud/pickup_request.rb +12 -0
  19. data/lib/shipcloud/request/base.rb +14 -10
  20. data/lib/shipcloud/request/connection.rb +18 -12
  21. data/lib/shipcloud/request/info.rb +7 -5
  22. data/lib/shipcloud/shipcloud_error.rb +70 -0
  23. data/lib/shipcloud/shipment.rb +3 -2
  24. data/lib/shipcloud/tracker.rb +13 -0
  25. data/lib/shipcloud/version.rb +1 -1
  26. data/lib/shipcloud/webhook.rb +2 -1
  27. data/shipcloud.gemspec +9 -8
  28. data/spec/shipcloud/address_spec.rb +114 -43
  29. data/spec/shipcloud/carrier_spec.rb +12 -5
  30. data/spec/shipcloud/pickup_request_spec.rb +136 -0
  31. data/spec/shipcloud/request/base_spec.rb +51 -13
  32. data/spec/shipcloud/request/connection_spec.rb +3 -3
  33. data/spec/shipcloud/request/info_spec.rb +34 -0
  34. data/spec/shipcloud/shipcloud_error_spec.rb +125 -0
  35. data/spec/shipcloud/shipment_quote_spec.rb +14 -1
  36. data/spec/shipcloud/shipment_spec.rb +126 -11
  37. data/spec/shipcloud/tracker_spec.rb +141 -0
  38. data/spec/shipcloud/webhooks_spec.rb +70 -6
  39. data/spec/shipcloud_spec.rb +82 -20
  40. data/spec/spec_helper.rb +2 -2
  41. metadata +55 -43
  42. data/.ruby-style.yml +0 -240
  43. data/lib/shipcloud/request/validator.rb +0 -33
  44. data/spec/shipcloud/request/validator_spec.rb +0 -24
@@ -16,74 +16,136 @@ describe Shipcloud do
16
16
 
17
17
  it "attempts to get a url with one param" do
18
18
  Shipcloud.request(:get, "transactions", { param_name: "param_value" })
19
- WebMock.should have_requested(:get, "https://#{Shipcloud::api_key}:@#{Shipcloud.configuration.api_base}/#{Shipcloud::API_VERSION}/transactions?param_name=param_value")
19
+
20
+ expect(WebMock).to have_requested(:get, "#{api_url}/transactions?param_name=param_value")
20
21
  end
21
22
 
22
23
  it "attempts to get a url with more than one param" do
23
24
  Shipcloud.request(:get, "transactions", { client: "client_id", order: "created_at_desc" })
24
- WebMock.should have_requested(:get, "https://#{Shipcloud::api_key}:@#{Shipcloud.configuration.api_base}/#{Shipcloud::API_VERSION}/transactions?client=client_id&order=created_at_desc")
25
+
26
+ expect(WebMock).
27
+ to have_requested(:get, "#{api_url}/transactions?client=client_id&order=created_at_desc")
25
28
  end
26
29
 
27
30
  it "doesn't add a question mark if no params" do
28
31
  Shipcloud.request(:get, "transactions", {})
29
- WebMock.should have_requested(:get, "https://#{Shipcloud::api_key}:@#{Shipcloud.configuration.api_base}/#{Shipcloud::API_VERSION}/transactions")
32
+ expect(WebMock).to have_requested(:get, "#{api_url}/transactions")
33
+ end
34
+ end
35
+
36
+ context "with an api key passed in as an argument" do
37
+ it "uses the given api key instead of the global one" do
38
+ WebMock.stub_request(:any, /#{Shipcloud.configuration.api_base}/).to_return(body: "{}")
39
+ Shipcloud.api_key = "global-api-key"
40
+
41
+ Shipcloud.request(:get, "transactions", {}, api_key: "123")
42
+
43
+ expect(WebMock).to have_requested(
44
+ :get,
45
+ "#{api_url}/transactions",
46
+ ).with(
47
+ headers: {
48
+ "Authorization" => "Basic #{Base64.strict_encode64('123:').chomp}",
49
+ },
50
+ )
30
51
  end
31
52
  end
32
53
  end
33
54
 
34
- describe '.configure' do
55
+ describe ".configure" do
35
56
  before :each do
36
57
  Shipcloud.configuration = nil
37
58
  end
38
59
 
39
- it 'defaults api_key to nil' do
60
+ it "defaults api_key to nil" do
40
61
  expect(Shipcloud.configuration.api_key).to be_nil
41
62
  end
42
63
 
43
- it 'sets the api_key' do
64
+ it "sets the api_key" do
44
65
  Shipcloud.configure do |config|
45
- config.api_key = 'your-api-key'
66
+ config.api_key = "your-api-key"
46
67
  end
47
- expect(Shipcloud.configuration.api_key).to eq 'your-api-key'
68
+ expect(Shipcloud.configuration.api_key).to eq "your-api-key"
48
69
  end
49
70
 
50
- it 'gets the api key, set as a class variable (DEPRECATED)' do
51
- Shipcloud.api_key = 'old-school-api-key'
52
- expect(Shipcloud.api_key).to eq 'old-school-api-key'
53
- expect(Shipcloud.configuration.api_key).to eq 'old-school-api-key'
71
+ it "gets the api key, set as a class variable (DEPRECATED)" do
72
+ Shipcloud.api_key = "old-school-api-key"
73
+ expect(Shipcloud.api_key).to eq "old-school-api-key"
74
+ expect(Shipcloud.configuration.api_key).to eq "old-school-api-key"
54
75
  end
55
76
 
56
77
  it "defaults api_base to 'api.shipcloud.io'" do
57
- expect(Shipcloud.configuration.api_base).to eq 'api.shipcloud.io'
78
+ expect(Shipcloud.configuration.api_base).to eq "api.shipcloud.io"
58
79
  end
59
80
 
60
- it 'overwrites the default api base' do
81
+ it "overwrites the default api base" do
61
82
  Shipcloud.configure do |config|
62
- config.api_base = 'api.shipcloud.dev'
83
+ config.api_base = "api.shipcloud.dev"
63
84
  end
64
- expect(Shipcloud.configuration.api_base).to eq 'api.shipcloud.dev'
85
+ expect(Shipcloud.configuration.api_base).to eq "api.shipcloud.dev"
65
86
  end
66
87
 
67
- it 'defaults use_ssl to true' do
88
+ it "defaults use_ssl to true" do
68
89
  expect(Shipcloud.configuration.use_ssl).to be true
69
90
  end
70
91
 
71
- it 'overwrites the default ssl mode' do
92
+ it "overwrites the default ssl mode" do
72
93
  Shipcloud.configure do |config|
73
94
  config.use_ssl = false
74
95
  end
75
96
  expect(Shipcloud.configuration.use_ssl).to be false
76
97
  end
77
98
 
78
- it 'defaults debug to false' do
99
+ it "defaults debug to false" do
79
100
  expect(Shipcloud.configuration.debug).to be false
80
101
  end
81
102
 
82
- it 'overwrites the default debug mode' do
103
+ it "overwrites the default debug mode" do
83
104
  Shipcloud.configure do |config|
84
105
  config.debug = true
85
106
  end
86
107
  expect(Shipcloud.configuration.debug).to be true
87
108
  end
109
+
110
+ it "defaults affiliate_id to nil" do
111
+ expect(Shipcloud.configuration.affiliate_id).to be_nil
112
+ end
113
+
114
+ it "sets and gets the affiliate_id" do
115
+ Shipcloud.configure do |config|
116
+ config.affiliate_id = "integration.my_rails_app.1234567"
117
+ end
118
+
119
+ expect(Shipcloud.configuration.affiliate_id).to eq "integration.my_rails_app.1234567"
120
+ end
121
+ end
122
+
123
+ describe ".api_headers" do
124
+ it "returns the correct api headers with default affiliate id" do
125
+ Shipcloud.configuration = nil # reset configuration
126
+
127
+ expect(Shipcloud.api_headers).to eq(
128
+ "Content-Type" => "application/json",
129
+ "User-Agent" => "shipcloud-ruby v#{Shipcloud::VERSION}, API #{Shipcloud::API_VERSION}, " \
130
+ "#{RUBY_VERSION}, #{RUBY_PLATFORM}, #{RUBY_PATCHLEVEL}",
131
+ "Affiliate-ID" => "integration.shipcloud-ruby-gem.v#{Shipcloud::VERSION}",
132
+ )
133
+ end
134
+
135
+ it "returns the correct api headers with affiliate id if configured" do
136
+ Shipcloud.configure do |config|
137
+ config.affiliate_id = "integration.my_rails_app.1234567"
138
+ end
139
+ expect(Shipcloud.api_headers).to eq(
140
+ "Content-Type" => "application/json",
141
+ "User-Agent" => "shipcloud-ruby v#{Shipcloud::VERSION}, API #{Shipcloud::API_VERSION}, " \
142
+ "#{RUBY_VERSION}, #{RUBY_PLATFORM}, #{RUBY_PATCHLEVEL}",
143
+ "Affiliate-ID" => "integration.my_rails_app.1234567",
144
+ )
145
+ end
146
+ end
147
+
148
+ def api_url
149
+ "https://#{Shipcloud.configuration.api_base}/#{Shipcloud::API_VERSION}"
88
150
  end
89
151
  end
@@ -1,5 +1,5 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
1
+ require "simplecov"
2
+ SimpleCov.start
3
3
 
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
metadata CHANGED
@@ -1,22 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sthollmann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2020-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.8'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: 1.8.0
@@ -24,90 +21,81 @@ dependencies:
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '1.8'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
26
  version: 1.8.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: bundler
28
+ name: pry
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 1.3.0
40
- - - "<"
31
+ - - "~>"
41
32
  - !ruby/object:Gem::Version
42
- version: '2.0'
33
+ version: '0.10'
43
34
  type: :development
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 1.3.0
50
- - - "<"
38
+ - - "~>"
51
39
  - !ruby/object:Gem::Version
52
- version: '2.0'
40
+ version: '0.10'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: rake
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
45
  - - "~>"
58
46
  - !ruby/object:Gem::Version
59
- version: '10.3'
47
+ version: '12.0'
60
48
  type: :development
61
49
  prerelease: false
62
50
  version_requirements: !ruby/object:Gem::Requirement
63
51
  requirements:
64
52
  - - "~>"
65
53
  - !ruby/object:Gem::Version
66
- version: '10.3'
54
+ version: '12.0'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rspec
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
59
  - - "~>"
72
60
  - !ruby/object:Gem::Version
73
- version: '2.99'
61
+ version: '3.6'
74
62
  type: :development
75
63
  prerelease: false
76
64
  version_requirements: !ruby/object:Gem::Requirement
77
65
  requirements:
78
66
  - - "~>"
79
67
  - !ruby/object:Gem::Version
80
- version: '2.99'
68
+ version: '3.6'
81
69
  - !ruby/object:Gem::Dependency
82
- name: webmock
70
+ name: rubocop
83
71
  requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
73
  - - "~>"
86
74
  - !ruby/object:Gem::Version
87
- version: '1.18'
75
+ version: 0.71.0
88
76
  type: :development
89
77
  prerelease: false
90
78
  version_requirements: !ruby/object:Gem::Requirement
91
79
  requirements:
92
80
  - - "~>"
93
81
  - !ruby/object:Gem::Version
94
- version: '1.18'
82
+ version: 0.71.0
95
83
  - !ruby/object:Gem::Dependency
96
- name: pry
84
+ name: rubocop-performance
97
85
  requirement: !ruby/object:Gem::Requirement
98
86
  requirements:
99
- - - "~>"
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
- version: '0.10'
89
+ version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
93
  requirements:
106
- - - "~>"
94
+ - - ">="
107
95
  - !ruby/object:Gem::Version
108
- version: '0.10'
96
+ version: '0'
109
97
  - !ruby/object:Gem::Dependency
110
- name: codeclimate-test-reporter
98
+ name: simplecov
111
99
  requirement: !ruby/object:Gem::Requirement
112
100
  requirements:
113
101
  - - ">="
@@ -120,10 +108,25 @@ dependencies:
120
108
  - - ">="
121
109
  - !ruby/object:Gem::Version
122
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: webmock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
123
125
  description: A wrapper for the shipcloud API. Fore more details visit https://developers.shipcloud.io/
124
126
  email:
125
127
  - stefan@shipcloud.io
126
- executables: []
128
+ executables:
129
+ - rubocop
127
130
  extensions: []
128
131
  extra_rdoc_files: []
129
132
  files:
@@ -132,13 +135,15 @@ files:
132
135
  - ".hound.yml"
133
136
  - ".rspec"
134
137
  - ".rubocop.yml"
135
- - ".ruby-style.yml"
138
+ - ".ruby-version"
136
139
  - ".travis.yml"
137
140
  - CHANGELOG.md
138
141
  - Gemfile
139
142
  - LICENSE.txt
140
143
  - README.md
141
144
  - Rakefile
145
+ - bin/rubocop
146
+ - install-cc-test-reporter.sh
142
147
  - lib/shipcloud.rb
143
148
  - lib/shipcloud/address.rb
144
149
  - lib/shipcloud/base.rb
@@ -148,22 +153,27 @@ files:
148
153
  - lib/shipcloud/operations/delete.rb
149
154
  - lib/shipcloud/operations/find.rb
150
155
  - lib/shipcloud/operations/update.rb
156
+ - lib/shipcloud/pickup_request.rb
151
157
  - lib/shipcloud/request/base.rb
152
158
  - lib/shipcloud/request/connection.rb
153
159
  - lib/shipcloud/request/info.rb
154
- - lib/shipcloud/request/validator.rb
160
+ - lib/shipcloud/shipcloud_error.rb
155
161
  - lib/shipcloud/shipment.rb
156
162
  - lib/shipcloud/shipment_quote.rb
163
+ - lib/shipcloud/tracker.rb
157
164
  - lib/shipcloud/version.rb
158
165
  - lib/shipcloud/webhook.rb
159
166
  - shipcloud.gemspec
160
167
  - spec/shipcloud/address_spec.rb
161
168
  - spec/shipcloud/carrier_spec.rb
169
+ - spec/shipcloud/pickup_request_spec.rb
162
170
  - spec/shipcloud/request/base_spec.rb
163
171
  - spec/shipcloud/request/connection_spec.rb
164
- - spec/shipcloud/request/validator_spec.rb
172
+ - spec/shipcloud/request/info_spec.rb
173
+ - spec/shipcloud/shipcloud_error_spec.rb
165
174
  - spec/shipcloud/shipment_quote_spec.rb
166
175
  - spec/shipcloud/shipment_spec.rb
176
+ - spec/shipcloud/tracker_spec.rb
167
177
  - spec/shipcloud/webhooks_spec.rb
168
178
  - spec/shipcloud_spec.rb
169
179
  - spec/spec_helper.rb
@@ -171,7 +181,7 @@ homepage: https://github.com/shipcloud/shipcloud-ruby
171
181
  licenses:
172
182
  - MIT
173
183
  metadata: {}
174
- post_install_message:
184
+ post_install_message:
175
185
  rdoc_options: []
176
186
  require_paths:
177
187
  - lib
@@ -179,26 +189,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
179
189
  requirements:
180
190
  - - ">="
181
191
  - !ruby/object:Gem::Version
182
- version: '2.0'
192
+ version: '2.3'
183
193
  required_rubygems_version: !ruby/object:Gem::Requirement
184
194
  requirements:
185
195
  - - ">="
186
196
  - !ruby/object:Gem::Version
187
197
  version: '0'
188
198
  requirements: []
189
- rubyforge_project:
190
- rubygems_version: 2.5.1
191
- signing_key:
199
+ rubygems_version: 3.0.3
200
+ signing_key:
192
201
  specification_version: 4
193
202
  summary: A wrapper for the shipcloud API
194
203
  test_files:
195
204
  - spec/shipcloud/address_spec.rb
196
205
  - spec/shipcloud/carrier_spec.rb
206
+ - spec/shipcloud/pickup_request_spec.rb
197
207
  - spec/shipcloud/request/base_spec.rb
198
208
  - spec/shipcloud/request/connection_spec.rb
199
- - spec/shipcloud/request/validator_spec.rb
209
+ - spec/shipcloud/request/info_spec.rb
210
+ - spec/shipcloud/shipcloud_error_spec.rb
200
211
  - spec/shipcloud/shipment_quote_spec.rb
201
212
  - spec/shipcloud/shipment_spec.rb
213
+ - spec/shipcloud/tracker_spec.rb
202
214
  - spec/shipcloud/webhooks_spec.rb
203
215
  - spec/shipcloud_spec.rb
204
216
  - spec/spec_helper.rb
@@ -1,240 +0,0 @@
1
- AllCops:
2
- RunRailsCops: true
3
- Exclude:
4
- - "vendor/**/*"
5
- - "db/schema.rb"
6
- UseCache: false
7
- Rails/FindBy:
8
- Enabled: false
9
- Metrics/LineLength:
10
- Max: 100
11
- Style/CollectionMethods:
12
- Description: Preferred collection methods.
13
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
14
- Enabled: true
15
- PreferredMethods:
16
- collect: map
17
- collect!: map!
18
- find: detect
19
- find_all: select
20
- reduce: inject
21
- Style/DotPosition:
22
- Description: Checks the position of the dot in multi-line method calls.
23
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
24
- Enabled: true
25
- EnforcedStyle: trailing
26
- SupportedStyles:
27
- - trailing
28
- Style/FileName:
29
- Description: Use snake_case for source file names.
30
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
31
- Enabled: false
32
- Exclude: []
33
- Style/GuardClause:
34
- Description: Check for conditionals that can be replaced with guard clauses
35
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
36
- Enabled: false
37
- MinBodyLength: 1
38
- Style/IfUnlessModifier:
39
- Description: Favor modifier if/unless usage when you have a single-line body.
40
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
41
- Enabled: false
42
- MaxLineLength: 80
43
- Style/OptionHash:
44
- Description: Don't use option hashes when you can use keyword arguments.
45
- Enabled: false
46
- Style/PercentLiteralDelimiters:
47
- Description: Use `%`-literal delimiters consistently
48
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
49
- Enabled: false
50
- PreferredDelimiters:
51
- "%": "()"
52
- "%i": "()"
53
- "%q": "()"
54
- "%Q": "()"
55
- "%r": "{}"
56
- "%s": "()"
57
- "%w": "()"
58
- "%W": "()"
59
- "%x": "()"
60
- Style/PredicateName:
61
- Description: Check the names of predicate methods.
62
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
63
- Enabled: true
64
- NamePrefix:
65
- - is_
66
- - has_
67
- - have_
68
- NamePrefixBlacklist:
69
- - is_
70
- Exclude:
71
- - spec/**/*
72
- Style/RaiseArgs:
73
- Description: Checks the arguments passed to raise/fail.
74
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
75
- Enabled: false
76
- EnforcedStyle: exploded
77
- SupportedStyles:
78
- - compact
79
- - exploded
80
- Style/SignalException:
81
- Description: Checks for proper usage of fail and raise.
82
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
83
- Enabled: false
84
- EnforcedStyle: semantic
85
- SupportedStyles:
86
- - only_raise
87
- - only_fail
88
- - semantic
89
- Style/SingleLineBlockParams:
90
- Description: Enforces the names of some block params.
91
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
92
- Enabled: false
93
- Methods:
94
- - reduce:
95
- - a
96
- - e
97
- - inject:
98
- - a
99
- - e
100
- Style/SingleLineMethods:
101
- Description: Avoid single-line methods.
102
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
103
- Enabled: false
104
- AllowIfMethodIsEmpty: true
105
- Style/StringLiterals:
106
- Description: Checks if uses of quotes match the configured preference.
107
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
108
- Enabled: true
109
- EnforcedStyle: double_quotes
110
- SupportedStyles:
111
- - single_quotes
112
- - double_quotes
113
- Style/StringLiteralsInInterpolation:
114
- Description: Checks if uses of quotes inside expressions in interpolated strings
115
- match the configured preference.
116
- Enabled: true
117
- EnforcedStyle: single_quotes
118
- SupportedStyles:
119
- - single_quotes
120
- - double_quotes
121
- Style/TrailingComma:
122
- Description: Checks for trailing comma in parameter lists and literals.
123
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
124
- Enabled: false
125
- EnforcedStyleForMultiline: no_comma
126
- SupportedStyles:
127
- - comma
128
- Metrics/AbcSize:
129
- Description: A calculated magnitude based on number of assignments, branches, and
130
- conditions.
131
- Enabled: false
132
- Max: 15
133
- Metrics/ClassLength:
134
- Description: Avoid classes longer than 100 lines of code.
135
- Enabled: false
136
- CountComments: false
137
- Max: 100
138
- Metrics/ModuleLength:
139
- CountComments: false
140
- Max: 100
141
- Description: Avoid modules longer than 100 lines of code.
142
- Enabled: false
143
- Metrics/CyclomaticComplexity:
144
- Description: A complexity metric that is strongly correlated to the number of test
145
- cases needed to validate a method.
146
- Enabled: false
147
- Max: 6
148
- Metrics/MethodLength:
149
- Description: Avoid methods longer than 10 lines of code.
150
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
151
- Enabled: false
152
- CountComments: false
153
- Max: 10
154
- Metrics/ParameterLists:
155
- Description: Avoid parameter lists longer than three or four parameters.
156
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
157
- Enabled: false
158
- Max: 5
159
- CountKeywordArgs: true
160
- Metrics/PerceivedComplexity:
161
- Description: A complexity metric geared towards measuring complexity for a human
162
- reader.
163
- Enabled: false
164
- Max: 7
165
- Lint/AssignmentInCondition:
166
- Description: Don't use assignment in conditions.
167
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
168
- Enabled: false
169
- AllowSafeAssignment: true
170
- Style/InlineComment:
171
- Description: Avoid inline comments.
172
- Enabled: false
173
- Style/AccessorMethodName:
174
- Description: Check the naming of accessor methods for get_/set_.
175
- Enabled: false
176
- Style/Alias:
177
- Description: Use alias_method instead of alias.
178
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
179
- Enabled: false
180
- Style/Documentation:
181
- Description: Document classes and non-namespace modules.
182
- Enabled: false
183
- Style/DoubleNegation:
184
- Description: Checks for uses of double negation (!!).
185
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
186
- Enabled: false
187
- Style/EachWithObject:
188
- Description: Prefer `each_with_object` over `inject` or `reduce`.
189
- Enabled: false
190
- Style/EmptyLiteral:
191
- Description: Prefer literals to Array.new/Hash.new/String.new.
192
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
193
- Enabled: false
194
- Style/ModuleFunction:
195
- Description: Checks for usage of `extend self` in modules.
196
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
197
- Enabled: false
198
- Style/OneLineConditional:
199
- Description: Favor the ternary operator(?:) over if/then/else/end constructs.
200
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
201
- Enabled: false
202
- Style/PerlBackrefs:
203
- Description: Avoid Perl-style regex back references.
204
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
205
- Enabled: false
206
- Style/Send:
207
- Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send`
208
- may overlap with existing methods.
209
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#prefer-public-send
210
- Enabled: false
211
- Style/SpecialGlobalVars:
212
- Description: Avoid Perl-style global variables.
213
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
214
- Enabled: false
215
- Style/VariableInterpolation:
216
- Description: Don't interpolate global, instance and class variables directly in
217
- strings.
218
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
219
- Enabled: false
220
- Style/WhenThen:
221
- Description: Use when x then ... for one-line cases.
222
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
223
- Enabled: false
224
- Lint/EachWithObjectArgument:
225
- Description: Check for immutable argument given to each_with_object.
226
- Enabled: true
227
- Lint/EndAlignment:
228
- Description: This cop checks whether the end keywords are aligned properly.
229
- AlignWith: variable
230
- Enabled: true
231
- Lint/HandleExceptions:
232
- Description: Don't suppress exception.
233
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
234
- Enabled: false
235
- Lint/LiteralInCondition:
236
- Description: Checks of literals used in conditions.
237
- Enabled: false
238
- Lint/LiteralInInterpolation:
239
- Description: Checks for literals used in interpolation.
240
- Enabled: false