Sha256: 17e73c278898a5726df6def32239dc1e7789d6c458dc2fe9b7105a472b7146b0

Contents?: true

Size: 821 Bytes

Versions: 4

Compression:

Stored size: 821 Bytes

Contents

module Examples
  module Codegen
    class EchoAgent
      include SPQR::Manageable
      
      spqr_package 'examples.codegen'
      spqr_class 'EchoAgent'
      # Find method (NB:  you must implement this)
      def EchoAgent.find_by_id(objid)
        EchoAgent.new
      end
      # Find-all method (NB:  you must implement this)
      def EchoAgent.find_all
        [EchoAgent.new]
      end
      ### Schema method declarations
      
      # echo returns its argument
      # * arg (lstr/IO)
      # 
      def echo(args)
        # Print values of in/out parameters
        log.debug "arg => #{args["arg"]}" # 
        # Assign values to in/out parameters
        args["arg"] = args["arg"]
      end
      
      spqr_expose :echo do |args|
        args.declare :arg, :lstr, :inout, {}
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spqr-0.3.1 examples/codegen/EchoAgent.rb
spqr-0.2.4 examples/codegen/EchoAgent.rb
spqr-0.0.2 examples/codegen/EchoAgent.rb
spqr-0.0.1 examples/codegen/EchoAgent.rb