meander 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 6806984c8648500b8f01dc412f430a8c0a8d46a5
4
- data.tar.gz: be7ac8abcf8f8c1f2667c8776a9725b73353764c
3
+ metadata.gz: 5a3a8e4229801dbfdbe059575217825508f53cd9
4
+ data.tar.gz: 0e3cec51b79e748742755b4d1d64dfefeb9c8653
5
5
  SHA512:
6
- metadata.gz: 6f8997e20d34d1b77d52dbeee098e0a9162fd3d7cf77c23c20b9f60d1f969504fae67a7e8c4747a8e23d1b7c44717b5933f6f2dad4c418d89202c9a38e3dbaa7
7
- data.tar.gz: 1a6f48159a49563b0a0aef243f5f18f5d33a26ed7843e014fd81c7b98605422c58afbc5b75f93156967377262f0d13823ea5e6608192e4e18db0f20d47cb988c
6
+ metadata.gz: 94e34836c0816f24a00ab83a0c70c89733a34beb5b6036f402a4341e26565c80e49835d9af912b981edebdc731f86de56e90ce8d94ae450bbdb92d403c82f9eb
7
+ data.tar.gz: e80f1d6cb38feaa90d2575b1d993727020b11543b764cd0b35a3c5f9c8cfd2855ec81ac7b6e665b8ac445bec96e3ac09983a1464c779caa026074a12feac65e8
@@ -40,6 +40,7 @@ module Meander
40
40
  # m.b # => 2 # Attention! Value remains unchanged
41
41
  class Mutable < Delegator
42
42
  include CommonMethods
43
+ include Enumerable
43
44
 
44
45
  def self.own_keys_cover_class
45
46
  klass = self
@@ -70,8 +71,17 @@ module Meander
70
71
  end
71
72
  end
72
73
 
73
- def is_a?(klass)
74
- klass.ancestors.include?(Hash) || super
74
+ def dup
75
+ self.class.new(self)
76
+ end
77
+
78
+ def each &block
79
+ if block_given?
80
+ __getobj__.each{ |i| yield i }
81
+ @own_keys.each{ |i| yield i }
82
+ else
83
+ enum_for :each
84
+ end
75
85
  end
76
86
 
77
87
  def keys
@@ -111,7 +121,7 @@ module Meander
111
121
  end
112
122
 
113
123
  extend Forwardable
114
- def_delegator :@own_keys, :[]=
124
+ def_delegators :@own_keys, :[]=, :is_a?
115
125
 
116
126
  private
117
127
 
@@ -1,3 +1,3 @@
1
1
  module Meander
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kostrov Alexander
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-12 00:00:00.000000000 Z
11
+ date: 2017-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor