- (let* ((processed-params (org-babel-process-params params))
- (session (org-babel-ruby-initiate-session (first processed-params)))
- (result-params (nth 2 processed-params))
- (result-type (nth 3 processed-params))
- (full-body (org-babel-expand-body:ruby
- body params processed-params))
- (result (org-babel-ruby-evaluate
- session full-body result-type result-params)))
- (or (cdr (assoc :file params))
- (org-babel-reassemble-table
- result
- (org-babel-pick-name (nth 4 processed-params)
- (cdr (assoc :colnames params)))
- (org-babel-pick-name (nth 5 processed-params)
- (cdr (assoc :rownames params)))))))
+ (let* ((session (org-babel-ruby-initiate-session
+ (cdr (assoc :session params))))
+ (result-params (cdr (assoc :result-params params)))
+ (result-type (cdr (assoc :result-type params)))
+ (full-body (org-babel-expand-body:generic
+ body params (org-babel-variable-assignments:ruby params)))
+ (result (if (member "xmp" result-params)
+ (with-temp-buffer
+ (require 'rcodetools)
+ (insert full-body)
+ (xmp (cdr (assoc :xmp-option params)))
+ (buffer-string))
+ (org-babel-ruby-evaluate
+ session full-body result-type result-params))))
+ (org-babel-reassemble-table
+ result
+ (org-babel-pick-name (cdr (assoc :colname-names params))
+ (cdr (assoc :colnames params)))
+ (org-babel-pick-name (cdr (assoc :rowname-names params))
+ (cdr (assoc :rownames params))))))