metahash-rb 1.1.2 → 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
  SHA1:
3
- metadata.gz: b21c51283eacfaf1a20c154f7999eb8843e310e6
4
- data.tar.gz: a9e649da99e7b72785265b348d1534907bd74262
3
+ metadata.gz: 7101b7a8d75b5dfdd8a987cea6e40e238f9d14e7
4
+ data.tar.gz: d90e6f1b493b25fcafd624babdb1dc63d6a5dd88
5
5
  SHA512:
6
- metadata.gz: c36be5a77381a5bcab17dc5bf313c35ddfb239ef67b27f00358d530cf4f2dc38722bd54db466f859dc906cc2616b4ee1d9b3414a6f7bb0f306394e6a6c042966
7
- data.tar.gz: 007622bcea83aea25e888c798885333ae35d1af3c50bb315f1665cc3a42552f2aa57f7da49607ab84a81e554286b162b8e56dabb49f6297c8d4b955fd3a12111
6
+ metadata.gz: ee45dbaf38c3b0d81fb3b845433b0c77e25df58089cb9246bb6c90d36e5fc40be9840f78d7e75928c7e949fb76a9a496f2c80e36c52df23d07e9e0f29af0fa1c
7
+ data.tar.gz: ece53dc1bc77a87a6a8fd8d8885a594baaad843703576e4621fc6744ea74b73035a18dad28801b02b74eb976377ac6b399a1979ac06167fe38217d6d0e8d6424
data/.travis.yml CHANGED
@@ -3,7 +3,6 @@ bundler_args: --without guard
3
3
  rvm:
4
4
  - "2.0"
5
5
  - "2.1"
6
- - "2.1.1"
7
6
  - ruby-head
8
7
  script: "bundle exec rspec"
9
8
  addons:
@@ -11,5 +10,5 @@ addons:
11
10
  repo_token: 1d1b1a31bb3137d986297ad8a1ad5a3a1adbd70f0e8583d7eaf1dd4c0ab0bbe1
12
11
  branches:
13
12
  only: master
14
- notifications:
13
+ notifications:
15
14
  email: false
data/lib/metahash.rb CHANGED
@@ -1,11 +1,10 @@
1
- require "metahash/metaclass"
1
+ require "meta_instance"
2
2
  require "metahash/metadata"
3
3
  require "metahash/extensions/hash/to_metadata"
4
4
  require "metahash/version"
5
5
  require 'active_record'
6
6
 
7
7
  module MetaHash
8
-
9
8
  # When an active record object is loaded, convert to Metadata.
10
9
  # If for whatever reason we lose this Metadata class, we can read
11
10
  # the hash by creating class Metadata < Hash; end
@@ -20,7 +20,7 @@
20
20
  # h[:inner][:key] == "value"
21
21
  #
22
22
  class Metadata < Hash
23
- include MetaHash::Metaclass
23
+ include ::MetaInstance
24
24
  # in the event we are overriding a method, have a way to
25
25
  # get back to the original
26
26
  METHOD_BACKUP_KEY = "metadata_original_"
@@ -143,11 +143,11 @@ class Metadata < Hash
143
143
  @empty_nested_hashes = []
144
144
  deepest_metadata[key] = value
145
145
  # override any existing method with the key
146
- deepest_metadata.meta_def(key){ self[key] }
146
+ deepest_metadata.instance_define(key){ self[key] }
147
147
  else
148
148
  self[key] = value
149
149
  # override any existing method with the key
150
- self.meta_def(key){ value }
150
+ self.instance_define(key){ value }
151
151
  end
152
152
  end
153
153
  end
@@ -1,3 +1,3 @@
1
1
  module MetaHash
2
- VERSION = "1.1.2"
2
+ VERSION = "1.2.0"
3
3
  end
data/metahash.gemspec CHANGED
@@ -23,6 +23,8 @@ Gem::Specification.new do |s|
23
23
 
24
24
 
25
25
  s.add_runtime_dependency "activerecord", ">= 3.0.0"
26
+ s.add_runtime_dependency "meta_instance"
27
+
26
28
  s.add_development_dependency "bundler"
27
29
  s.add_development_dependency "rspec"
28
30
  s.add_development_dependency "sqlite3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metahash-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - L. Preston Sego III
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-14 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: meta_instance
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +124,6 @@ files:
110
124
  - Rakefile
111
125
  - lib/metahash.rb
112
126
  - lib/metahash/extensions/hash/to_metadata.rb
113
- - lib/metahash/metaclass.rb
114
127
  - lib/metahash/metadata.rb
115
128
  - lib/metahash/version.rb
116
129
  - metahash.gemspec
@@ -144,7 +157,7 @@ rubyforge_project:
144
157
  rubygems_version: 2.4.1
145
158
  signing_key:
146
159
  specification_version: 4
147
- summary: MetaHash-1.1.2
160
+ summary: MetaHash-1.2.0
148
161
  test_files:
149
162
  - spec/hash_spec.rb
150
163
  - spec/metadata_spec.rb
@@ -1,33 +0,0 @@
1
- # http://reference.jumpingmonkey.org/programming_languages/ruby/ruby-metaprogramming.html
2
- # allows the adding of methods to instances,
3
- # but not the entire set of instances for a
4
- # particular class
5
- module MetaHash
6
- module Metaclass
7
- # The hidden singleton lurks behind everyone
8
- def metaclass
9
- class << self
10
- self
11
- end
12
- end
13
-
14
- def meta_eval(&block)
15
- metaclass.instance_eval(&block)
16
- end
17
-
18
- # Adds methods to a metaclass
19
- def meta_def(name, &block)
20
- meta_eval {
21
- define_method(name, &block)
22
- }
23
- end
24
-
25
- # unused
26
- # Defines an instance method within a class
27
- # def class_def(name, &block)
28
- # class_eval {
29
- # define_method(name, &block)
30
- # }
31
- # end
32
- end
33
- end