module_shims 0.2.0 → 0.2.1

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
  SHA1:
3
- metadata.gz: 612fb17725e03b67e6bcea8f211b55f4270610fa
4
- data.tar.gz: 99ca0e827598954ad2779eb028f7210e87acb208
3
+ metadata.gz: 44ec366df9e0c8c7e9d7da1c46318c847e9b908c
4
+ data.tar.gz: 7ac110d834266c36c0b4c879cf5ab989f50c19bb
5
5
  SHA512:
6
- metadata.gz: 4bf269de7d872d7656441bcc1204bf16119efdbb6efee204f1712f419a00ef268f133e2e42a7ee6386d5ad2d4b54ed6cf921a9cb1f0b882e0d3cce7b6755e004
7
- data.tar.gz: 59752808d4c235464ee049e22371c608b0eced7267b063f8e425ca816b2ed6f4a3a1b7f8ea42b6e6e55d86199a109a804c95d8077b08ccfe2b735ede565b2fe9
6
+ metadata.gz: db2b2147aa19ea7d161fcd3865a6e2182ddf53c73725b2a3b4fe4e695fb481d44354ac992f6c4e566ec026f9b9ea01c5caf7df89512767ff25c7836f6bcf34d6
7
+ data.tar.gz: 9c36d93e6a865a9f4d69963b4506cd96f98cfc989f42a9e56d1fff7103634f4ddb1d424754c841ac00eec57584e239e04d6fddfd5493dd2dab4b28d527d21500
@@ -20,8 +20,17 @@ module ModuleShims
20
20
  end
21
21
 
22
22
  def shim_const
23
- @shim ||= const_defined?('SHIM') ? const_get('SHIM') :
24
- const_set('SHIM', Module.new{ def self.prepended(mod); mod.remove_instance_methods_from_ancestors(name); super; end })
23
+ return const_get('SHIM') if const_defined?('SHIM')
24
+
25
+ # use predefined_method to look up SHIM module. It's to support "reload!" in rails console
26
+ predefined_method = "#{self.name.downcase.gsub(/::/, '_')}_shim"
27
+ existing_shim = target_const.ancestors.find { |anc| anc.respond_to? predefined_method }
28
+
29
+ unless existing_shim
30
+ existing_shim = Module.new
31
+ existing_shim.singleton_class.send(:define_method, predefined_method) {}
32
+ end
33
+ const_set('SHIM', existing_shim)
25
34
  end
26
35
 
27
36
  def target_const
@@ -1,3 +1,3 @@
1
1
  module ModuleShims
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: module_shims
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yunpeng Xing (Rick)