| Class | Hashery::PropertyHash |
| In: |
lib/hashery/property_hash.rb
|
| Parent: | CRUDHash |
A PropertyHash is the same as a regular Hash except it strictly limits the allowed keys.
There are two ways to use it.
1) As an object in itself.
h = PropertyHash.new(:a=>1, :b=>2) h[:a] #=> 1 h[:a] = 3 h[:a] #=> 3
But if we try to set key that was not fixed, then we will get an error.
h[:x] = 5 #=> ArgumentError
2) As a superclass.
class MyPropertyHash < PropertyHash
property :a, :default => 1
property :b, :default => 2
end
h = MyPropertyHash.new
h[:a] #=> 1
h[:a] = 3
h[:a] #=> 3
Again, if we try to set key that was not fixed, then we will get an error.
h[:x] = 5 #=> ArgumentError
| store | -> | store! |
| Alias original store method and make private. | ||
Initialize new instance of PropertyHash.
properties - [Hash] Priming properties with default values, or
if it doesn't respond to #each_pair, a default object.
default_proc - [Proc] Procedure for default value of properties
for properties without specific defaults.
Get a list of properties with default values.
Returns [Hash] of properties and their default values.