Class: I_Dig_Sql::H
- Inherits:
-
Hash
- Object
- Hash
- I_Dig_Sql::H
- Defined in:
- lib/i_dig_sql/H.rb
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, val) ⇒ Object
-
#initialize(*options) ⇒ H
constructor
A new instance of H.
- #merge!(*args) ⇒ Object
Constructor Details
#initialize(*options) ⇒ H
Returns a new instance of H.
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/i_dig_sql/H.rb', line 5 def initialize * @h_option = {} .each { |name| case name when :allow_update @h_option[:allow_update] = true else fail ArgumentError, "Unknown option: #{name.inspect}" end } super() end |
Instance Method Details
#[](name) ⇒ Object
19 20 21 22 |
# File 'lib/i_dig_sql/H.rb', line 19 def [] name fail ArgumentError, "Unknown key: #{name.inspect}" unless has_key?(name) super end |
#[]=(name, val) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/i_dig_sql/H.rb', line 24 def []= name, val if has_key?(name) && self[name] != val && !@h_option[:allow_update] fail ArgumentError, "Key already set: #{name.inspect}" end super end |
#merge!(*args) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/i_dig_sql/H.rb', line 32 def merge! *args args.each { |h| h.each { |k,v| self[k] = v } } self end |