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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9a3e76b336cbd3c4f546ed720f01116a897e0c370271d3b45c02dc257b95aa5
4
- data.tar.gz: 55184414f9c339106d42edd1ada1740695b423f945e6540c8596c1e73dd71adb
3
+ metadata.gz: 0ece47daae3428b0918e22ceb77535ad907220f4ea8d6b8a0df1f1f375fcc389
4
+ data.tar.gz: efde5166fd6546561d536e7681869ef40684aed0e2d69104d4fab6372fa2ff01
5
5
  SHA512:
6
- metadata.gz: 3010b0a10a8b5f26885f30f9dca591ede4352c18461098700018ab6a83a1e34dbc314e1606017eea942429de098b73be91cdae04c15769d9d5f792013ca3ba83
7
- data.tar.gz: 7f5ec70140c89953bc9049879751a9139822828f2aa5da95bf327ace633ced39d14fc888fe1913bbcff57bb2915fe2f4bf18460bdbe4fcf147392eb9de650039
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
- # Alternativly you can set up department wide exclusion.
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
@@ -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
@@ -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
- case self.class.department
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
@@ -207,7 +207,7 @@ module RuboCop
207
207
  end
208
208
 
209
209
  # Make Kernel#binding public.
210
- def binding
210
+ def binding # rubocop:disable Lint/UselessMethodDefinition
211
211
  super
212
212
  end
213
213
 
@@ -17,9 +17,10 @@ module RuboCop
17
17
  # @param [Integer, Float] version
18
18
  # @param [Integer] maintenance
19
19
  def initialize(*args)
20
- if args.size == 1
20
+ case args.size
21
+ when 1
21
22
  @version, @maintenance = parse_version(args.first)
22
- elsif args.size == 2
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
- if version.is_a?(String)
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
- elsif version.is_a?(Numeric)
108
+ when Numeric
105
109
  v = version
106
110
  m = 0
107
111
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module SketchUp
5
- VERSION = '0.16.0'
5
+ VERSION = '0.19.0'
6
6
  end
7
7
  end
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
24
24
  'Gemfile'
25
25
  ]
26
26
 
27
- spec.add_dependency 'rubocop', '>= 0.82', '<= 0.82'
27
+ spec.add_dependency 'rubocop', '>= 0.82', '<= 0.93'
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.16.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: 2020-05-08 00:00:00.000000000 Z
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.0.3
147
+ rubygems_version: 3.2.15
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: RuboCop rules for SketchUp extensions.