rubocop-sketchup 0.16.0 → 0.19.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/Gemfile +2 -2
- data/config/default.yml +2 -2
- data/lib/rubocop-sketchup.rb +1 -1
- data/lib/rubocop/sketchup/cop.rb +11 -12
- data/lib/rubocop/sketchup/features.rb +95 -0
- data/lib/rubocop/sketchup/formatter/extension_review.rb +1 -1
- data/lib/rubocop/sketchup/sketchup_version.rb +8 -4
- data/lib/rubocop/sketchup/version.rb +1 -1
- data/rubocop-sketchup.gemspec +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ece47daae3428b0918e22ceb77535ad907220f4ea8d6b8a0df1f1f375fcc389
|
4
|
+
data.tar.gz: efde5166fd6546561d536e7681869ef40684aed0e2d69104d4fab6372fa2ff01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7118c5bf98cfdabeae09fce334e2fc92bac56394b8acd09c5398dc9726cc647d5b828a722d4525b0889d35ec7da5536c1bdfc04e75d3da4e33dac876c0cabdd
|
7
|
+
data.tar.gz: 2dc355ae4f59fa71275a56f5dba47cfce54e736f157fc51ac736c936c74d7bd1a4cf5e1e66f76ac92f6e67cc054d6f7fb407575490738adefec12374e54514a7
|
data/Gemfile
CHANGED
@@ -8,12 +8,12 @@ group :test do
|
|
8
8
|
gem 'appveyor-worker', '~> 0.2', require: false
|
9
9
|
gem 'rake', '~> 12.0', require: false
|
10
10
|
gem 'rspec', '~> 3.7', require: false
|
11
|
+
gem 'rubocop-performance', '~> 1.7.0', require: false
|
12
|
+
gem 'simplecov', '~> 0.10', require: false
|
11
13
|
end
|
12
14
|
|
13
15
|
group :development do
|
14
16
|
gem 'bump', '~> 0.5', require: false
|
15
|
-
gem 'rubocop-performance', require: false
|
16
|
-
gem 'simplecov', '~> 0.10', require: false
|
17
17
|
gem 'solargraph', '~> 0.34', require: false
|
18
18
|
gem 'thor', '~> 0.20', require: false
|
19
19
|
gem 'yard', '~> 0.9', require: false
|
data/config/default.yml
CHANGED
@@ -18,7 +18,7 @@ AllCops:
|
|
18
18
|
ExtensionBinaries: []
|
19
19
|
# You can set up exclude pattens for all SketchUp departments.
|
20
20
|
Exclude: []
|
21
|
-
#
|
21
|
+
# Alternatively you can set up department wide exclusion.
|
22
22
|
SketchupBugs:
|
23
23
|
Exclude: []
|
24
24
|
SketchupDeprecations:
|
@@ -156,7 +156,7 @@ SketchupRequirements/ExtensionNamespace:
|
|
156
156
|
Description: Confine extensions to a single root namespace.
|
157
157
|
Details: >-
|
158
158
|
To avoid clashing with other extensions a single root namespace
|
159
|
-
should all the extension's code.
|
159
|
+
should contain all the extension's code.
|
160
160
|
Reference: https://github.com/SketchUp/rubocop-sketchup/tree/master/manual/cops_requirements.md#extensionnamespace
|
161
161
|
Exceptions: []
|
162
162
|
Enabled: true
|
data/lib/rubocop-sketchup.rb
CHANGED
@@ -39,7 +39,7 @@ end
|
|
39
39
|
|
40
40
|
# Make it easier to explore available methods on a method.
|
41
41
|
class Object
|
42
|
-
def methods!(queries = true)
|
42
|
+
def methods!(queries = true) # rubocop:disable Style/OptionalBooleanParameter
|
43
43
|
sorted = methods.sort - Object.class.instance_methods
|
44
44
|
sorted.reject! { |m| m.to_s.end_with?('?') } unless queries
|
45
45
|
sorted
|
data/lib/rubocop/sketchup/cop.rb
CHANGED
@@ -12,7 +12,7 @@ module RuboCop
|
|
12
12
|
# class will invoke the inherited hook instead
|
13
13
|
class << self
|
14
14
|
undef inherited
|
15
|
-
def inherited(*) end
|
15
|
+
def inherited(*) end # rubocop:disable Lint/MissingSuper
|
16
16
|
end
|
17
17
|
|
18
18
|
# Special case `Module#<` so that the rspec support rubocop exports
|
@@ -42,8 +42,16 @@ module RuboCop
|
|
42
42
|
|
43
43
|
include SketchUp::Config
|
44
44
|
|
45
|
+
SKETCHUP_DEPARTMENT_SEVERITY = {
|
46
|
+
SketchupRequirements: :error,
|
47
|
+
SketchupDeprecations: :warning,
|
48
|
+
SketchupPerformance: :warning,
|
49
|
+
SketchupBugs: :warning,
|
50
|
+
SketchupSuggestions: :convention,
|
51
|
+
}.freeze
|
52
|
+
|
45
53
|
# Invoke the original inherited hook so our cops are recognized
|
46
|
-
def self.inherited(subclass)
|
54
|
+
def self.inherited(subclass) # rubocop:disable Lint/MissingSuper
|
47
55
|
RuboCop::Cop::Cop.inherited(subclass)
|
48
56
|
end
|
49
57
|
|
@@ -58,16 +66,7 @@ module RuboCop
|
|
58
66
|
end
|
59
67
|
|
60
68
|
def sketchup_severity
|
61
|
-
|
62
|
-
when :SketchupRequirements
|
63
|
-
:error
|
64
|
-
when :SketchupDeprecations
|
65
|
-
:warning
|
66
|
-
when :SketchupPerformance
|
67
|
-
:warning
|
68
|
-
when :SketchupSuggestions
|
69
|
-
:convention
|
70
|
-
end
|
69
|
+
SKETCHUP_DEPARTMENT_SEVERITY[self.class.department]
|
71
70
|
end
|
72
71
|
|
73
72
|
def department_name
|
@@ -41,6 +41,85 @@ module RuboCop
|
|
41
41
|
|
42
42
|
FEATURES = [
|
43
43
|
|
44
|
+
{
|
45
|
+
version: 'SketchUp 2021.1',
|
46
|
+
types: {
|
47
|
+
method: [
|
48
|
+
'Sketchup.focus',
|
49
|
+
'Sketchup::DefinitionList#import',
|
50
|
+
'Sketchup::Face#clear_texture_projection',
|
51
|
+
'Sketchup::Face#texture_positioned?',
|
52
|
+
'Sketchup::Face#texture_projected?',
|
53
|
+
'Sketchup::Face#uv_tile_at',
|
54
|
+
'Sketchup::Group#glued_to',
|
55
|
+
'Sketchup::Group#glued_to=',
|
56
|
+
'Sketchup::Image#glued_to',
|
57
|
+
'Sketchup::Image#glued_to=',
|
58
|
+
'UI::HtmlDialog#get_content_size',
|
59
|
+
'UI::HtmlDialog#get_position',
|
60
|
+
'UI::HtmlDialog#get_size',
|
61
|
+
'UI::HtmlDialog#set_content_size',
|
62
|
+
],
|
63
|
+
},
|
64
|
+
},
|
65
|
+
|
66
|
+
{
|
67
|
+
version: 'SketchUp 2021.0',
|
68
|
+
types: {
|
69
|
+
class: [
|
70
|
+
'Sketchup::LayerFolder',
|
71
|
+
],
|
72
|
+
method: [
|
73
|
+
'Sketchup.redo',
|
74
|
+
'Sketchup::ComponentDefinition#live_component?',
|
75
|
+
'Sketchup::Layer#folder',
|
76
|
+
'Sketchup::Layer#folder=',
|
77
|
+
'Sketchup::LayerFolder#<=>',
|
78
|
+
'Sketchup::LayerFolder#==',
|
79
|
+
'Sketchup::LayerFolder#add_folder',
|
80
|
+
'Sketchup::LayerFolder#add_layer',
|
81
|
+
'Sketchup::LayerFolder#count_folders',
|
82
|
+
'Sketchup::LayerFolder#count_layers',
|
83
|
+
'Sketchup::LayerFolder#display_name',
|
84
|
+
'Sketchup::LayerFolder#each',
|
85
|
+
'Sketchup::LayerFolder#each_folder',
|
86
|
+
'Sketchup::LayerFolder#each_layer',
|
87
|
+
'Sketchup::LayerFolder#folder',
|
88
|
+
'Sketchup::LayerFolder#folder=',
|
89
|
+
'Sketchup::LayerFolder#folders',
|
90
|
+
'Sketchup::LayerFolder#layers',
|
91
|
+
'Sketchup::LayerFolder#length',
|
92
|
+
'Sketchup::LayerFolder#name',
|
93
|
+
'Sketchup::LayerFolder#name=',
|
94
|
+
'Sketchup::LayerFolder#remove_folder',
|
95
|
+
'Sketchup::LayerFolder#remove_layer',
|
96
|
+
'Sketchup::LayerFolder#size',
|
97
|
+
'Sketchup::LayerFolder#visible=',
|
98
|
+
'Sketchup::LayerFolder#visible?',
|
99
|
+
'Sketchup::LayerFolder#visible_on_new_pages=',
|
100
|
+
'Sketchup::LayerFolder#visible_on_new_pages?',
|
101
|
+
'Sketchup::Layers#add_folder',
|
102
|
+
'Sketchup::Layers#count_folders',
|
103
|
+
'Sketchup::Layers#count_layers',
|
104
|
+
'Sketchup::Layers#each_folder',
|
105
|
+
'Sketchup::Layers#each_layer',
|
106
|
+
'Sketchup::Layers#folders',
|
107
|
+
'Sketchup::Layers#layers',
|
108
|
+
'Sketchup::Layers#purge_unused_folders',
|
109
|
+
'Sketchup::Layers#remove_folder',
|
110
|
+
'Sketchup::LayersObserver#onLayerFolderAdded',
|
111
|
+
'Sketchup::LayersObserver#onLayerFolderChanged',
|
112
|
+
'Sketchup::LayersObserver#onLayerFolderRemoved',
|
113
|
+
'Sketchup::LayersObserver#onParentFolderChanged',
|
114
|
+
'Sketchup::Page#layer_folders',
|
115
|
+
'Sketchup::Skp.read_guid',
|
116
|
+
],
|
117
|
+
module: [
|
118
|
+
'Sketchup::Skp',
|
119
|
+
],
|
120
|
+
},
|
121
|
+
},
|
122
|
+
|
44
123
|
{
|
45
124
|
version: 'LayOut 2020.1',
|
46
125
|
types: {
|
@@ -93,6 +172,7 @@ module RuboCop
|
|
93
172
|
'Sketchup::Model#drawing_element_visible?',
|
94
173
|
'Sketchup::Page#get_drawingelement_visibility',
|
95
174
|
'Sketchup::Page#set_drawingelement_visibility',
|
175
|
+
'Sketchup::View#load_texture',
|
96
176
|
'Sketchup::View#text_bounds',
|
97
177
|
],
|
98
178
|
},
|
@@ -1137,6 +1217,8 @@ module RuboCop
|
|
1137
1217
|
add_classification
|
1138
1218
|
add_dimension_linear
|
1139
1219
|
add_dimension_radial
|
1220
|
+
add_folder
|
1221
|
+
add_layer
|
1140
1222
|
add_matchphoto_page
|
1141
1223
|
add_section_plane
|
1142
1224
|
aligned_text_position
|
@@ -1154,10 +1236,14 @@ module RuboCop
|
|
1154
1236
|
colorize_deltas
|
1155
1237
|
colorize_type
|
1156
1238
|
colorize_type=
|
1239
|
+
count_folders
|
1240
|
+
count_layers
|
1157
1241
|
count_used_instances
|
1158
1242
|
dash_scale
|
1159
1243
|
days_remaining
|
1160
1244
|
drawing_element_visible?
|
1245
|
+
each_folder
|
1246
|
+
each_layer
|
1161
1247
|
edit_transform
|
1162
1248
|
effects_modified?
|
1163
1249
|
end_attached_to
|
@@ -1188,6 +1274,7 @@ module RuboCop
|
|
1188
1274
|
instance_path_from_pid_path
|
1189
1275
|
is_polygon?
|
1190
1276
|
large_icon
|
1277
|
+
layer_folders
|
1191
1278
|
layers_modified?
|
1192
1279
|
leader_break_point
|
1193
1280
|
leader_break_point=
|
@@ -1195,6 +1282,7 @@ module RuboCop
|
|
1195
1282
|
line_style
|
1196
1283
|
line_style=
|
1197
1284
|
line_styles
|
1285
|
+
live_component?
|
1198
1286
|
load_from_url
|
1199
1287
|
load_on_start?
|
1200
1288
|
load_schema
|
@@ -1221,6 +1309,7 @@ module RuboCop
|
|
1221
1309
|
persistent_id_path
|
1222
1310
|
refresh_thumbnail
|
1223
1311
|
remove_classification
|
1312
|
+
remove_folder
|
1224
1313
|
reset_camera
|
1225
1314
|
reset_effects
|
1226
1315
|
reset_layers
|
@@ -1251,6 +1340,8 @@ module RuboCop
|
|
1251
1340
|
unload_schema
|
1252
1341
|
upper_left
|
1253
1342
|
upper_right
|
1343
|
+
visible_on_new_pages?
|
1344
|
+
visible_on_new_pages=
|
1254
1345
|
winding
|
1255
1346
|
window_pick
|
1256
1347
|
].freeze
|
@@ -1263,6 +1354,10 @@ module RuboCop
|
|
1263
1354
|
onElementModified
|
1264
1355
|
onExplode
|
1265
1356
|
onLayerChanged
|
1357
|
+
onLayerFolderAdded
|
1358
|
+
onLayerFolderChanged
|
1359
|
+
onLayerFolderRemoved
|
1360
|
+
onParentFolderChanged
|
1266
1361
|
onPidChanged
|
1267
1362
|
onPlaceComponent
|
1268
1363
|
onPostSaveModel
|
@@ -17,9 +17,10 @@ module RuboCop
|
|
17
17
|
# @param [Integer, Float] version
|
18
18
|
# @param [Integer] maintenance
|
19
19
|
def initialize(*args)
|
20
|
-
|
20
|
+
case args.size
|
21
|
+
when 1
|
21
22
|
@version, @maintenance = parse_version(args.first)
|
22
|
-
|
23
|
+
when 2
|
23
24
|
validate(args)
|
24
25
|
@version, @maintenance = args
|
25
26
|
else
|
@@ -66,6 +67,8 @@ module RuboCop
|
|
66
67
|
#
|
67
68
|
# The second item in the array is maintenance annotation
|
68
69
|
VALID_VERSIONS = [
|
70
|
+
[2021.1, 0],
|
71
|
+
[2021.0, 0],
|
69
72
|
[2020.1, 0],
|
70
73
|
[2020.0, 0],
|
71
74
|
[2019.2, 0],
|
@@ -93,7 +96,8 @@ module RuboCop
|
|
93
96
|
def parse_version(version)
|
94
97
|
v = 0
|
95
98
|
m = 0
|
96
|
-
|
99
|
+
case version
|
100
|
+
when String
|
97
101
|
# Treat all LayOut versions as SketchUp versions for now.
|
98
102
|
normalized_version = version.gsub('LayOut', 'SketchUp')
|
99
103
|
result = normalized_version.match(VERSION_NUMBER_REGEX)
|
@@ -101,7 +105,7 @@ module RuboCop
|
|
101
105
|
v = result.captures[0].to_f
|
102
106
|
m = (result.captures[1] || '0').to_i
|
103
107
|
end
|
104
|
-
|
108
|
+
when Numeric
|
105
109
|
v = version
|
106
110
|
m = 0
|
107
111
|
end
|
data/rubocop-sketchup.gemspec
CHANGED
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-sketchup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trimble Inc, SketchUp Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "<="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.82'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '0.82'
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0.93'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "<="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0.82'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '0.82'
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.93'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
146
|
requirements: []
|
147
|
-
rubygems_version: 3.
|
147
|
+
rubygems_version: 3.2.15
|
148
148
|
signing_key:
|
149
149
|
specification_version: 4
|
150
150
|
summary: RuboCop rules for SketchUp extensions.
|