rubocop-sketchup 0.16.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|