ruby-mext 0.16.0 → 0.16.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: 99f6292abec34cd042d4c36de64c339fb020bb867f636b9f37406e427be91b57
4
- data.tar.gz: af95264284365db5f8e2f1ac77c6660735a00ea921181786c486afea93372689
3
+ metadata.gz: 3855291d0cbe28141c2a3a5a02a7867dd3868662e8749d213c1ec56d5f2e6d5e
4
+ data.tar.gz: c1fd3cb06eb1092da70bb5008911f2e1dd709c01e57d1b902335156c7aeaed81
5
5
  SHA512:
6
- metadata.gz: b77a6a5d99dd8a738d7131dfa7c4e1cfb18d257179d41c5bad3e13f81ff69af6c62e15caf9f5c002d14d68fc1fb643df0b809b44f130cf821b6cee1591253db3
7
- data.tar.gz: 43b43dce16bc537f3f17b8aea8268530d704dfe99d148cddc7c0d0b018b4933193fa556c12ebe1e85980f845c921a04ccdc4ae4dacbb468494a38e6bfdaf2d83
6
+ metadata.gz: 37205389c57f287da2c2b305847b3e8f2084712dec9f41a57d32a118a7789fe750c2a2806822dd41390e7be20e54d04574bc2ca2dd77b7084f561299f7ef9444
7
+ data.tar.gz: 7c1590da495c6703736ec152e10d25e9f3bd9144684cf82c135d7ed5a6651d60f89c0e2c76002fda1928ff33077f4cff5a67f93de8b8ffb115b581c551bdc574
@@ -1,3 +1,12 @@
1
+ #
2
+ # +MethodedHash+
3
+ #
4
+ # is a subclass of Hash which basically will create an accessor method
5
+ # for every key in the hash, transforming all sub-hashes into +MethodedHash+
6
+ # classes and so on (recursive).
7
+ #
8
+ # Please note: it will *NOT* add a method if the method already exist.
9
+ #
1
10
  class MethodedHash < Hash
2
11
 
3
12
  def initialize(h = {})
@@ -31,9 +40,16 @@ private
31
40
  methodize(k)
32
41
  end
33
42
 
43
+ #
44
+ # +methodize(key)+
45
+ #
46
+ # this is the method that normalizes keys (to be able to transform them in
47
+ # methods. Please note that "methodization" will only happen if the
48
+ # class does not already respond to a normalized key method.
49
+ #
34
50
  def methodize(key)
35
51
  nk = normalize_key(key)
36
- define_singleton_method(nk) { self[key] }
52
+ define_singleton_method(nk) { self[key] } unless self.respond_to?(nk)
37
53
  end
38
54
 
39
55
  def normalize_key(key)
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mext
2
- VERSION = '0.16.0'
2
+ VERSION = '0.16.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-mext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicola Bernardini
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-02 00:00:00.000000000 Z
11
+ date: 2019-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wavefile