Hello. I am writing a program with output to the browser. For it (besides rubygems) you need several dependencies: CSS, fonts, JavaScript library. It is necessary to organize the management of dependencies, first of all, at least downloading by command. The options that I came up with:
- This can be organized by Bower, but since the program is distributed, I would not like to force users to install Node.js in addition to Ruby only to download dependencies.
- You can distribute it directly with the program, but the program will be in Open Source on GitHub, and thrusting other people's projects into your repository, even with a disclaimer, is somehow inconvenient. Plus, you will have to monitor the versions of each library and make a separate commit for each version of each dependency.
- You can do this through Rake + GitHub + Net :: HTTP + File.write, but this is somehow unreliable and will take an extra bunch of code that needs to be maintained.
- Gem wrappers are known to be almost never updated by anyone.
There are a couple more ideas, but at the moment they do not seem feasible:
- Bower, alas, does not provide a public Web API
- CDN is not an option, since the program is again distributed and should work without an internet connection.
- Gem for this task did not find (more below)
I also tried to look for a gem, but the results are deplorable:
- giternal and rip allowed to load dependencies with git repositories, but they have not been supported by anyone for a long time and do not pass most of the tests.
- rails-assets and torba only for sprockets, but I don’t want to rewrite the whole project under a gem, which, to put it mildly, I don’t like at all.