curdle 1.1.0 → 1.2.0

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