It struck me the other day that one of the nicest things about Rails
is that it knows a lot of things so I don’t have to. For instance,
when i want to create a new Rails project I just type “rails path/to/
new/project” and a handful of seconds later I get a dummied out
webapp with test frameworks and all. I then run ./script/generate and
start building the application out from there. I don’t have to worry
about where to put my
Nothing too surprising there. What is surprising is how unbelievably
useful that is. I’m no longer a coder, I know how to program in a
number of languages but I’ve been specializing in Web Technologies
(and relying on REALLY clever java coders) for long enough that I’m
very rusty. Ruby helps me get back into the game. But every time I
want to start a project, even to do something relatively trivial, I
always run into the question, “How do I start this?”. I’m not sure
how I should arrange my files, where I should put my test cases, etc.
I would like someone a lot smarter than I to build something like the
Rails generators but far more generalized. Things I would like it to do:
Create a framework for building your app. Perhaps it could take a
list of dependancies you know you’re going to need and gets them setup
CreateProject myproject RMagick JabberR MYSQL
CreateProject myproject Rails <-- AKA rails myproject only it would
install rails if it hadn’t already?
Generator for classes
./script/generate class myclass
./script/generate class mymodule/myclass
./script/generate class mymodule/myclass -i InheritedClass -m
MixInModule1 -m MixinModule2
Or something. The important point would be that it would create the
necessary files, including unit test files. Perhaps a testing
framework like that of Rails where YAML is used to create fixtures
for testing could be prescribed.
Also, as I understand things, if you’re creating a relatively
complex module where you have multiple files, you would have
mymodule.rb that would require mymodule/myclass.rb. I’d like to have
mymodule.rb automatically maintained.
Scripts for “gemifying” your project. I assume that, assuming
you’ve written code in a particular fashion, you could automate the
process of turning your code into a gem.
I guess that basically I’m looking for Rails without the Rails
“Database App on the Web” paradigm.