rubocop-sketchup 0.15.3 → 0.18.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: a1cf2e12c3df5de41cd1e8946347d84d9d75a2eba781a04d7b57a4919b32268c
4
- data.tar.gz: b689f16ac44a191e5b8909a3c39667e99c02648a48cbbf5bca4a4118a9fd289b
3
+ metadata.gz: 296266d556b988a46320807d3f1a7023a29eac0f27d1d6c224c5cc86554ddf1b
4
+ data.tar.gz: 8d0c5a738811e681ddbcab81d5c6ab93ee6228c0d1e9cf9154bc225bb5452f06
5
5
  SHA512:
6
- metadata.gz: ec1337ac7cd214bace6109aab6d657d99d14d11ee72889578bcafdba3444000f93adde46b47e893ccfe6f1d00a28adb9064bebed910d3a2a8d0f5288b64637b5
7
- data.tar.gz: 83a975e6b7821d340f4efc335cf368b6f94d1a91873e08d6a98f0cf90c4cdf81f7cd61fd25176c181577fb1a53f810296d8c13ed84e72c975708c4f66f106d07
6
+ metadata.gz: a8916d683a516025a8ed848037b65f5a2e6772e973fcd709ebacc010c71ab9bf3ea63acb8926cd8fb3e627cd98c05505240925705d60295fa7c0619f1928476e
7
+ data.tar.gz: 60e5d532f3ee97a3789ab30b9027b3f17e0e967eead46a64708df9706dca992eab8884b05f1f05b8eb3eaca7d9a799a4679f7cfb00b77be07e5b9625f618015e
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
@@ -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
@@ -80,7 +80,7 @@ module RuboCop
80
80
  end
81
81
 
82
82
  # Invalid format.
83
- if extension_id !~ EXTENSION_ID_PATTERN
83
+ unless EXTENSION_ID_PATTERN.match?(extension_id)
84
84
  range = string_contents_range(node)
85
85
  add_offense(node, location: range, message: MSG_INVALID)
86
86
  return false
@@ -41,6 +41,62 @@ module RuboCop
41
41
 
