File: attrproxy.rb

package info (click to toggle)
ruby-soap4r 2.0.5-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,032 kB
  • sloc: ruby: 52,729; xml: 266; sh: 42; javascript: 20; makefile: 13; perl: 10
file content (34 lines) | stat: -rw-r--r-- 769 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# SOAP4R - attribute proxy interface.
# Copyright (C) 2000-2007  NAKAMURA, Hiroshi <nahi@ruby-lang.org>.

# This program is copyrighted free software by NAKAMURA, Hiroshi.  You can
# redistribute it and/or modify it under the same terms of Ruby's license;
# either the dual license version in 2003, or any later version.


module SOAP


module AttrProxy
  def self.included(klass)
    klass.extend(AttrProxyClassSupport)
  end

  module AttrProxyClassSupport
    def attr_proxy(symbol, assignable = false)
      name = symbol.to_s
      define_method(name) {
        attrproxy.__send__(name)
      }
      if assignable
        aname = name + '='
        define_method(aname) { |rhs|
          attrproxy.__send__(aname, rhs)
        }
      end
    end
  end
end


end