245
246
247
248
249
250
251
252
|
# File 'lib/thrift_client/simple.rb', line 245
def self.thrift_method(name, rtype, *args)
arg_struct = ThriftClient::Simple.make_struct("Args__#{self.name}__#{name}", *args)
rv_struct = ThriftClient::Simple.make_struct("Retval__#{self.name}__#{name}", ThriftClient::Simple::Field.new(:rv, rtype, 0))
_arg_structs[name.to_sym] = [ arg_struct, rv_struct ]
arg_names = args.map { |a| a.name.to_s }.join(", ")
class_eval "def #{name}(#{arg_names}); _proxy(:#{name}#{args.size > 0 ? ', ' : ''}#{arg_names}); end"
end
|