Is there a built-in or common way to consolidate a ruby project into one file?
I've got a project of 8-10 files (one class per file & a script that
use the classes). For ease of distributing it to my servers, I've got
a secondary script that consolidates all of them to one big ugly
script.
While the script to consolidate the project does does work well enough
for now, I can easily see it may not in the future.
Thanks
--Kyle
cat `find . -name '*.rb'` > all.rb
···
2009/4/8 Kyle Schmitt <kyleaschmitt@gmail.com>
Is there a built-in or common way to consolidate a ruby project into one
file?
Kyle Schmitt wrote:
Is there a built-in or common way to consolidate a ruby project into one file?
Might be helpful:
http://raa.ruby-lang.org/project/darb
(Doesn't package binary extensions, though, only ruby source.)
···
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
My apologies, that was kind of a silly answer. Best idea is to package it as
a gem. I use hoe for this, for which there is an excellent tutorial:
http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
···
2009/4/8 James Coglan <jcoglan@googlemail.com>
2009/4/8 Kyle Schmitt <kyleaschmitt@gmail.com>
> Is there a built-in or common way to consolidate a ruby project into one
> file?
cat `find . -name '*.rb'` > all.rb
Did you get that from the new O'Reilly book, "Mastering cat"? 
For some reason I never even _thought_ of doing it as a gem. Although
I'm not sure gem works by default on CentOS... I'll have to see.
Thanks
--Kyle
···
On Wed, Apr 8, 2009 at 10:28 AM, James Coglan <jcoglan@googlemail.com> wrote:
cat `find . -name '*.rb'` > all.rb
Hey, it's worth knowing your cat... although I really wish someone actually
would publish that book, I'd love to see how much mileage they could eke out
of it.
I slightly more robust thing to do would be to list all the files in a
config file e.g. Manifest.txt, since order can be important, then write a
build take in your Rakefile:
task :build do
files = File.read('Manifest.txt').strip.split(/\s+/)
code = files.map(&File.method(:read)) * "\n\n"
File.open('build.rb', 'wb') { |f| f.write(code) }
end
···
2009/4/8 Kyle Schmitt <kyleaschmitt@gmail.com>
On Wed, Apr 8, 2009 at 10:28 AM, James Coglan <jcoglan@googlemail.com> > wrote:
>
>
> cat `find . -name '*.rb'` > all.rb
>
Did you get that from the new O'Reilly book, "Mastering cat"? 
Interview with the author of “Mastering cat” [satire] - Shlomi Fish’s Homesite