Function: org-babel-execute:ruby

org-babel-execute:ruby is a byte-compiled function defined in ob-ruby.el.gz.

Signature

(org-babel-execute:ruby BODY PARAMS)

Documentation

Execute Ruby BODY according to PARAMS.

This function is called by org-babel-execute-src-block.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-ruby.el.gz
(defun org-babel-execute:ruby (body params)
  "Execute Ruby BODY according to PARAMS.
This function is called by `org-babel-execute-src-block'."
  (let* ((session (org-babel-ruby-initiate-session
		   (cdr (assq :session params)) params))
         (result-params (cdr (assq :result-params params)))
         (result-type (cdr (assq :result-type params)))
	 (org-babel-ruby-command
	  (or (cdr (assq :ruby params))
	      org-babel-ruby-command))
         (full-body (org-babel-expand-body:generic
		     body params (org-babel-variable-assignments:ruby params)))
         (result (if (member "xmp" result-params)
		     (with-temp-buffer
		       (org-require-package 'rcodetools "rcodetools (gem package)")
		       (insert full-body)
		       (xmp (cdr (assq :xmp-option params)))
		       (buffer-string))
		   (org-babel-ruby-evaluate
		    session full-body result-type result-params))))
    (org-babel-reassemble-table
     (org-babel-result-cond result-params
       result
       (org-babel-ruby-table-or-string result))
     (org-babel-pick-name (cdr (assq :colname-names params))
			  (cdr (assq :colnames params)))
     (org-babel-pick-name (cdr (assq :rowname-names params))
			  (cdr (assq :rownames params))))))