ffi-geos 2.3.1 → 2.4.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.
- 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:
|