ruby-mext 0.4.0 → 0.4.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
  SHA256:
3
- metadata.gz: b0bb3d8e9a4973235835abae5ac1080681ee5306278266b4bd95fd7a56f994ab
4
- data.tar.gz: 6da306c0548a38983c1f6647fb1b22e14ba3cd666e7d5e1d1d54a2553621c764
3
+ metadata.gz: 40f5f1b9e36396a37015c8e39277bd65bd0bfcfe9d36dfe3332a46be9de7a346
4
+ data.tar.gz: bf3d5e183f2dafca96f403b0e17f1c90152a114a0139a106c8df11dd69879046
5
5
  SHA512:
6
- metadata.gz: 06b357f6279e2a5e1f458f423bd7f09d17bc9912c532eb376d02d4ce5dfe3a673c5dedc636057ebb75b604c1bce18abe5f2bcb319e4322c5b9547b25bea9205c
7
- data.tar.gz: 1129e56e0bdbad3f34c5f8d9b99ae5267df5802aa1ff81ac26c814cc31eed6bdf05270662a4e0e5f69a8e2f1a81c62f09b6836a66a70de1465f4e0dfa1431b89
6
+ metadata.gz: a0facd96e882b21e76d46dc738cc84136714c3f9a8bf207ec2244746ccac4e5fd39bf732e7794f983a918ec1602bb89dfb6b800dc712f932b9816338460e576a
7
+ data.tar.gz: f950ccf2c1840526a8d9f5dc4e5045e8ae8b8e409664c4fada704db959bcc0f4932fad205f157c0982f31267ee616541df1f47bbabeee8713222b9ed6e6d5984
@@ -16,7 +16,14 @@ private
16
16
  arg.each do
17
17
  |k, v|
18
18
  self[k] = arg[k].dup
19
- self[k] = self.class.new(v) if v.kind_of?(Hash)
19
+ #
20
+ # we want to replicate MethodedHashes all along but we cannot use the
21
+ # self.class.new(...) construct because it may create a subclass and
22
+ # the result might not be what we want. So we define a protected class
23
+ # method that will force-create a MethodedHash class (and that can be
24
+ # overridden when needed)
25
+ #
26
+ self[k] = self.class.create(v) if v.kind_of?(Hash)
20
27
  end
21
28
  end
22
29
 
@@ -34,4 +41,21 @@ private
34
41
  ek.to_sym
35
42
  end
36
43
 
44
+ protected
45
+
46
+ class << self
47
+
48
+ #
49
+ # +create(h = {})+
50
+ #
51
+ # +create+ force-creates a MethodedHash class, avoiding potential
52
+ # conflicts with children classes. However it can be overridden by
53
+ # children classes if needed.
54
+ #
55
+ def create(h = {})
56
+ MethodedHash.new(h)
57
+ end
58
+
59
+ end
60
+
37
61
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mext
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-mext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicola Bernardini