ffi-geos 2.3.1 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop-minitest.yml +40 -17
- data/.rubocop.yml +145 -47
- data/.rubocop_todo.yml +4 -3
- data/MIT-LICENSE +1 -1
- data/README.rdoc +2 -0
- data/ffi-geos.gemspec +1 -1
- data/lib/ffi-geos/geojson_reader.rb +35 -0
- data/lib/ffi-geos/geojson_writer.rb +49 -0
- data/lib/ffi-geos/geometry.rb +6 -0
- data/lib/ffi-geos/geometry_collection.rb +1 -1
- data/lib/ffi-geos/line_string.rb +1 -1
- data/lib/ffi-geos/polygon.rb +1 -1
- data/lib/ffi-geos/prepared_geometry.rb +20 -0
- data/lib/ffi-geos/version.rb +1 -1
- data/lib/ffi-geos/wkb_writer.rb +12 -0
- data/lib/ffi-geos.rb +78 -0
- data/test/geojson_reader_tests.rb +170 -0
- data/test/geojson_writer_tests.rb +103 -0
- data/test/geometry_tests.rb +18 -0
- data/test/prepared_geometry_tests.rb +30 -0
- data/test/wkb_writer_tests.rb +20 -0
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b2dd7e2272fe9d6c29683aae6ff52d98846d288a8507884d38653468e87dd2e
|
4
|
+
data.tar.gz: 693c29be228d24f4be3b2ae0a7f71ef1f2757e9b1ae900f45cdff6686127b0c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e1eeaa9c89a1b7f8da8a7b2e753ff297138bc36821d068dc57428ab34e7b2592fd4b020e287b5091ad28c524639911296c38483723a5ed84b8f5cefe3e49e14
|
7
|
+
data.tar.gz: d25319769baf08025584885d928fedc0323b9e9e192dac6c96f863e7d7bbbd4a8905eb939cfb1ae180c23e2dd2d9d69467b16f6af6873d7f079901f7e61115d6
|
data/.rubocop-minitest.yml
CHANGED
@@ -28,17 +28,6 @@ Minitest/AssertInDelta:
|
|
28
28
|
Enabled: true
|
29
29
|
VersionAdded: '0.10'
|
30
30
|
|
31
|
-
Minitest/AssertionInLifecycleHook:
|
32
|
-
Description: 'This cop checks for usage of assertions in lifecycle hooks.'
|
33
|
-
Enabled: true
|
34
|
-
VersionAdded: '0.10'
|
35
|
-
|
36
|
-
Minitest/AssertMatch:
|
37
|
-
Description: 'This cop enforces the test to use `assert_match` instead of using `assert(matcher.match(object))`.'
|
38
|
-
StyleGuide: 'https://minitest.rubystyle.guide#assert-match'
|
39
|
-
Enabled: true
|
40
|
-
VersionAdded: '0.6'
|
41
|
-
|
42
31
|
Minitest/AssertIncludes:
|
43
32
|
Description: 'This cop enforces the test to use `assert_includes` instead of using `assert(collection.include?(object))`.'
|
44
33
|
StyleGuide: 'https://minitest.rubystyle.guide#assert-includes'
|
@@ -57,6 +46,12 @@ Minitest/AssertKindOf:
|
|
57
46
|
Enabled: true
|
58
47
|
VersionAdded: '0.10'
|
59
48
|
|
49
|
+
Minitest/AssertMatch:
|
50
|
+
Description: 'This cop enforces the test to use `assert_match` instead of using `assert(matcher.match(object))`.'
|
51
|
+
StyleGuide: 'https://minitest.rubystyle.guide#assert-match'
|
52
|
+
Enabled: true
|
53
|
+
VersionAdded: '0.6'
|
54
|
+
|
60
55
|
Minitest/AssertNil:
|
61
56
|
Description: 'This cop enforces the test to use `assert_nil` instead of using `assert_equal(nil, something)` or `assert(something.nil?)`.'
|
62
57
|
StyleGuide: 'https://minitest.rubystyle.guide#assert-nil'
|
@@ -75,6 +70,12 @@ Minitest/AssertPathExists:
|
|
75
70
|
Enabled: true
|
76
71
|
VersionAdded: '0.10'
|
77
72
|
|
73
|
+
Minitest/AssertPredicate:
|
74
|
+
Description: 'This cop enforces the test to use `assert_predicate` instead of using `assert(obj.a_predicate_method?)`.'
|
75
|
+
StyleGuide: 'https://minitest.rubystyle.guide/#assert-predicate'
|
76
|
+
Enabled: true
|
77
|
+
VersionAdded: '0.18'
|
78
|
+
|
78
79
|
Minitest/AssertRespondTo:
|
79
80
|
Description: 'This cop enforces the test to use `assert_respond_to(object, :do_something)` over `assert(object.respond_to?(:do_something))`.'
|
80
81
|
StyleGuide: 'https://minitest.rubystyle.guide#assert-responds-to-method'
|
@@ -99,6 +100,17 @@ Minitest/AssertWithExpectedArgument:
|
|
99
100
|
Safe: false
|
100
101
|
VersionAdded: '0.11'
|
101
102
|
|
103
|
+
Minitest/AssertionInLifecycleHook:
|
104
|
+
Description: 'This cop checks for usage of assertions in lifecycle hooks.'
|
105
|
+
Enabled: true
|
106
|
+
VersionAdded: '0.10'
|
107
|
+
|
108
|
+
Minitest/DuplicateTestRun:
|
109
|
+
Description: 'This cop detects duplicate test runs caused by one test class inheriting from another.'
|
110
|
+
StyleGuide: 'https://minitest.rubystyle.guide/#subclassing-test-cases'
|
111
|
+
Enabled: true
|
112
|
+
VersionAdded: '0.19'
|
113
|
+
|
102
114
|
Minitest/GlobalExpectations:
|
103
115
|
Description: 'This cop checks for deprecated global expectations.'
|
104
116
|
StyleGuide: 'https://minitest.rubystyle.guide#global-expectations'
|
@@ -164,12 +176,6 @@ Minitest/RefuteIncludes:
|
|
164
176
|
Enabled: true
|
165
177
|
VersionAdded: '0.3'
|
166
178
|
|
167
|
-
Minitest/RefuteMatch:
|
168
|
-
Description: 'This cop enforces the test to use `refute_match` instead of using `refute(matcher.match(object))`.'
|
169
|
-
StyleGuide: 'https://minitest.rubystyle.guide#refute-match'
|
170
|
-
Enabled: true
|
171
|
-
VersionAdded: '0.6'
|
172
|
-
|
173
179
|
Minitest/RefuteInstanceOf:
|
174
180
|
Description: 'This cop enforces the test to use `refute_instance_of(Class, object)` over `refute(object.instance_of?(Class))`.'
|
175
181
|
StyleGuide: 'https://minitest.rubystyle.guide#refute-instance-of'
|
@@ -182,6 +188,12 @@ Minitest/RefuteKindOf:
|
|
182
188
|
Enabled: true
|
183
189
|
VersionAdded: '0.10'
|
184
190
|
|
191
|
+
Minitest/RefuteMatch:
|
192
|
+
Description: 'This cop enforces the test to use `refute_match` instead of using `refute(matcher.match(object))`.'
|
193
|
+
StyleGuide: 'https://minitest.rubystyle.guide#refute-match'
|
194
|
+
Enabled: true
|
195
|
+
VersionAdded: '0.6'
|
196
|
+
|
185
197
|
Minitest/RefuteNil:
|
186
198
|
Description: 'This cop enforces the test to use `refute_nil` instead of using `refute_equal(nil, something)` or `refute(something.nil?)`.'
|
187
199
|
StyleGuide: 'https://minitest.rubystyle.guide#refute-nil'
|
@@ -194,12 +206,23 @@ Minitest/RefutePathExists:
|
|
194
206
|
Enabled: true
|
195
207
|
VersionAdded: '0.10'
|
196
208
|
|
209
|
+
Minitest/RefutePredicate:
|
210
|
+
Description: 'This cop enforces the test to use `refute_predicate` instead of using `refute(obj.a_predicate_method?)`.'
|
211
|
+
StyleGuide: 'https://minitest.rubystyle.guide/#refute-predicate'
|
212
|
+
Enabled: true
|
213
|
+
VersionAdded: '0.18'
|
214
|
+
|
197
215
|
Minitest/RefuteRespondTo:
|
198
216
|
Description: 'This cop enforces the test to use `refute_respond_to(object, :do_something)` over `refute(object.respond_to?(:do_something))`.'
|
199
217
|
StyleGuide: 'https://minitest.rubystyle.guide#refute-respond-to'
|
200
218
|
Enabled: true
|
201
219
|
VersionAdded: '0.4'
|
202
220
|
|
221
|
+
Minitest/SkipEnsure:
|
222
|
+
Description: 'Checks that `ensure` call even if `skip`.'
|
223
|
+
Enabled: true
|
224
|
+
VersionAdded: '0.20'
|
225
|
+
|
203
226
|
Minitest/TestMethodName:
|
204
227
|
Description: 'This cop enforces that test method names start with `test_` prefix.'
|
205
228
|
Enabled: true
|
data/.rubocop.yml
CHANGED
@@ -250,6 +250,25 @@ Gemspec/DateAssignment:
|
|
250
250
|
Include:
|
251
251
|
- '**/*.gemspec'
|
252
252
|
|
253
|
+
Gemspec/DependencyVersion:
|
254
|
+
Description: 'Requires or forbids specifying gem dependency versions.'
|
255
|
+
Enabled: false
|
256
|
+
VersionAdded: '1.29'
|
257
|
+
EnforcedStyle: 'required'
|
258
|
+
SupportedStyles:
|
259
|
+
- 'required'
|
260
|
+
- 'forbidden'
|
261
|
+
Include:
|
262
|
+
- '**/*.gemspec'
|
263
|
+
AllowedGems: []
|
264
|
+
|
265
|
+
Gemspec/DeprecatedAttributeAssignment:
|
266
|
+
Description: Checks that deprecated attribute assignments are not set in a gemspec file.
|
267
|
+
Enabled: false
|
268
|
+
VersionAdded: '1.30'
|
269
|
+
Include:
|
270
|
+
- '**/*.gemspec'
|
271
|
+
|
253
272
|
Gemspec/DuplicatedAssignment:
|
254
273
|
Description: 'An attribute assignment method calls should be listed only once in a gemspec.'
|
255
274
|
Enabled: true
|
@@ -270,7 +289,7 @@ Gemspec/OrderedDependencies:
|
|
270
289
|
- '**/*.gemspec'
|
271
290
|
|
272
291
|
Gemspec/RequireMFA:
|
273
|
-
Description: 'Checks that the gemspec has metadata to require
|
292
|
+
Description: 'Checks that the gemspec has metadata to require Multi-Factor Authentication from RubyGems.'
|
274
293
|
Enabled: true
|
275
294
|
VersionAdded: '1.23'
|
276
295
|
Reference:
|
@@ -438,13 +457,13 @@ Layout/ClassStructure:
|
|
438
457
|
- prepend
|
439
458
|
- extend
|
440
459
|
ExpectedOrder:
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
460
|
+
- module_inclusion
|
461
|
+
- constants
|
462
|
+
- public_class_methods
|
463
|
+
- initializer
|
464
|
+
- public_methods
|
465
|
+
- protected_methods
|
466
|
+
- private_methods
|
448
467
|
|
449
468
|
Layout/ClosingHeredocIndentation:
|
450
469
|
Description: 'Checks the indentation of here document closings.'
|
@@ -891,7 +910,7 @@ Layout/HeredocArgumentClosingParenthesis:
|
|
891
910
|
VersionAdded: '0.68'
|
892
911
|
|
893
912
|
Layout/HeredocIndentation:
|
894
|
-
Description: '
|
913
|
+
Description: 'Checks the indentation of the here document bodies.'
|
895
914
|
StyleGuide: '#squiggly-heredocs'
|
896
915
|
Enabled: true
|
897
916
|
VersionAdded: '0.49'
|
@@ -924,7 +943,7 @@ Layout/IndentationStyle:
|
|
924
943
|
VersionChanged: '0.82'
|
925
944
|
# By default the indentation width from `Layout/IndentationWidth` is used,
|
926
945
|
# but it can be overridden by setting this parameter.
|
927
|
-
# It is used during
|
946
|
+
# It is used during autocorrection to determine how many spaces should
|
928
947
|
# replace each tab.
|
929
948
|
IndentationWidth: ~
|
930
949
|
EnforcedStyle: spaces
|
@@ -939,7 +958,8 @@ Layout/IndentationWidth:
|
|
939
958
|
VersionAdded: '0.49'
|
940
959
|
# Number of spaces for each indentation level.
|
941
960
|
Width: 2
|
942
|
-
|
961
|
+
AllowedPatterns: []
|
962
|
+
# IgnoredPatterns: [] # deprecated
|
943
963
|
|
944
964
|
Layout/InitialIndentation:
|
945
965
|
Description: >-
|
@@ -993,10 +1013,11 @@ Layout/LineLength:
|
|
993
1013
|
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
994
1014
|
# directives like '# rubocop: enable ...' when calculating a line's length.
|
995
1015
|
IgnoreCopDirectives: true
|
996
|
-
# The
|
1016
|
+
# The AllowedPatterns option is a list of !ruby/regexp and/or string
|
997
1017
|
# elements. Strings will be converted to Regexp objects. A line that matches
|
998
1018
|
# any regular expression listed in this option will be ignored by LineLength.
|
999
|
-
|
1019
|
+
AllowedPatterns: []
|
1020
|
+
# IgnoredPatterns: []
|
1000
1021
|
|
1001
1022
|
Layout/MultilineArrayBraceLayout:
|
1002
1023
|
Description: >-
|
@@ -1669,7 +1690,9 @@ Lint/DuplicateRegexpCharacterClassElement:
|
|
1669
1690
|
Lint/DuplicateRequire:
|
1670
1691
|
Description: 'Check for duplicate `require`s and `require_relative`s.'
|
1671
1692
|
Enabled: true
|
1693
|
+
SafeAutoCorrect: false
|
1672
1694
|
VersionAdded: '0.90'
|
1695
|
+
VersionChanged: '1.28'
|
1673
1696
|
|
1674
1697
|
Lint/DuplicateRescueException:
|
1675
1698
|
Description: 'Checks that there are no repeated exceptions used in `rescue` expressions.'
|
@@ -1688,7 +1711,7 @@ Lint/ElseLayout:
|
|
1688
1711
|
VersionChanged: '1.2'
|
1689
1712
|
|
1690
1713
|
Lint/EmptyBlock:
|
1691
|
-
Description: '
|
1714
|
+
Description: 'Checks for blocks without a body.'
|
1692
1715
|
Enabled: true
|
1693
1716
|
VersionAdded: '1.1'
|
1694
1717
|
VersionChanged: '1.15'
|
@@ -1702,7 +1725,7 @@ Lint/EmptyClass:
|
|
1702
1725
|
AllowComments: false
|
1703
1726
|
|
1704
1727
|
Lint/EmptyConditionalBody:
|
1705
|
-
Description: '
|
1728
|
+
Description: 'Checks for the presence of `if`, `elsif` and `unless` branches without a body.'
|
1706
1729
|
Enabled: true
|
1707
1730
|
AllowComments: true
|
1708
1731
|
VersionAdded: '0.89'
|
@@ -1824,12 +1847,14 @@ Lint/IneffectiveAccessModifier:
|
|
1824
1847
|
Lint/InheritException:
|
1825
1848
|
Description: 'Avoid inheriting from the `Exception` class.'
|
1826
1849
|
Enabled: true
|
1850
|
+
SafeAutoCorrect: false
|
1827
1851
|
VersionAdded: '0.41'
|
1852
|
+
VersionChanged: '1.26'
|
1828
1853
|
# The default base class in favour of `Exception`.
|
1829
|
-
EnforcedStyle:
|
1854
|
+
EnforcedStyle: standard_error
|
1830
1855
|
SupportedStyles:
|
1831
|
-
- runtime_error
|
1832
1856
|
- standard_error
|
1857
|
+
- runtime_error
|
1833
1858
|
|
1834
1859
|
Lint/InterpolationCheck:
|
1835
1860
|
Description: 'Raise warning for interpolation in single q strs.'
|
@@ -1879,8 +1904,8 @@ Lint/MissingCopEnableDirective:
|
|
1879
1904
|
|
1880
1905
|
Lint/MissingSuper:
|
1881
1906
|
Description: >-
|
1882
|
-
|
1883
|
-
without calls to `super
|
1907
|
+
Checks for the presence of constructors and lifecycle callbacks
|
1908
|
+
without calls to `super`.
|
1884
1909
|
Enabled: true
|
1885
1910
|
VersionAdded: '0.89'
|
1886
1911
|
VersionChanged: '1.4'
|
@@ -1908,7 +1933,7 @@ Lint/NestedPercentLiteral:
|
|
1908
1933
|
VersionAdded: '0.52'
|
1909
1934
|
|
1910
1935
|
Lint/NextWithoutAccumulator:
|
1911
|
-
Description:
|
1936
|
+
Description: >-
|
1912
1937
|
Do not omit the accumulator when calling `next`
|
1913
1938
|
in a `reduce`/`inject` block.
|
1914
1939
|
Enabled: true
|
@@ -2019,6 +2044,8 @@ Lint/RedundantDirGlobSort:
|
|
2019
2044
|
Description: 'Checks for redundant `sort` method to `Dir.glob` and `Dir[]`.'
|
2020
2045
|
Enabled: true
|
2021
2046
|
VersionAdded: '1.8'
|
2047
|
+
VersionChanged: '1.26'
|
2048
|
+
SafeAutoCorrect: false
|
2022
2049
|
|
2023
2050
|
Lint/RedundantRequireStatement:
|
2024
2051
|
Description: 'Checks for unnecessary `require` statement.'
|
@@ -2062,6 +2089,12 @@ Lint/RedundantWithObject:
|
|
2062
2089
|
Enabled: true
|
2063
2090
|
VersionAdded: '0.51'
|
2064
2091
|
|
2092
|
+
Lint/RefinementImportMethods:
|
2093
|
+
Description: 'Use `Refinement#import_methods` when using `include` or `prepend` in `refine` block.'
|
2094
|
+
Enabled: true
|
2095
|
+
SafeAutoCorrect: false
|
2096
|
+
VersionAdded: '1.27'
|
2097
|
+
|
2065
2098
|
Lint/RegexpAsCondition:
|
2066
2099
|
Description: >-
|
2067
2100
|
Do not use regexp literal as a condition.
|
@@ -2200,7 +2233,7 @@ Lint/Syntax:
|
|
2200
2233
|
VersionAdded: '0.9'
|
2201
2234
|
|
2202
2235
|
Lint/ToEnumArguments:
|
2203
|
-
Description: '
|
2236
|
+
Description: 'Ensures that `to_enum`/`enum_for`, called for the current method, has correct arguments.'
|
2204
2237
|
Enabled: true
|
2205
2238
|
VersionAdded: '1.1'
|
2206
2239
|
|
@@ -2210,12 +2243,12 @@ Lint/ToJSON:
|
|
2210
2243
|
VersionAdded: '0.66'
|
2211
2244
|
|
2212
2245
|
Lint/TopLevelReturnWithArgument:
|
2213
|
-
Description: '
|
2246
|
+
Description: 'Detects top level return statements with argument.'
|
2214
2247
|
Enabled: true
|
2215
2248
|
VersionAdded: '0.89'
|
2216
2249
|
|
2217
2250
|
Lint/TrailingCommaInAttributeDeclaration:
|
2218
|
-
Description: '
|
2251
|
+
Description: 'Checks for trailing commas in attribute declarations.'
|
2219
2252
|
Enabled: true
|
2220
2253
|
VersionAdded: '0.90'
|
2221
2254
|
|
@@ -2264,14 +2297,15 @@ Lint/UnreachableCode:
|
|
2264
2297
|
VersionAdded: '0.9'
|
2265
2298
|
|
2266
2299
|
Lint/UnreachableLoop:
|
2267
|
-
Description: '
|
2300
|
+
Description: 'Checks for loops that will have at most one iteration.'
|
2268
2301
|
Enabled: true
|
2269
2302
|
VersionAdded: '0.89'
|
2270
2303
|
VersionChanged: '1.7'
|
2271
|
-
|
2304
|
+
AllowedPatterns:
|
2272
2305
|
# RSpec uses `times` in its message expectations
|
2273
2306
|
# eg. `exactly(2).times`
|
2274
2307
|
- !ruby/regexp /(exactly|at_least|at_most)\(\d+\)\.times/
|
2308
|
+
# IgnoredPatterns: [] # deprecated
|
2275
2309
|
|
2276
2310
|
Lint/UnusedBlockArgument:
|
2277
2311
|
Description: 'Checks for unused block arguments.'
|
@@ -2322,17 +2356,12 @@ Lint/UselessAssignment:
|
|
2322
2356
|
Enabled: true
|
2323
2357
|
VersionAdded: '0.11'
|
2324
2358
|
|
2325
|
-
Lint/UselessElseWithoutRescue:
|
2326
|
-
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
2327
|
-
Enabled: true
|
2328
|
-
VersionAdded: '0.17'
|
2329
|
-
|
2330
2359
|
Lint/UselessMethodDefinition:
|
2331
2360
|
Description: 'Checks for useless method definitions.'
|
2332
2361
|
Enabled: true
|
2333
2362
|
VersionAdded: '0.90'
|
2363
|
+
VersionChanged: '0.91'
|
2334
2364
|
Safe: false
|
2335
|
-
AllowComments: true
|
2336
2365
|
|
2337
2366
|
Lint/UselessRuby2Keywords:
|
2338
2367
|
Description: 'Finds unnecessary uses of `ruby2_keywords`.'
|
@@ -2497,12 +2526,14 @@ Naming/BinaryOperatorParameterName:
|
|
2497
2526
|
|
2498
2527
|
Naming/BlockForwarding:
|
2499
2528
|
Description: 'Use anonymous block forwarding.'
|
2529
|
+
StyleGuide: '#block-forwarding'
|
2500
2530
|
Enabled: true
|
2501
2531
|
VersionAdded: '1.24'
|
2502
2532
|
EnforcedStyle: anonymous
|
2503
2533
|
SupportedStyles:
|
2504
2534
|
- anonymous
|
2505
2535
|
- explicit
|
2536
|
+
BlockForwardingName: block
|
2506
2537
|
|
2507
2538
|
Naming/BlockParameterName:
|
2508
2539
|
Description: >-
|
@@ -2541,6 +2572,7 @@ Naming/FileName:
|
|
2541
2572
|
StyleGuide: '#snake-case-files'
|
2542
2573
|
Enabled: true
|
2543
2574
|
VersionAdded: '0.50'
|
2575
|
+
VersionChanged: '1.23'
|
2544
2576
|
# Camel case file names listed in `AllCops:Include` and all file names listed
|
2545
2577
|
# in `AllCops:Exclude` are excluded by default. Add extra excludes here.
|
2546
2578
|
Exclude: []
|
@@ -2681,11 +2713,12 @@ Naming/MethodName:
|
|
2681
2713
|
- camelCase
|
2682
2714
|
# Method names matching patterns are always allowed.
|
2683
2715
|
#
|
2684
|
-
#
|
2716
|
+
# AllowedPatterns:
|
2685
2717
|
# - '\A\s*onSelectionBulkChange\s*'
|
2686
2718
|
# - '\A\s*onSelectionCleared\s*'
|
2687
2719
|
#
|
2688
|
-
|
2720
|
+
AllowedPatterns: []
|
2721
|
+
# IgnoredPatterns: [] # deprecated
|
2689
2722
|
|
2690
2723
|
Naming/MethodParameterName:
|
2691
2724
|
Description: >-
|
@@ -2761,6 +2794,7 @@ Naming/VariableName:
|
|
2761
2794
|
- snake_case
|
2762
2795
|
- camelCase
|
2763
2796
|
AllowedIdentifiers: []
|
2797
|
+
AllowedPatterns: []
|
2764
2798
|
|
2765
2799
|
Naming/VariableNumber:
|
2766
2800
|
Description: 'Use the configured style when numbering symbols, methods and variables.'
|
@@ -2782,9 +2816,15 @@ Naming/VariableNumber:
|
|
2782
2816
|
- rfc822 # Time#rfc822
|
2783
2817
|
- rfc2822 # Time#rfc2822
|
2784
2818
|
- rfc3339 # DateTime.rfc3339
|
2819
|
+
AllowedPatterns: []
|
2785
2820
|
|
2786
2821
|
#################### Security ##############################
|
2787
2822
|
|
2823
|
+
Security/CompoundHash:
|
2824
|
+
Description: 'When overwriting Object#hash to combine values, prefer delegating to Array#hash over writing a custom implementation.'
|
2825
|
+
Enabled: true
|
2826
|
+
VersionAdded: '1.28'
|
2827
|
+
|
2788
2828
|
Security/Eval:
|
2789
2829
|
Description: 'The use of eval represents a serious security risk.'
|
2790
2830
|
Enabled: true
|
@@ -3084,7 +3124,7 @@ Style/CaseEquality:
|
|
3084
3124
|
AllowOnConstant: false
|
3085
3125
|
|
3086
3126
|
Style/CaseLikeIf:
|
3087
|
-
Description: '
|
3127
|
+
Description: 'Identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
3088
3128
|
StyleGuide: '#case-vs-if-else'
|
3089
3129
|
Enabled: true
|
3090
3130
|
Safe: false
|
@@ -3158,7 +3198,7 @@ Style/ClassMethodsDefinitions:
|
|
3158
3198
|
StyleGuide: '#def-self-class-methods'
|
3159
3199
|
Enabled: false
|
3160
3200
|
VersionAdded: '0.89'
|
3161
|
-
EnforcedStyle:
|
3201
|
+
EnforcedStyle: def_self
|
3162
3202
|
SupportedStyles:
|
3163
3203
|
- def_self
|
3164
3204
|
- self_class
|
@@ -3479,6 +3519,12 @@ Style/EndlessMethod:
|
|
3479
3519
|
- allow_always
|
3480
3520
|
- disallow
|
3481
3521
|
|
3522
|
+
Style/EnvHome:
|
3523
|
+
Description: "Checks for consistent usage of `ENV['HOME']`."
|
3524
|
+
Enabled: true
|
3525
|
+
Safe: false
|
3526
|
+
VersionAdded: '1.29'
|
3527
|
+
|
3482
3528
|
Style/EvalWithLocation:
|
3483
3529
|
Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
|
3484
3530
|
Enabled: true
|
@@ -3516,6 +3562,16 @@ Style/ExponentialNotation:
|
|
3516
3562
|
- engineering
|
3517
3563
|
- integral
|
3518
3564
|
|
3565
|
+
Style/FetchEnvVar:
|
3566
|
+
Description: >-
|
3567
|
+
Suggests `ENV.fetch` for the replacement of `ENV[]`.
|
3568
|
+
Reference:
|
3569
|
+
- https://rubystyle.guide/#hash-fetch-defaults
|
3570
|
+
Enabled: true
|
3571
|
+
VersionAdded: '1.28'
|
3572
|
+
# Environment variables to be excluded from the inspection.
|
3573
|
+
AllowedVars: []
|
3574
|
+
|
3519
3575
|
Style/FileRead:
|
3520
3576
|
Description: 'Favor `File.(bin)read` convenience methods.'
|
3521
3577
|
StyleGuide: '#file-read'
|
@@ -3547,8 +3603,9 @@ Style/For:
|
|
3547
3603
|
Description: 'Checks use of for or each in multiline loops.'
|
3548
3604
|
StyleGuide: '#no-for-loops'
|
3549
3605
|
Enabled: true
|
3606
|
+
SafeAutoCorrect: false
|
3550
3607
|
VersionAdded: '0.13'
|
3551
|
-
VersionChanged: '
|
3608
|
+
VersionChanged: '1.26'
|
3552
3609
|
EnforcedStyle: each
|
3553
3610
|
SupportedStyles:
|
3554
3611
|
- each
|
@@ -3628,10 +3685,11 @@ Style/GuardClause:
|
|
3628
3685
|
StyleGuide: '#no-nested-conditionals'
|
3629
3686
|
Enabled: true
|
3630
3687
|
VersionAdded: '0.20'
|
3631
|
-
VersionChanged: '
|
3688
|
+
VersionChanged: '1.28'
|
3632
3689
|
# `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
|
3633
3690
|
# needs to have to trigger this cop
|
3634
3691
|
MinBodyLength: 1
|
3692
|
+
AllowConsecutiveConditionals: false
|
3635
3693
|
|
3636
3694
|
Style/HashAsLastArrayItem:
|
3637
3695
|
Description: >-
|
@@ -3704,6 +3762,8 @@ Style/HashSyntax:
|
|
3704
3762
|
- always
|
3705
3763
|
# forces use of explicit hash literal value.
|
3706
3764
|
- never
|
3765
|
+
# accepts both shorthand and explicit use of hash literal value.
|
3766
|
+
- either
|
3707
3767
|
# Force hashes that have a symbol value to use hash rockets
|
3708
3768
|
UseHashRocketsWithSymbolValues: false
|
3709
3769
|
# Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
|
@@ -3818,8 +3878,8 @@ Style/InverseMethods:
|
|
3818
3878
|
:>: :<=
|
3819
3879
|
# `ActiveSupport` defines some common inverse methods. They are listed below,
|
3820
3880
|
# and not enabled by default.
|
3821
|
-
|
3822
|
-
|
3881
|
+
# :present?: :blank?,
|
3882
|
+
# :include?: :exclude?
|
3823
3883
|
# `InverseBlocks` are methods that are inverted by inverting the return
|
3824
3884
|
# of the block that is passed to the method
|
3825
3885
|
InverseBlocks:
|
@@ -3880,6 +3940,11 @@ Style/LineEndConcatenation:
|
|
3880
3940
|
VersionAdded: '0.18'
|
3881
3941
|
VersionChanged: '0.64'
|
3882
3942
|
|
3943
|
+
Style/MapCompactWithConditionalBlock:
|
3944
|
+
Description: 'Prefer `select` or `reject` over `map { ... }.compact`.'
|
3945
|
+
Enabled: true
|
3946
|
+
VersionAdded: '1.30'
|
3947
|
+
|
3883
3948
|
Style/MapToHash:
|
3884
3949
|
Description: 'Prefer `to_h` with a block over `map.to_h`.'
|
3885
3950
|
Enabled: true
|
@@ -3894,7 +3959,8 @@ Style/MethodCallWithArgsParentheses:
|
|
3894
3959
|
VersionChanged: '1.7'
|
3895
3960
|
IgnoreMacros: true
|
3896
3961
|
IgnoredMethods: []
|
3897
|
-
|
3962
|
+
AllowedPatterns: []
|
3963
|
+
# IgnoredPatterns: [] # deprecated
|
3898
3964
|
IncludedMacros: []
|
3899
3965
|
AllowParenthesesInMultilineCall: false
|
3900
3966
|
AllowParenthesesInChaining: false
|
@@ -4100,7 +4166,7 @@ Style/NegatedIf:
|
|
4100
4166
|
|
4101
4167
|
Style/NegatedIfElseCondition:
|
4102
4168
|
Description: >-
|
4103
|
-
|
4169
|
+
Checks for uses of `if-else` and ternary operators with a negated condition
|
4104
4170
|
which can be simplified by inverting condition and swapping branches.
|
4105
4171
|
Enabled: true
|
4106
4172
|
VersionAdded: '1.2'
|
@@ -4125,6 +4191,11 @@ Style/NegatedWhile:
|
|
4125
4191
|
Enabled: true
|
4126
4192
|
VersionAdded: '0.20'
|
4127
4193
|
|
4194
|
+
Style/NestedFileDirname:
|
4195
|
+
Description: 'Checks for nested `File.dirname`.'
|
4196
|
+
Enabled: true
|
4197
|
+
VersionAdded: '1.26'
|
4198
|
+
|
4128
4199
|
Style/NestedModifier:
|
4129
4200
|
Description: 'Avoid using nested modifiers.'
|
4130
4201
|
StyleGuide: '#no-nested-modifiers'
|
@@ -4280,6 +4351,19 @@ Style/NumericPredicate:
|
|
4280
4351
|
Exclude:
|
4281
4352
|
- 'spec/**/*'
|
4282
4353
|
|
4354
|
+
Style/ObjectThen:
|
4355
|
+
Description: 'Enforces the use of consistent method names `Object#yield_self` or `Object#then`.'
|
4356
|
+
StyleGuide: '#object-yield-self-vs-object-then'
|
4357
|
+
Enabled: true
|
4358
|
+
VersionAdded: '1.28'
|
4359
|
+
# Use `Object#yield_self` or `Object#then`?
|
4360
|
+
# Prefer `Object#yield_self` to `Object#then` (yield_self)
|
4361
|
+
# Prefer `Object#then` to `Object#yield_self` (then)
|
4362
|
+
EnforcedStyle: 'then'
|
4363
|
+
SupportedStyles:
|
4364
|
+
- then
|
4365
|
+
- yield_self
|
4366
|
+
|
4283
4367
|
Style/OneLineConditional:
|
4284
4368
|
Description: >-
|
4285
4369
|
Favor the ternary operator (?:) or multi-line constructs over
|
@@ -4521,10 +4605,20 @@ Style/RedundantFreeze:
|
|
4521
4605
|
VersionAdded: '0.34'
|
4522
4606
|
VersionChanged: '0.66'
|
4523
4607
|
|
4608
|
+
Style/RedundantInitialize:
|
4609
|
+
Description: 'Checks for redundant `initialize` methods.'
|
4610
|
+
Enabled: true
|
4611
|
+
Safe: false
|
4612
|
+
AllowComments: true
|
4613
|
+
VersionAdded: '1.27'
|
4614
|
+
VersionChanged: '1.28'
|
4615
|
+
|
4524
4616
|
Style/RedundantInterpolation:
|
4525
4617
|
Description: 'Checks for strings that are just an interpolated expression.'
|
4526
4618
|
Enabled: true
|
4619
|
+
SafeAutoCorrect: false
|
4527
4620
|
VersionAdded: '0.76'
|
4621
|
+
VersionChanged: '1.30'
|
4528
4622
|
|
4529
4623
|
Style/RedundantParentheses:
|
4530
4624
|
Description: "Checks for parentheses that seem not to serve any purpose."
|
@@ -4635,14 +4729,14 @@ Style/ReturnNil:
|
|
4635
4729
|
|
4636
4730
|
Style/SafeNavigation:
|
4637
4731
|
Description: >-
|
4638
|
-
|
4732
|
+
Transforms usages of a method call safeguarded by
|
4639
4733
|
a check for the existence of the object to
|
4640
4734
|
safe navigation (`&.`).
|
4641
|
-
|
4735
|
+
Autocorrection is unsafe as it assumes the object will
|
4642
4736
|
be `nil` or truthy, but never `false`.
|
4643
4737
|
Enabled: true
|
4644
4738
|
VersionAdded: '0.43'
|
4645
|
-
VersionChanged: '
|
4739
|
+
VersionChanged: '1.27'
|
4646
4740
|
# Safe navigation may cause a statement to start returning `nil` in addition
|
4647
4741
|
# to whatever it used to return.
|
4648
4742
|
ConvertCodeThatCanStartToReturnNil: false
|
@@ -4653,6 +4747,8 @@ Style/SafeNavigation:
|
|
4653
4747
|
- try
|
4654
4748
|
- try!
|
4655
4749
|
SafeAutoCorrect: false
|
4750
|
+
# Maximum length of method chains for register an offense.
|
4751
|
+
MaxChainLength: 2
|
4656
4752
|
|
4657
4753
|
Style/Sample:
|
4658
4754
|
Description: >-
|
@@ -4758,6 +4854,7 @@ Style/SpecialGlobalVars:
|
|
4758
4854
|
SupportedStyles:
|
4759
4855
|
- use_perl_names
|
4760
4856
|
- use_english_names
|
4857
|
+
- use_builtin_english_names
|
4761
4858
|
|
4762
4859
|
Style/StabbyLambdaParentheses:
|
4763
4860
|
Description: 'Check for the usage of parentheses around stabby lambda arguments.'
|
@@ -4859,7 +4956,7 @@ Style/StructInheritance:
|
|
4859
4956
|
VersionChanged: '1.20'
|
4860
4957
|
|
4861
4958
|
Style/SwapValues:
|
4862
|
-
Description: '
|
4959
|
+
Description: 'Enforces the use of shorthand-style swapping of 2 variables.'
|
4863
4960
|
StyleGuide: '#values-swapping'
|
4864
4961
|
Enabled: true
|
4865
4962
|
VersionAdded: '1.1'
|
@@ -4887,13 +4984,14 @@ Style/SymbolProc:
|
|
4887
4984
|
Enabled: true
|
4888
4985
|
Safe: false
|
4889
4986
|
VersionAdded: '0.26'
|
4890
|
-
VersionChanged: '1.
|
4987
|
+
VersionChanged: '1.28'
|
4891
4988
|
AllowMethodsWithArguments: false
|
4892
4989
|
# A list of method names to be ignored by the check.
|
4893
4990
|
# The names should be fairly unique, otherwise you'll end up ignoring lots of code.
|
4894
4991
|
IgnoredMethods:
|
4895
4992
|
- respond_to
|
4896
4993
|
- define_method
|
4994
|
+
AllowComments: false
|
4897
4995
|
|
4898
4996
|
Style/TernaryParentheses:
|
4899
4997
|
Description: 'Checks for use of parentheses around ternary conditions.'
|
@@ -4908,7 +5006,7 @@ Style/TernaryParentheses:
|
|
4908
5006
|
AllowSafeAssignment: true
|
4909
5007
|
|
4910
5008
|
Style/TopLevelMethodDefinition:
|
4911
|
-
Description: '
|
5009
|
+
Description: 'Looks for top-level method definitions.'
|
4912
5010
|
StyleGuide: '#top-level-methods'
|
4913
5011
|
Enabled: false
|
4914
5012
|
VersionAdded: '1.15'
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 10000`
|
3
|
-
# on 2022-
|
3
|
+
# on 2022-06-13 13:21:07 UTC using RuboCop version 1.30.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -54,9 +54,10 @@ Metrics/PerceivedComplexity:
|
|
54
54
|
- 'lib/ffi-geos/tools.rb'
|
55
55
|
- 'test/geometry_tests.rb'
|
56
56
|
|
57
|
-
# Offense count:
|
57
|
+
# Offense count: 9
|
58
58
|
Naming/AccessorMethodName:
|
59
59
|
Exclude:
|
60
|
+
- 'lib/ffi-geos/geojson_writer.rb'
|
60
61
|
- 'lib/ffi-geos/point.rb'
|
61
62
|
- 'lib/ffi-geos/wkb_writer.rb'
|
62
63
|
- 'lib/ffi-geos/wkt_writer.rb'
|
@@ -81,7 +82,7 @@ Naming/PredicateName:
|
|
81
82
|
- 'lib/ffi-geos/geometry.rb'
|
82
83
|
|
83
84
|
# Offense count: 2
|
84
|
-
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
|
85
|
+
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
|
85
86
|
# SupportedStyles: snake_case, normalcase, non_integer
|
86
87
|
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
|
87
88
|
Naming/VariableNumber:
|