42
42
  FEATURES = [
43
43
 
44
+ {
45
+ version: 'SketchUp 2021.0',
46
+ types: {
47
+ class: [
48
+ 'Sketchup::LayerFolder',
49
+ ],
50
+ method: [
51
+ 'Sketchup.redo',
52
+ 'Sketchup::ComponentDefinition#live_component?',
53
+ 'Sketchup::Layer#folder',
54
+ 'Sketchup::Layer#folder=',
55
+ 'Sketchup::LayerFolder#==',
56
+ 'Sketchup::LayerFolder#add_folder',
57
+ 'Sketchup::LayerFolder#add_layer',
58
+ 'Sketchup::LayerFolder#count_folders',
59
+ 'Sketchup::LayerFolder#count_layers',
60
+ 'Sketchup::LayerFolder#display_name',
61
+ 'Sketchup::LayerFolder#each',
62
+ 'Sketchup::LayerFolder#each_folder',
63
+ 'Sketchup::LayerFolder#each_layer',
64
+ 'Sketchup::LayerFolder#folder',
65
+ 'Sketchup::LayerFolder#folder=',
66
+ 'Sketchup::LayerFolder#folders',
67
+ 'Sketchup::LayerFolder#layers',
68
+ 'Sketchup::LayerFolder#length',
69
+ 'Sketchup::LayerFolder#name',
70
+ 'Sketchup::LayerFolder#name=',
71
+ 'Sketchup::LayerFolder#remove_folder',
72
+ 'Sketchup::LayerFolder#remove_layer',
73
+ 'Sketchup::LayerFolder#size',
74
+ 'Sketchup::LayerFolder#visible=',
75
+ 'Sketchup::LayerFolder#visible?',
76
+ 'Sketchup::LayerFolder#visible_on_new_pages=',
77
+ 'Sketchup::LayerFolder#visible_on_new_pages?',
78
+ 'Sketchup::Layers#add_folder',
79
+ 'Sketchup::Layers#count_folders',
80
+ 'Sketchup::Layers#count_layers',
81
+ 'Sketchup::Layers#each_folder',
82
+ 'Sketchup::Layers#each_layer',
83
+ 'Sketchup::Layers#folders',
84
+ 'Sketchup::Layers#layers',
85
+ 'Sketchup::Layers#purge_unused_folders',
86
+ 'Sketchup::Layers#remove_folder',
87
+ 'Sketchup::LayersObserver#onLayerFolderAdded',
88
+ 'Sketchup::LayersObserver#onLayerFolderChanged',
89
+ 'Sketchup::LayersObserver#onLayerFolderRemoved',
90
+ 'Sketchup::LayersObserver#onParentFolderChanged',
91
+ 'Sketchup::Page#layer_folders',
92
+ 'Sketchup::Skp.read_guid',
93
+ ],
94
+ module: [
95
+ 'Sketchup::Skp',
96
+ ],
97
+ },
98
+ },
99
+
44
100
  {
45
101
  version: 'LayOut 2020.1',
46
102
  types: {
@@ -1137,6 +1193,8 @@ module RuboCop
1137
1193
  add_classification
1138
1194
  add_dimension_linear
1139
1195
  add_dimension_radial
1196
+ add_folder
1197
+ add_layer
1140
1198
  add_matchphoto_page
1141
1199
  add_section_plane
1142
1200
  aligned_text_position
@@ -1154,10 +1212,14 @@ module RuboCop
1154
1212
  colorize_deltas
1155
1213
  colorize_type
1156
1214
  colorize_type=
1215
+ count_folders
1216
+ count_layers
1157
1217
  count_used_instances
1158
1218
  dash_scale
1159
1219
  days_remaining
1160
1220
  drawing_element_visible?
1221
+ each_folder
1222
+ each_layer
1161
1223
  edit_transform
1162
1224
  effects_modified?
1163
1225
  end_attached_to
@@ -1188,6 +1250,7 @@ module RuboCop
1188
1250
  instance_path_from_pid_path
1189
1251
  is_polygon?
1190
1252
  large_icon
1253
+ layer_folders
1191
1254
  layers_modified?
1192
1255
  leader_break_point
1193
1256
  leader_break_point=
@@ -1195,6 +1258,7 @@ module RuboCop
1195
1258
  line_style
1196
1259
  line_style=
1197
1260
  line_styles
1261
+ live_component?
1198
1262
  load_from_url
1199
1263
  load_on_start?
1200
1264
  load_schema
@@ -1221,6 +1285,7 @@ module RuboCop
1221
1285
  persistent_id_path
1222
1286
  refresh_thumbnail
1223
1287
  remove_classification
1288
+ remove_folder
1224
1289
  reset_camera
1225
1290
  reset_effects
1226
1291
  reset_layers
@@ -1251,6 +1316,8 @@ module RuboCop
1251
1316
  unload_schema
1252
1317
  upper_left
1253
1318
  upper_right
1319
+ visible_on_new_pages?
1320
+ visible_on_new_pages=
1254
1321
  winding
1255
1322
  window_pick
1256
1323
  ].freeze
@@ -1263,6 +1330,10 @@ module RuboCop
1263
1330
  onElementModified
1264
1331
  onExplode
1265
1332
  onLayerChanged
1333
+ onLayerFolderAdded
1334
+ onLayerFolderChanged
1335
+ onLayerFolderRemoved
1336
+ onParentFolderChanged
1266
1337
  onPidChanged
1267
1338
  onPlaceComponent
1268
1339
  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,7 @@ module RuboCop
66
67
  #
67
68
  # The second item in the array is maintenance annotation
68
69
  VALID_VERSIONS = [
70
+ [2021.0, 0],
69
71
  [2020.1, 0],
70
72
  [2020.0, 0],
71
73
  [2019.2, 0],
@@ -93,7 +95,8 @@ module RuboCop
93
95
  def parse_version(version)
94
96
  v = 0
95
97
  m = 0
96
- if version.is_a?(String)
98
+ case version
99
+ when String
97
100
  # Treat all LayOut versions as SketchUp versions for now.
98
101
  normalized_version = version.gsub('LayOut', 'SketchUp')
99
102
  result = normalized_version.match(VERSION_NUMBER_REGEX)
@@ -101,7 +104,7 @@ module RuboCop
101
104
  v = result.captures[0].to_f
102
105
  m = (result.captures[1] || '0').to_i
103
106
  end
104
- elsif version.is_a?(Numeric)
107
+ when Numeric
105
108
  v = version
106
109
  m = 0
107
110
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module SketchUp
5
- VERSION = '0.15.3'
5
+ VERSION = '0.18.0'
6
6
  end
7
7
  end
@@ -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.3.0'
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.80', '<= 0.81'
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-sketchup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.3
4
+ version: 0.18.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: 2020-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.80'
19
+ version: '0.82'
20
20
  - - "<="
21
21
  - !ruby/object:Gem::Version
22
- version: '0.81'
22
+ version: '0.93'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.80'
29
+ version: '0.82'
30
30
  - - "<="
31
31
  - !ruby/object:Gem::Version
32
- version: '0.81'
32
+ version: '0.93'
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.3.0
140
+ version: 2.4.0
141
141
  required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="