Forum: Ruby call a ruby script from html

97334b75c93574ed3e514f33849f0953?d=identicon&s=25 Mario Ruiz (tcblues)
on 2010-03-24 17:28
I would like to call a ruby script from a html page passing a few
parameters, something like:
<a href="c:/myS/search.rb param1 param2">Search</a>

Anybody knows how to do it?

Thanks.
18d3c84ca5a017fe3e96490afaea28aa?d=identicon&s=25 Richard Conroy (Guest)
on 2010-03-24 17:58
(Received via mailing list)
Not too sure what you are trying to do here. The fact that you are
invoking
against your local system is a bit weird, and I dont think that is
workable.
Might work for locally loaded Javascript, but not in a HREF.

If you are hitting a server, this can be made to work, as CGI (similar
to
how
you would invoke against a PHP script), but CGI is not a popular way to
run Ruby web apps, and it is very poorly documented in general (its
eclipsed
by all the other methods).

Again, your parameters would have to be appropriate for a query string,
you
couldn't
rely on passing them in as command line arguments.

For isntance:

<a href="/scripts/ruby.rb?param1=value1&param2=value2">Search<a>
97334b75c93574ed3e514f33849f0953?d=identicon&s=25 Mario Ruiz (tcblues)
on 2010-03-24 18:05
What I'm trying to do is to call a ruby script that admits parameters.
This program is going to be run locally.
The problem is no parameters are taken since the explorers try to
download the file instead of running the file.

Another way to solve this would be to run directly the code on the
page... is that possible?

Thanks
1e5769440be526b44d90f0bb0665faac?d=identicon&s=25 Mario Antonetti (Guest)
on 2010-03-24 18:06
(Received via mailing list)
On Wed, Mar 24, 2010 at 10:56 AM, Richard Conroy
<richard.conroy@gmail.com>wrote:

> by all the other methods).
>
> >
>
>
> --
> http://richardconroy.blogspot.com



If the ruby script doesn't rely on being run on the server, you could
try
HotRuby: http://hotruby.yukoba.jp/
97334b75c93574ed3e514f33849f0953?d=identicon&s=25 Mario Ruiz (tcblues)
on 2010-03-24 18:16
but in HotRuby only a few implemented methods are allowed. :(
18d3c84ca5a017fe3e96490afaea28aa?d=identicon&s=25 Richard Conroy (Guest)
on 2010-03-24 18:18
(Received via mailing list)
On Wed, Mar 24, 2010 at 5:05 PM, Mario Ruiz <tcblues@gmail.com> wrote:

> What I'm trying to do is to call a ruby script that admits parameters.
> This program is going to be run locally.
> The problem is no parameters are taken since the explorers try to
> download the file instead of running the file.
>
> Another way to solve this would be to run directly the code on the
> page... is that possible?
>
>
There are a couple of exotic ways to run ruby in your browser. All of
them
work like
Java applets.

You can Jar up your ruby code with JRuby, and you might be able to
locally
invoke on
it that way.

A similar method works for IronRuby, to get your Ruby code inside a
silverlight applet.
7b56484f1e9d9af7b4c2c7ef16142197?d=identicon&s=25 Martin Boese (Guest)
on 2010-03-24 23:32
(Received via mailing list)
On Thu, 25 Mar 2010 02:05:10 +0900
Mario Ruiz <tcblues@gmail.com> wrote:

> What I'm trying to do is to call a ruby script that admits
> parameters. This program is going to be run locally.
> The problem is no parameters are taken since the explorers try to
> download the file instead of running the file.
>
> Another way to solve this would be to run directly the code on the
> page... is that possible?
>
> Thanks

I don't know of any browser what would execute the file, even if
the page was loaded locally....

But running a small local webserver will work. Ruby the code below and
then link to http://localhost:4000/run .

require 'webrick'

class RunScript < WEBrick::HTTPServlet::AbstractServlet
  def do_GET(req, res)
     system("c:/myS/search.rb param1 param2")
     res.status =  200
     res['Content-Type'] = 'text/html'
     res.body = "<h1>Running Program</h1>"
  end
end


server = WEBrick::HTTPServer.new(:Port => 4000)
server.mount("/run",  RunScript)

trap("INT"){ server.shutdown }
server.start
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.