curdle 1.1.0 → 1.2.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: 7f51e6195b3478041471186b67ca85a68682bfa2ed6f7b490a5800b13f524487
4
- data.tar.gz: 9c55ab910394076e0794af90f8b9747ae975a9d9b3a8470a251baea994e4f90c
3
+ metadata.gz: 2a822e525e00a819d3f8c064e0e3aaef560024af48f9901854744911348fbfe3
4
+ data.tar.gz: 647d4da53bac8375111b892d3ac34ac8994191054ff6cde0ec11f2ce7bea760d
5
5
  SHA512:
6
- metadata.gz: d433bffd0e919e9cba5886e93f2be4b0f2d4f1829048454bb69b9332ad5db9510513df280760c1bd0c9c27203aee51ceb36331a787f44ec25230effc2797a443
7
- data.tar.gz: debba06457a021859c2ab14b5205a020fbc5b9867196fe561f99ced9a2b111849701e6258b31b828219b104a7a0e1e7a9f03556c46a0d67196c7297fe9b9a241
6
+ metadata.gz: ec53157d498328877a6adcfc24eb99c3e7e6a6589b2f2b45957f85531f57225aca5cbde830cfef3fe244b5c2a0afa8b125a6ba47c1e09fbf8573a674c3937e75
7
+ data.tar.gz: b6548941c56a532c3a8764f6ef461fa1832b2fa23753f569ecdc48a7baf052a54d967e43f9694dc882d74a93d4f41b4e6618244d04756146d7f4239ca7d2f8c4
data/CHANGELOG.md CHANGED
@@ -3,3 +3,6 @@
3
3
 
4
4
  ## 1.1.0
5
5
  * Add support for removing `T::Sig::WithoutRuntime.sig` calls.
6
+
7
+ ## 1.2.0
8
+ * Add support for block-based `type_member` calls.
@@ -142,12 +142,22 @@ module Curdle
142
142
 
143
143
  def remove_type_member(casgn_node)
144
144
  _, _const_name, value_node = *casgn_node
145
- return false unless value_node.type == :send
146
145
 
147
- receiver, name = *value_node
148
- return false unless receiver.nil? && name == :type_member
146
+ case value_node.type
147
+ when :send
148
+ receiver, name = *value_node
149
+ return false unless receiver.nil? && name == :type_member
149
150
 
150
- comment_out_node(casgn_node)
151
+ comment_out_node(casgn_node)
152
+ when :block
153
+ send_node, = *value_node
154
+ receiver, name, _ = *send_node
155
+ return false unless receiver.nil? && name == :type_member
156
+
157
+ comment_out_node(casgn_node)
158
+ else
159
+ return false
160
+ end
151
161
 
152
162
  true
153
163
  end
@@ -1,3 +1,3 @@
1
1
  module Curdle
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
data/spec/curdle_spec.rb CHANGED
@@ -157,6 +157,22 @@ describe Curdle do
157
157
  END2
158
158
  end
159
159
 
160
+ it 'removes block-based type_members' do
161
+ verify(<<~END1, <<~END2)
162
+ class Foo
163
+ extend T::Generic
164
+
165
+ Elem = type_member { { fixed: Bar } }
166
+ end
167
+ END1
168
+ class Foo
169
+ # extend T::Generic
170
+
171
+ # Elem = type_member { { fixed: Bar } }
172
+ end
173
+ END2
174
+ end
175
+
160
176
  it 'removes type_aliases' do
161
177
  verify(<<~END1, <<~END2)
162
178
  class Foo
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curdle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro