help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: executing Ruby from Emacs buffer


From: Xah Lee
Subject: Re: executing Ruby from Emacs buffer
Date: Thu, 10 May 2012 04:23:40 -0700 (PDT)
User-agent: G2/1.0

On May 10, 3:28 am, ishi soichi <address@hidden> wrote:
> Cococa Emacs 23.2
> GNU Emacs 23.2.1 (x86_64-apple-darwin10.4.0, NS apple-appkit-1038.32) of
> 2010-08-27
> ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
>
> I am not sure if this question is to be asked here, but I'll try.
>
> I'm trying to run Ruby codes from Emacs.
>
> (defun execute-ruby ()
>   (interactive)
>   (let (buf)
>     (setq buf
>   (get-buffer-create "*result ruby execution*"))
>     (call-process-region
>      (region-beginning) (region-end) "ruby" nil buf nil)
>     (display-buffer buf)))
>
> as you can see, this piece of Elisp code runs a region where Ruby code is
> written.
>
> # -*- encoding: utf-8 -*-
> require 'twitter'
> Twitter.configure do |config|
>   config.consumer_key = ''
>   config.consumer_secret = ''
>   config.oauth_token = ''
>   config.oauth_token_secret = ''
> end
> p Twitter.user_timeline("soujiro0725").first.text
>
> The Ruby code utilizes a gem library, called 'twitter', which enables to
> tweet or get timelines by writing simple codes.
> Of course, this particular gem library is installed and it perfectly runs
> in a regular shell, such as zsh or bash.
>
> But for some reason, it gives an error when executed in Emacs buffer.
>
> ruby_twitter.rb:2:in `require': no such file to load -- twitter (LoadError)
> from ruby_twitter.rb:2
>
> Looks like Emacs cannot find the gem library.
>
> How can I have Emacs find the proper library or gems?

the issue is for the ruby interpreter to know it's lib paths, not
emacs. So, i don't think your issue lies in emacs.

this might be what you need or helpful.

〈Emacs Lisp Wrapper for Perl/Python/Ruby Scripts〉
http://xahlee.org/emacs/elisp_perl_wrapper.html

feel free to ask if you have more questions.

 Xah


reply via email to

[Prev in Thread] Current Thread [Next in Thread]