Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1083

Show
Ignore:
Timestamp:
11/30/03 22:09:30 (5 years ago)
Author:
nahi
Message:

* raise friendly message if a key is already defined as a value.
* normalize name for hook arg.
* add test.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/property.rb

    r1082 r1083  
    2525  def []=(name, value) 
    2626    hooks = assign(name_to_a(name), value) 
     27    normalized_name = normalize_name(name) 
    2728    hooks.each do |hook| 
    28       hook.call(name, value) 
     29      hook.call(normalized_name, value) 
    2930    end 
    3031    value 
     
    7374 
    7475  def deref_key(key) 
    75     @store[key] ||= self.class.new 
     76    ref = @store[key] ||= self.class.new 
     77    unless ref.is_a?(SOAP::Property) 
     78      raise ArgumentError.new("key `#{key}' already defined as a value.") 
     79    end 
     80    ref 
    7681  end 
    7782 
     
    9499  end 
    95100 
     101  def normalize_name(name) 
     102    name_to_a(name).collect { |key| to_key(key) }.join('.') 
     103  end 
     104 
    96105  def to_key(name) 
    97106    name.to_s.downcase.intern