I made a quite simple ruby web app. It uses scrubyt and mysql to store
results as cached results. The program is quite simple. It shows a
form, you enter a value and the controller makes an external http
call, parse the data and show the result for the user.
But I have a problem. I have the requirement to let a ruby program
from command line more or less run the same function that on web is
been handled by the form controller.
How can I re-use the web app when doing a standalone program callable
from command line? I dont want to recode as all the app is already
functioning. I am requested to do a ruby program that is called like
this:
ruby ./client.rb some_param
Where should I put this client.rb? How do I use the code from the
application that runs on the web?
How can I re-use the web app when doing a standalone program callable
from command line? I dont want to recode as all the app is already
functioning. I am requested to do a ruby program that is called like
this:
ruby ./client.rb some_param
Where should I put this client.rb? How do I use the code from the
application that runs on the web?
Have a google for ‘command-line ruby’ and read up on the gets() method.
As far as where to put client.rb, that could be anywhere given the
command-line you quoted. Starting the ruby method’s first argument with
a dot-slash means “starting in the current directory” and the rest just
points the ruby executable to the file client.rb in that directory. Are
you meaning to call a Rails application using this command-line
interface? Have a read on the Rails Runner. I don’t remember anything
about it except I saw it mentioned in passing in AWDWROR when I read it
years ago, never used it.
Walter
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.