rubocop-sketchup 0.15.1 → 0.17.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/lib/rubocop/sketchup/cop.rb +9 -10
- data/lib/rubocop/sketchup/cop/requirements/get_extension_license.rb +1 -1
- data/lib/rubocop/sketchup/features.rb +67 -0
- data/lib/rubocop/sketchup/sketchup_version.rb +7 -4
- data/lib/rubocop/sketchup/version.rb +1 -1
- data/rubocop-sketchup.gemspec +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7df76ab15e23629404f20058b4526fa349087d3565698da08ffc7cf684a4e76
|
4
|
+
data.tar.gz: 4854d4b9c5867484d75e80d9ab2a73d66928b73ebf3ba3690c6806dc609b93e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff776f302d5439f1b44324a4b41155f39b4cae4396d18675265fe17a696ec3220530f5b76cdf409aa1e28a6eac21f7be2c1e5e6ded7fcba53acdb71a91b58958
|
7
|
+
data.tar.gz: c54421dc0d103ac574be46ce850906282710fdb6e2ad1d3e3214596122f4d47154fc9017bc1ead17a8fe78aa2867eb8c333e6b7a9e923723638975f6c3d34499
|
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/lib/rubocop/sketchup/cop.rb
CHANGED
@@ -42,6 +42,14 @@ 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
54
|
def self.inherited(subclass)
|
47
55
|
RuboCop::Cop::Cop.inherited(subclass)
|
@@ -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
|
@@ -18,9 +18,16 @@
|
|
18
18
|
# positives. The method names should be names that are not commonly used in
|
19
19
|
# general context.
|
20
20
|
#
|
21
|
+
# Since it's difficult to know what a variable in Ruby code represent by static
|
22
|
+
# analysis, these methods are assumed to belong to the FEATURES list.
|
23
|
+
#
|
21
24
|
# When a new version is released and FEATURES is updated the new methods from
|
22
25
|
# the new version should be considered for this list.
|
23
26
|
#
|
27
|
+
# TODO(thomthom): Investigate if Solargraph's static analysis can be used to
|
28
|
+
# provide a more accurate analysis. Not sure how well it works on code bases
|
29
|
+
# that isn't well documented with YARD type tags.
|
30
|
+
#
|
24
31
|
#
|
25
32
|
# OBSERVER_METHODS constant:
|
26
33
|
#
|
@@ -34,6 +41,48 @@ module RuboCop
|
|
34
41
|
|
35
42
|
FEATURES = [
|
36
43
|
|
44
|
+
{
|
45
|
+
version: 'LayOut 2020.1',
|
46
|
+
types: {
|
47
|
+
method: [
|
48
|
+
'Layout::Document#export',
|
49
|
+
'Layout::Grid#clip_to_margins=',
|
50
|
+
'Layout::Grid#clip_to_margins?',
|
51
|
+
'Layout::Grid#in_front=',
|
52
|
+
'Layout::Grid#in_front?',
|
53
|
+
'Layout::Grid#major_color=',
|
54
|
+
'Layout::Grid#major_spacing=',
|
55
|
+
'Layout::Grid#minor_color=',
|
56
|
+
'Layout::Grid#minor_divisions=',
|
57
|
+
'Layout::Grid#print=',
|
58
|
+
'Layout::Grid#show=',
|
59
|
+
'Layout::Grid#show_major=',
|
60
|
+
'Layout::Grid#show_minor=',
|
61
|
+
'Layout::SketchUpModel#camera_modified?',
|
62
|
+
'Layout::SketchUpModel#effects_modified?',
|
63
|
+
'Layout::SketchUpModel#layers_modified?',
|
64
|
+
'Layout::SketchUpModel#reset_camera',
|
65
|
+
'Layout::SketchUpModel#reset_effects',
|
66
|
+
'Layout::SketchUpModel#reset_layers',
|
67
|
+
'Layout::SketchUpModel#reset_style',
|
68
|
+
'Layout::SketchUpModel#style_modified?',
|
69
|
+
],
|
70
|
+
},
|
71
|
+
},
|
72
|
+
|
73
|
+
{
|
74
|
+
version: 'SketchUp 2020.1',
|
75
|
+
types: {
|
76
|
+
method: [
|
77
|
+
'Sketchup::Entities#weld',
|
78
|
+
'Sketchup::Page#use_hidden_geometry=',
|
79
|
+
'Sketchup::Page#use_hidden_geometry?',
|
80
|
+
'Sketchup::Page#use_hidden_objects=',
|
81
|
+
'Sketchup::Page#use_hidden_objects?',
|
82
|
+
],
|
83
|
+
},
|
84
|
+
},
|
85
|
+
|
37
86
|
{
|
38
87
|
version: 'SketchUp 2020.0',
|
39
88
|
types: {
|
@@ -1097,8 +1146,11 @@ module RuboCop
|
|
1097
1146
|
attached_to
|
1098
1147
|
attached_to=
|
1099
1148
|
boundingbox_pick
|
1149
|
+
camera_modified?
|
1100
1150
|
center_2d
|
1101
1151
|
classifications
|
1152
|
+
clip_to_margins?
|
1153
|
+
clip_to_margins=
|
1102
1154
|
colorize_deltas
|
1103
1155
|
colorize_type
|
1104
1156
|
colorize_type=
|
@@ -1107,6 +1159,7 @@ module RuboCop
|
|
1107
1159
|
days_remaining
|
1108
1160
|
drawing_element_visible?
|
1109
1161
|
edit_transform
|
1162
|
+
effects_modified?
|
1110
1163
|
end_attached_to
|
1111
1164
|
end_attached_to=
|
1112
1165
|
error_description
|
@@ -1127,12 +1180,15 @@ module RuboCop
|
|
1127
1180
|
icon_tooltip
|
1128
1181
|
icon_tooltip=
|
1129
1182
|
image_rep
|
1183
|
+
in_front?
|
1184
|
+
in_front=
|
1130
1185
|
include_in_animation?
|
1131
1186
|
include_in_animation=
|
1132
1187
|
instance_path
|
1133
1188
|
instance_path_from_pid_path
|
1134
1189
|
is_polygon?
|
1135
1190
|
large_icon
|
1191
|
+
layers_modified?
|
1136
1192
|
leader_break_point
|
1137
1193
|
leader_break_point=
|
1138
1194
|
leader_points
|
@@ -1145,7 +1201,11 @@ module RuboCop
|
|
1145
1201
|
local_bounds
|
1146
1202
|
lower_left
|
1147
1203
|
lower_right
|
1204
|
+
major_color=
|
1205
|
+
major_spacing=
|
1148
1206
|
menu_text
|
1207
|
+
minor_color=
|
1208
|
+
minor_divisions=
|
1149
1209
|
mipmapping?
|
1150
1210
|
mipmapping=
|
1151
1211
|
navigation_buttons_enabled?
|
@@ -1161,6 +1221,10 @@ module RuboCop
|
|
1161
1221
|
persistent_id_path
|
1162
1222
|
refresh_thumbnail
|
1163
1223
|
remove_classification
|
1224
|
+
reset_camera
|
1225
|
+
reset_effects
|
1226
|
+
reset_layers
|
1227
|
+
reset_style
|
1164
1228
|
same_direction?
|
1165
1229
|
scale_2d
|
1166
1230
|
screen_scale_factor
|
@@ -1174,11 +1238,14 @@ module RuboCop
|
|
1174
1238
|
set_upload_progress_callback
|
1175
1239
|
set_uv
|
1176
1240
|
show_differences
|
1241
|
+
show_major=
|
1242
|
+
show_minor=
|
1177
1243
|
sketch_plane
|
1178
1244
|
small_icon
|
1179
1245
|
start_attached_to
|
1180
1246
|
start_attached_to=
|
1181
1247
|
status_bar_text
|
1248
|
+
style_modified?
|
1182
1249
|
text_bounds
|
1183
1250
|
unit_vector?
|
1184
1251
|
unload_schema
|
@@ -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,7 @@ module RuboCop
|
|
66
67
|
#
|
67
68
|
# The second item in the array is maintenance annotation
|
68
69
|
VALID_VERSIONS = [
|
70
|
+
[2020.1, 0],
|
69
71
|
[2020.0, 0],
|
70
72
|
[2019.2, 0],
|
71
73
|
[2019.0, 0], # SketchUp dropped M notation as of SU2019.
|
@@ -92,7 +94,8 @@ module RuboCop
|
|
92
94
|
def parse_version(version)
|
93
95
|
v = 0
|
94
96
|
m = 0
|
95
|
-
|
97
|
+
case version
|
98
|
+
when String
|
96
99
|
# Treat all LayOut versions as SketchUp versions for now.
|
97
100
|
normalized_version = version.gsub('LayOut', 'SketchUp')
|
98
101
|
result = normalized_version.match(VERSION_NUMBER_REGEX)
|
@@ -100,7 +103,7 @@ module RuboCop
|
|
100
103
|
v = result.captures[0].to_f
|
101
104
|
m = (result.captures[1] || '0').to_i
|
102
105
|
end
|
103
|
-
|
106
|
+
when Numeric
|
104
107
|
v = version
|
105
108
|
m = 0
|
106
109
|
end
|
data/rubocop-sketchup.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
|
14
14
|
spec.version = RuboCop::SketchUp::VERSION
|
15
15
|
spec.platform = Gem::Platform::RUBY
|
16
|
-
spec.required_ruby_version = '>= 2.
|
16
|
+
spec.required_ruby_version = '>= 2.4.0'
|
17
17
|
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
spec.files = Dir[
|
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
'Gemfile'
|
25
25
|
]
|
26
26
|
|
27
|
-
spec.add_dependency 'rubocop', '>= 0.
|
27
|
+
spec.add_dependency 'rubocop', '>= 0.82', '<= 0.88'
|
28
28
|
spec.add_development_dependency 'bundler', '>= 1.13', '< 3.0'
|
29
29
|
end
|
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.17.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: 2020-
|
11
|
+
date: 2020-07-30 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.80'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0.
|
19
|
+
version: '0.82'
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0.88'
|
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.80'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0.
|
29
|
+
version: '0.82'
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.88'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,7 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
137
|
requirements:
|
138
138
|
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version: 2.
|
140
|
+
version: 2.4.0
|
141
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|