…xes #526) This is a squashed commit of Pull Request 526, along with some local changes by me, including: * Using :pass instead of :password so that connections that require passwords work. * Requiring the swift-db adapter instead the subadapter instead of the main adapter proc. * Adding appropriate guards to the specs. Currently, hstore ? operators are broken on swift/postgres just like on do/postgres. Also, swift/sqlite is not completely stable, so add guards for the specs that cause it to crash (see deepfryed/swift-db-sqlite3#1 for details). One good thing about this change is that with the swift-db-* adapters, you only need to install the related gem, you don't need to install dbic++.
Sequel's gem specification has been in the Rakefile since I took over maintenance, and I've always been looking for a reason to move it into a gemspec file. While here, don't create a tar file, and put the gem in the root repository directory instead of in pkg. The rake task now calls gem build, similar to the other package tasks that use gem directly.
The website now will have 3 separate rdoc sections, one for core/model, one for adapters, and one for extensions/plugins. I think this will make the RDoc less cluttered and more approachable. The Rakefile website and website_rdoc tasks are now able to generate a fully functional local version of the site. In order for this to work, I changed all of the internal website links to relative links instead of the absolute links used previously. You can now use the Rakefile without rspec installed, though obviously you can't use the spec tasks. I refactored the Rakefile to use lambdas to reduce the amount of work done just by parsing the Rakefile, by only running code inside the tasks that need it. I removed the install_no_docs task. If anyone really wants it I can add it back. I made the .gitignore patterns absolute. I don't think this will cause any problems, and with normal usage of the sequel repository, there should be no effect. This commit changes the website task to only generate the base website, and adds a website_rdoc task to generate the 3 rdoc pages. You now need to use the website_rf task to update the sequel.rubyforge.org site. As I'm the only person that does that, I don't expect any complaints. I'm also switching the website upload to use rsync instead of scp, to improve the speed.
Instead of just hosting the RDoc at sequel.rubyforge.org, have an actual website, based on boof's design for www.ruby-sequel.org. However, drop the Rails project and instead create a plain html site generated with a simple script, a single template, and ERB. Also, add a fifth main feature to the README, showing off the improvements coming in 2.4.0.
For merging the READMEs, I put the model README at the bottom of the core README and used that. For merging the CHANGELOGs, I merged them manually back to 1.4.0, and copied the rest of the model CHANGELOG to the bottom of the file. Most of the Rakefile code was duplicative, but I think I got all tasks except spec_adapters. I figure few people have all 5 adapters necessary to run the adapter specs. I only have 3 of them, so I never used spec_adapters. The specs are still split up so they can be run independently. Additionally, the adapter specs are split off from the core specs, which helps if you want to put Sequel.connect lines in spec_config.rb. The only other spec changes were for path changes. There weren't conflicts merging anything else, IIRC. I hope there is no fallout from this. I haven't noticed any yet, running the specs and the test suites for all of my apps that use Sequel.
This should fix the problem of gems not having the correct RDoc options. The directory structure is changing so that RDoc is now stored in rdoc instead of doc/rdoc. This is because doc is now going to hold additional documentation files.