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

Changeset 1081

Show
Ignore:
Timestamp:
11/30/03 21:13:02 (5 years ago)
Author:
nahi
Message:

* car, *cdr = *ary; Thanks to nobu.

Files:

Legend:

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

    r1080 r1081  
    3131  end 
    3232 
     33  # name: a Symbol, String or an Array 
     34  # hook: block which will be called with 2 args, name and value 
    3335  def add_hook(name, &hook) 
    3436    assign_hook(name_to_a(name), &hook) 
     
    3840 
    3941  def referent(ary) 
    40     key = to_key(ary[0]) 
    41     if ary.size == 1 
     42    name, *rest = *ary 
     43    key = to_key(name) 
     44    if ary.empty? 
    4245      @store[key] 
    4346    else 
    44       deref_key(key).referent(ary[1..-1]
     47      deref_key(key).referent(rest
    4548    end 
    4649  end 
    4750 
    4851  def assign(ary, value) 
    49     key = to_key(ary[0]) 
    50     if ary.size == 1 
     52    name, *rest = *ary 
     53    key = to_key(name) 
     54    if rest.empty? 
    5155      @store[key] = value 
    5256      local_hook(key) 
    5357    else 
    54       local_hook(key) + deref_key(key).assign(ary[1..-1], value) 
     58      local_hook(key) + deref_key(key).assign(rest, value) 
    5559    end 
    5660  end 
    5761 
    5862  def assign_hook(ary, &hook) 
    59     key = to_key(ary[0]) 
    60     if ary.size == 1 
     63    name, *rest = *ary 
     64    key = to_key(name) 
     65    if ary.empty? 
    6166      (@hook[key] ||= []) << hook 
    6267    else 
    63       deref_key(key).assign_hook(ary[1..-1], &hook) 
     68      deref_key(key).assign_hook(rest, &hook) 
    6469    end 
    6570  end