hashpipe 1.0.1 → 1.0.2

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -57,12 +57,12 @@ class HashPipe
57
57
  include Enumerable
58
58
 
59
59
  def [](sym_or_str)
60
- self.__class__.create_accessor(sym_or_str, self)
60
+ self.__class__.create_accessor(sym_or_str, self) if self.__respond_to?(:method_missing)
61
61
  self.__send__(sym_or_str)
62
62
  end
63
63
 
64
64
  def []=(sym_or_str, value)
65
- self.__class__.create_accessor(sym_or_str, self)
65
+ self.__class__.create_accessor(sym_or_str, self) if self.__respond_to?(:method_missing)
66
66
  self.__send__(:"#{sym_or_str}=", value)
67
67
  end
68
68
 
@@ -94,6 +94,8 @@ class HashPipe
94
94
  end
95
95
 
96
96
  def lock!
97
- class << self; undef_method :method_missing; end
97
+ if __respond_to?(:method_missing)
98
+ class << self; undef_method :method_missing; end
99
+ end
98
100
  end
99
101
  end
@@ -33,6 +33,14 @@ class TestHashpipeSuperOpenStruct < Test::Unit::TestCase
33
33
  h.bar = "baz"
34
34
  end
35
35
 
36
+ assert_raises(NoMethodError) do
37
+ h[:bar] = "baz"
38
+ end
39
+
40
+ assert_raises(NoMethodError) do
41
+ h['bar'] = "baz"
42
+ end
43
+
36
44
  assert_equal(h.foo, "bar")
37
45
  assert_equal(h[:foo], "bar")
38
46
  assert_equal(h['foo'], "bar")
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashpipe
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 1
9
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
10
11
  platform: ruby
11
12
  authors:
12
13
  - Erik Hollensbe
@@ -21,9 +22,11 @@ dependencies:
21
22
  name: test-unit
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 0
29
32
  version: "0"
@@ -33,9 +36,11 @@ dependencies:
33
36
  name: rdoc
34
37
  prerelease: false
35
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
36
40
  requirements:
37
41
  - - ">="
38
42
  - !ruby/object:Gem::Version
43
+ hash: 3
39
44
  segments:
40
45
  - 0
41
46
  version: "0"
@@ -70,23 +75,27 @@ rdoc_options:
70
75
  require_paths:
71
76
  - lib
72
77
  required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
73
79
  requirements:
74
80
  - - ">="
75
81
  - !ruby/object:Gem::Version
82
+ hash: 3
76
83
  segments:
77
84
  - 0
78
85
  version: "0"
79
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
+ none: false
80
88
  requirements:
81
89
  - - ">="
82
90
  - !ruby/object:Gem::Version
91
+ hash: 3
83
92
  segments:
84
93
  - 0
85
94
  version: "0"
86
95
  requirements: []
87
96
 
88
97
  rubyforge_project:
89
- rubygems_version: 1.3.6
98
+ rubygems_version: 1.3.7
90
99
  signing_key:
91
100
  specification_version: 3
92
101
  summary: Create openstructs that are also symbol and string structs!