asana2flowdock 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +58 -0
- data/README.md +85 -0
- data/Rakefile +394 -0
- data/a.rb +336 -0
- data/a.yml +6 -0
- data/asana2flowdock.gemspec +1878 -0
- data/bin/amalgalite-pack +16 -0
- data/bin/asana2flowdock +274 -0
- data/bin/asana2flowdock-daemon +16 -0
- data/bin/coderay +16 -0
- data/bin/httparty +16 -0
- data/bin/pry +16 -0
- data/bin/sekrets +16 -0
- data/bin/sequel +16 -0
- data/config/asana2flowdock.yml.enc +2 -0
- data/lib/asana2flowdock.rb +98 -0
- data/lib/asana2flowdock/asana.rb +225 -0
- data/vendor/bundle/ruby/1.9.1/bin/amalgalite-pack +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/asana2flowdock +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/asana2flowdock-daemon +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/coderay +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/httparty +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/pry +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/sekrets +23 -0
- data/vendor/bundle/ruby/1.9.1/bin/sequel +23 -0
- data/vendor/bundle/ruby/1.9.1/build_info/amalgalite-1.3.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/arrayfields-4.7.4.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/chronic-0.10.2.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/coderay-1.1.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/coerce-0.0.6.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/daemons-1.1.9.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/fastercsv-1.5.5.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/fattr-2.2.2.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/flowdock-0.5.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/highline-1.6.21.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/httparty-0.13.1.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/json-1.8.1.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/main-6.0.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/main-6.1.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/map-6.5.5.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/method_source-0.8.2.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/multi_json-1.10.1.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/multi_xml-0.5.5.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/pry-0.9.12.6.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/sekrets-1.7.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/sequel-4.15.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/slop-3.5.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/build_info/threadify-1.3.0.info +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/CONTRIBUTING.md +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/HISTORY.md +315 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/LICENSE +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/Manifest.txt +104 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/README.md +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/Rakefile +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/TODO.md +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/bin/amalgalite-pack +147 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/a.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/blob.rb +88 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/bootstrap.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/define_aggregate.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/define_function.rb +104 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/fts3.rb +144 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/gem-db.rb +94 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/require_me.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/requires.rb +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/schema-info.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/Makefile +220 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.c +329 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.h +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_blob.c +240 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_blob.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_constants.c +378 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_constants.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_database.c +1177 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_database.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_requires_bootstrap.c +282 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_requires_bootstrap.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_statement.c +649 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_statement.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/extconf.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/gen_constants.rb +193 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/notes.txt +134 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.c +137414 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.h +7160 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3_options.h +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3ext.h +447 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/1.9/amalgalite.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/aggregate.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/blob.rb +186 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/boolean.rb +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/busy_timeout.rb +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/column.rb +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/core_ext/kernel/require.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/csv_table_importer.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/database.rb +984 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/function.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/index.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/memory_database.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/packer.rb +231 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/paths.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/profile_tap.rb +131 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/progress_handler.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/requires.rb +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/schema.rb +225 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/constants.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/database/function.rb +48 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/database/status.rb +68 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/status.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/version.rb +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/statement.rb +418 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/table.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps.rb +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps/console.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps/io.rb +71 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/trace_tap.rb +35 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_map.rb +63 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/default_map.rb +166 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/storage_map.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/text_map.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/version.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/view.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/aggregate_spec.rb +150 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/amalgalite_spec.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/blob_spec.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/boolean_spec.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/busy_handler.rb +157 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-country.txt +242 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-schema.sql +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-subcountry.txt +3995 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/make-iso-db.sh +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/database_spec.rb +510 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/default_map_spec.rb +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/function_spec.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/integeration_spec.rb +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/iso_3166_database.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/packer_spec.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/paths_spec.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/progress_handler_spec.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/requires_spec.rb +54 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/rtree_spec.rb +66 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/schema_spec.rb +131 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/spec_helper.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/constants_spec.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/database_status_spec.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/status_spec.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/version_spec.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3_spec.rb +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/statement_spec.rb +168 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/storage_map_spec.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/tap_spec.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/text_map_spec.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/type_map_spec.rb +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/version_spec.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/custom.rake +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/default.rake +277 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/extension.rake +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/this.rb +209 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/README +378 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/arrayfields.gemspec +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/gemspec.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/install.rb +206 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/lib/arrayfields.rb +443 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/readme.rb +248 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/a.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/b.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/c.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/d.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/e.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/test/arrayfields.rb +324 -0
- data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/test/memtest.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/HISTORY.md +243 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/LICENSE +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/README.md +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/Rakefile +66 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/chronic.gemspec +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic.rb +150 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/date.rb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/grabber.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/handler.rb +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/handlers.rb +647 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/mini_date.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/numerizer.rb +130 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/ordinal.rb +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/parser.rb +268 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/pointer.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeater.rb +145 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day.rb +54 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day_name.rb +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day_portion.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_fortnight.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_hour.rb +59 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_minute.rb +59 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_month.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_month_name.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_season.rb +111 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_season_name.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_second.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_time.rb +138 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_week.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_weekday.rb +86 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_weekend.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_year.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/scalar.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/season.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/separator.rb +207 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/sign.rb +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/span.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/tag.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/time.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/time_zone.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/token.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/helper.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_chronic.rb +183 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_daylight_savings.rb +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_handler.rb +128 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_mini_date.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_numerizer.rb +86 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_parsing.rb +1235 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_day_name.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_day_portion.rb +254 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_fortnight.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_hour.rb +68 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_minute.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_month.rb +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_month_name.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_season.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_time.rb +88 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_week.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_weekday.rb +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_weekend.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_year.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_span.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_token.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/README_INDEX.rdoc +123 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/Rakefile +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/bin/coderay +215 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay.rb +284 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/duo.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoder.rb +201 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/_map.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/comment_filter.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/count.rb +39 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/debug.rb +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/debug_lint.rb +63 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/div.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/filter.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html.rb +332 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/css.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/numbering.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/output.rb +166 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/json.rb +83 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/lines_of_code.rb +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/lint.rb +59 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/null.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/page.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/span.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/statistic.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/terminal.rb +195 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/text.rb +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/token_kind_filter.rb +111 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/xml.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/yaml.rb +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/for_redcloth.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/file_type.rb +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/plugin.rb +274 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/word_list.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanner.rb +355 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/_map.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/c.rb +189 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/clojure.rb +217 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/cpp.rb +215 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/css.rb +196 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/debug.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/delphi.rb +144 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/diff.rb +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/erb.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/go.rb +208 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/groovy.rb +268 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/haml.rb +168 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/html.rb +275 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java.rb +174 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java/builtin_types.rb +421 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java_script.rb +237 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/json.rb +98 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/lua.rb +280 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/php.rb +527 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/python.rb +287 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/raydebug.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby.rb +470 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby/patterns.rb +178 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby/string_state.rb +71 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/sass.rb +232 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/sql.rb +177 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/taskpaper.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/text.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/xml.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/yaml.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/style.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/styles/_map.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/styles/alpha.rb +152 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/token_kinds.rb +85 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/tokens.rb +161 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/tokens_proxy.rb +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/version.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/basic.rb +318 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/examples.rb +129 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/for_redcloth.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/suite.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/README +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/Rakefile +392 -0
- data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/coerce.gemspec +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/lib/coerce.rb +210 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/LICENSE +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/README +214 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/Rakefile +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/Releases +195 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/TODO +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/call/call.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/call/call_monitor.rb +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/daemonize/daemonize.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_crash.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_exec.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_exit.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_hanging.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_keep_pid_files.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_monitor.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_multiple.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_normal.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_ontop.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_optionparser.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_multiple.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_rand.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_simple.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_slowstop.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_crashing.rb +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_exiting.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_hanging.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_slowstop.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons.rb +315 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/application.rb +477 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/application_group.rb +194 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/change_privilege.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/cmdline.rb +121 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/controller.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/daemonize.rb +169 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/etc_extension.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/exceptions.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/monitor.rb +138 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pid.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pidfile.rb +116 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pidmem.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/setup.rb +1360 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/AUTHORS +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/CHANGELOG +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/COPYING +340 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/INSTALL +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/LICENSE +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/README +71 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/Rakefile +94 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/TODO +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_converters.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_filter.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_reading.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_table.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_writing.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/purchase.csv +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/shortcut_interface.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/lib/faster_csv.rb +2025 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/lib/fastercsv.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/line_endings.gz +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_csv_parsing.rb +191 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_csv_writing.rb +96 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_data_converters.rb +260 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_encodings.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_features.rb +212 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_headers.rb +277 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_interface.rb +376 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_row.rb +305 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_serialization.rb +154 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_speed.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_table.rb +408 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/test_data.csv +1000 -0
- data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/ts_all.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/LICENSE +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/README +347 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/README.erb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/Rakefile +376 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/lib/fattr.rb +206 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/a.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/b.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/c.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/d.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/e.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/f.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/g.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/h.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/test/fattr_test.rb +173 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/Gemfile +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/LICENSE +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/README.md +145 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/Rakefile +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/VERSION +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/flowdock.gemspec +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/lib/flowdock.rb +181 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/lib/flowdock/capistrano.rb +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/spec/flowdock_spec.rb +435 -0
- data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/spec/spec_helper.rb +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/AUTHORS +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/CHANGELOG +357 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/COPYING +340 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/INSTALL +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/LICENSE +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/README.rdoc +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/Rakefile +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/TODO +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/ansi_colors.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/asking_for_arrays.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/basic_usage.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/color_scheme.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/get_character.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/limit.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/menus.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/overwrite.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/page_and_wrap.rb +322 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/password.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/repeat_entry.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/trapping_eof.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/using_readline.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/highline.gemspec +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline.rb +1034 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/color_scheme.rb +134 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/compatibility.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/import.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/menu.rb +381 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/question.rb +481 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/simulate.rb +48 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/string_extensions.rb +111 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/style.rb +181 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/system_extensions.rb +242 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/setup.rb +1360 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/highline.css +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/images/logo.png +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/index.html +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/string_methods.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_color_scheme.rb +96 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_highline.rb +1134 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_import.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_menu.rb +439 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_string_extension.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_string_highline.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_style.rb +567 -0
- data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/ts_all.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Gemfile +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Guardfile +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/History +303 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/README.md +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Rakefile +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/bin/httparty +117 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/cucumber.yml +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/aaws.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/basic.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/crack.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/custom_parsers.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/delicious.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/google.rb +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/headers_and_user_agents.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/nokogiri_html_parser.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/rubyurl.rb +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/stackexchange.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/tripit_sign_in.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/twitter.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/whoismyrep.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/basic_authentication.feature +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/command_line.feature +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/deals_with_http_error_codes.feature +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/digest_authentication.feature +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/handles_compressed_responses.feature +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/handles_multiple_formats.feature +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/env.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/httparty_response_steps.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/httparty_steps.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/mongrel_helper.rb +94 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/remote_service_steps.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_read_timeout_option.feature +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_redirection.feature +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_timeout_option.feature +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/httparty.gemspec +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty.rb +600 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/connection_adapter.rb +187 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/cookie_hash.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/core_extensions.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/exceptions.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/hash_conversions.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/apache_logger.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/curl_logger.rb +48 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/logger.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/module_inheritable_attributes.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/net_digest_auth.rb +84 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/parser.rb +141 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/request.rb +331 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/response.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/response/headers.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/version.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/script/release +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/delicious.xml +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/empty.xml +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/google.html +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generate.sh +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/1fe462c2.0 +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/bogushost.crt +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/ca.crt +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/ca.key +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/selfsigned.crt +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/server.crt +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/server.key +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/openssl-exts.cnf +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.csv +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.xml +403 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/undefined_method_add_node_for_nil.xml +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/connection_adapter_spec.rb +354 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/cookie_hash_spec.rb +83 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/exception_spec.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/apache_logger_spec.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/curl_logger_spec.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/logger_spec.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/net_digest_auth_spec.rb +152 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/parser_spec.rb +165 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/request_spec.rb +638 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/response_spec.rb +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/ssl_spec.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty_spec.rb +764 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/spec.opts +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/spec_helper.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/ssl_test_helper.rb +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/ssl_test_server.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/stub_response.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/website/css/common.css +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/website/index.html +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/CHANGES +284 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/COPYING +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/COPYING-json-jruby +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/GPL +340 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/Gemfile +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/README-json-jruby.markdown +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/README.rdoc +358 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/Rakefile +412 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/TODO +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/VERSION +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/example.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/index.html +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/prototype.js +4184 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/fbuffer/fbuffer.h +181 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/Makefile +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/depend +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/extconf.rb +14 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.c +1435 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.h +148 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/Makefile +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/depend +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/extconf.rb +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.c +2204 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.h +77 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.o +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.rl +927 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/install.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/ByteListTranscoder.java +167 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Generator.java +444 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorMethods.java +232 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorService.java +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorState.java +543 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/OptionsReader.java +114 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Parser.java +2644 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Parser.rl +968 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/ParserService.java +35 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/RuntimeInfo.java +121 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/StringDecoder.java +167 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/StringEncoder.java +106 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Utils.java +89 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json-java.gemspec +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json.gemspec +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json_pure.gemspec +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/bigdecimal.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/complex.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/core.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/date.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/date_time.rb +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/exception.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/ostruct.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/range.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/rational.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/regexp.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/struct.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/symbol.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/time.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb +484 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext/generator.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext/parser.bundle +0 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/generic_object.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure/generator.rb +522 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure/parser.rb +359 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/version.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail1.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail10.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail11.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail12.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail13.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail14.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail18.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail19.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail2.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail20.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail21.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail22.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail23.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail24.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail25.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail27.json +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail28.json +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail3.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail4.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail5.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail6.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail7.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail8.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail9.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass1.json +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass15.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass16.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass17.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass2.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass26.json +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass3.json +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/setup_variant.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json.rb +545 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_addition.rb +196 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_encoding.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_fixtures.rb +35 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_generate.rb +322 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_generic_object.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_string_matching.rb +39 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_unicode.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tools/fuzz.rb +139 -0
- data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tools/server.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/LICENSE +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/README +1177 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/README.erb +881 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/Rakefile +394 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/TODO +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/a.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main.rb +93 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/cast.rb +163 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/dsl.rb +77 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/factories.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/getoptlong.rb +470 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/logger.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/mode.rb +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/parameter.rb +735 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program/class_methods.rb +381 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program/instance_methods.rb +303 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/softspoken.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/stdext.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/test.rb +89 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/usage.rb +212 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/util.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/main.gemspec +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/a.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/b.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/c.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/d.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/e.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/f.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/g.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/h.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/j.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/test/main_test.rb +954 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/LICENSE +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/README +1177 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/README.erb +881 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/Rakefile +394 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/TODO +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/a.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main.rb +94 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/cast.rb +163 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/daemon.rb +525 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/dsl.rb +77 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/factories.rb +28 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/getoptlong.rb +470 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/logger.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/mode.rb +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/parameter.rb +735 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program/class_methods.rb +392 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program/instance_methods.rb +308 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/softspoken.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/stdext.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/test.rb +89 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/usage.rb +212 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/util.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/main.gemspec +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/a.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/b.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/c.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/d.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/e.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/f.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/g.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/h.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/j.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/test/main_test.rb +954 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/LICENSE +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/README +145 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/Rakefile +394 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/a.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map.rb +1190 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/integrations/active_record.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/options.rb +188 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/params.rb +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/struct.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/map.gemspec +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/leak.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/lib/testing.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/map_test.rb +802 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/Gemfile +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/LICENSE +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/README.markdown +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/Rakefile +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source.rb +141 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/code_helpers.rb +154 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/source_location.rb +138 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/version.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/method_source.gemspec +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test.rb +138 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test_code_helpers.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test_helper.rb +98 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/CHANGELOG.md +220 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/CONTRIBUTING.md +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/Gemfile +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/LICENSE.md +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/README.md +119 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/Rakefile +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json.rb +158 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapter.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapter_error.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/gson.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/jr_jackson.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_common.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_gem.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_pure.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/oj.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/ok_json.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/yajl.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/convertible_hash_keys.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/options.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/parse_error.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/vendor/okjson.rb +606 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/version.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/multi_json.gemspec +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/gson_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/jr_jackson_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/json_gem_adapter_spec.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/json_pure_adapter_spec.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/multi_json_spec.rb +200 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/nsjsonserialization_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/oj_adapter_spec.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/ok_json_adapter_spec.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/adapter.rb +236 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/json_common_adapter.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/options.rb +119 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/spec_helper.rb +77 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/yajl_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/CHANGELOG.md +93 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/CONTRIBUTING.md +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/LICENSE.md +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/README.md +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/Rakefile +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml.rb +296 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml2_parser.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/nokogiri.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/ox.rb +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/rexml.rb +113 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/version.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/multi_xml.gemspec +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/helper.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/multi_xml_spec.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/parser_shared_example.rb +694 -0
- data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/speed.rb +63 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/CHANGELOG +534 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/CONTRIBUTORS +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/Gemfile +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/LICENSE +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/README.markdown +400 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/Rakefile +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/TODO +117 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/bin/pry +16 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry.rb +274 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/cli.rb +202 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code.rb +385 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code/code_range.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code/loc.rb +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code_object.rb +153 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/command.rb +689 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/command_set.rb +400 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/amend_line.rb +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/bang.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/bang_pry.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat.rb +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/abstract_formatter.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/exception_formatter.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/file_formatter.rb +84 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/input_expression_formatter.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cd.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/code_collector.rb +165 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/disable_pry.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/disabled_commands.rb +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/easter_eggs.rb +112 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit.rb +207 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/exception_patcher.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/file_and_line_locator.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/method_patcher.rb +122 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit.rb +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit_all.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit_program.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/find_method.rb +199 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/fix_indent.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_cd.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_install.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_list.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_open.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gist.rb +102 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/help.rb +164 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/hist.rb +161 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/import_set.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/install_command.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/jump_to.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/ls.rb +338 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/nesting.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/play.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/pry_backtrace.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/pry_version.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/raise_up.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/reload_code.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/reset.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/ri.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/save_file.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/shell_command.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/shell_mode.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_doc.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_info.rb +200 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_input.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_source.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/simple_prompt.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/stat.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/switch_to.rb +23 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/toggle_color.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/whereami.rb +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/wtf.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/completion.rb +321 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/config.rb +258 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/core_extensions.rb +121 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/custom_completions.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/editor.rb +129 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers.rb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/base_helpers.rb +200 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/command_helpers.rb +154 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/documentation_helpers.rb +76 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/options_helpers.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/table.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/text.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/history.rb +124 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/history_array.rb +116 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/hooks.rb +250 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/indent.rb +406 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method.rb +551 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method/disowned.rb +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method/weird_method_locator.rb +186 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/module_candidate.rb +146 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pager.rb +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/plugins.rb +103 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pry_class.rb +456 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pry_instance.rb +765 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rbx_method.rb +13 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rbx_path.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/repl_file_loader.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rubygem.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/terminal.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/test/helper.rb +185 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/version.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/wrapped_module.rb +387 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1 +195 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1.html +204 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1.ronn +141 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/pry.gemspec +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/Procfile +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/cli_spec.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/code_object_spec.rb +277 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/code_spec.rb +219 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_helpers_spec.rb +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_integration_spec.rb +644 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_set_spec.rb +627 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_spec.rb +821 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/amend_line_spec.rb +247 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/bang_spec.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/cat_spec.rb +164 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/cd_spec.rb +250 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/disable_pry_spec.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/edit_spec.rb +727 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_all_spec.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_program_spec.rb +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_spec.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/find_method_spec.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/gem_list_spec.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/gist_spec.rb +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/help_spec.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/hist_spec.rb +181 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/jump_to_spec.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/ls_spec.rb +181 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/play_spec.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/raise_up_spec.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/save_file_spec.rb +177 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_doc_spec.rb +510 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_input_spec.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_source_spec.rb +782 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/whereami_spec.rb +203 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/completion_spec.rb +241 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/control_d_handler_spec.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/documentation_helper_spec.rb +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/editor_spec.rb +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/exception_whitelist_spec.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/candidate_helper1.rb +11 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/candidate_helper2.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/example.erb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/example_nesting.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/show_source_doc_examples.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/testrc +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/testrcbad +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/whereami_helper.rb +6 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helper.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/bacon.rb +86 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/mock_pry.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/table_spec.rb +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/history_array_spec.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/hooks_spec.rb +522 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/indent_spec.rb +301 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/input_stack_spec.rb +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/method_spec.rb +482 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/prompt_spec.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_defaults_spec.rb +419 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_history_spec.rb +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_output_spec.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_spec.rb +515 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/run_command_spec.rb +25 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/sticky_locals_spec.rb +157 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/syntax_checking_spec.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/wrapped_module_spec.rb +261 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/wiki/Customizing-pry.md +397 -0
- data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/wiki/Home.md +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/README +144 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/Rakefile +390 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/bin/sekrets +372 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/lib/sekrets.rb +511 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/lib/sekrets/capistrano.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/sekrets.gemspec +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/test/lib/testing.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/test/sekrets_test.rb +167 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/CHANGELOG +5790 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/MIT-LICENSE +19 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/README.rdoc +815 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/Rakefile +186 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/bin/sequel +244 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/active_record.rdoc +912 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/advanced_associations.rdoc +818 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/association_basics.rdoc +1763 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/bin_sequel.rdoc +144 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/cheat_sheet.rdoc +220 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/code_order.rdoc +96 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/core_extensions.rdoc +364 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/dataset_basics.rdoc +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/dataset_filtering.rdoc +191 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/extensions.rdoc +84 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/mass_assignment.rdoc +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/migration.rdoc +611 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/model_hooks.rdoc +262 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/model_plugins.rdoc +270 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/mssql_stored_procedures.rdoc +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/object_model.rdoc +573 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/opening_databases.rdoc +489 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/postgresql.rdoc +326 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/prepared_statements.rdoc +139 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/querying.rdoc +1017 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/reflection.rdoc +121 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.0.txt +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.1.txt +143 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.3.txt +101 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.4.0.txt +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.5.0.txt +155 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.0.0.txt +298 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.1.0.txt +271 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.10.0.txt +328 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.11.0.txt +215 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.12.0.txt +534 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.2.0.txt +253 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.3.0.txt +88 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.4.0.txt +106 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.5.0.txt +137 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.6.0.txt +157 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.7.0.txt +166 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.8.0.txt +171 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.9.0.txt +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.0.0.txt +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.1.0.txt +406 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.10.0.txt +286 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.11.0.txt +254 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.12.0.txt +304 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.13.0.txt +210 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.14.0.txt +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.15.0.txt +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.16.0.txt +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.17.0.txt +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.18.0.txt +120 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.19.0.txt +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.2.0.txt +268 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.20.0.txt +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.21.0.txt +87 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.22.0.txt +39 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.23.0.txt +172 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.24.0.txt +420 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.25.0.txt +88 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.26.0.txt +88 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.27.0.txt +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.28.0.txt +304 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.29.0.txt +459 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.3.0.txt +192 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.30.0.txt +135 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.31.0.txt +146 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.32.0.txt +202 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.33.0.txt +157 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.34.0.txt +671 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.35.0.txt +144 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.36.0.txt +245 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.37.0.txt +338 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.38.0.txt +234 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.39.0.txt +237 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.4.0.txt +325 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.40.0.txt +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.41.0.txt +155 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.42.0.txt +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.43.0.txt +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.44.0.txt +152 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.45.0.txt +179 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.46.0.txt +122 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.47.0.txt +270 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.48.0.txt +477 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.5.0.txt +510 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.6.0.txt +366 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.7.0.txt +179 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.8.0.txt +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.9.0.txt +233 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.0.0.txt +262 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.1.0.txt +85 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.10.0.txt +226 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.11.0.txt +147 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.12.0.txt +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.13.0.txt +169 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.14.0.txt +68 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.15.0.txt +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.2.0.txt +129 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.3.0.txt +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.4.0.txt +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.5.0.txt +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.6.0.txt +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.7.0.txt +103 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.8.0.txt +175 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.9.0.txt +190 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/schema_modification.rdoc +654 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/security.rdoc +370 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/sharding.rdoc +245 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/sql.rdoc +589 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/testing.rdoc +176 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/thread_safety.rdoc +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/transactions.rdoc +168 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/validations.rdoc +540 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/virtual_rows.rdoc +272 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel.rb +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado.rb +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado/access.rb +335 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado/mssql.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/amalgalite.rb +179 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/cubrid.rb +143 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/db2.rb +229 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/dbi.rb +101 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do.rb +156 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/mysql.rb +64 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/postgres.rb +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/sqlite3.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/fdbsql.rb +285 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/firebird.rb +104 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ibmdb.rb +476 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/informix.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc.rb +794 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/as400.rb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/cubrid.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/db2.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/derby.rb +312 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/fdbsql.rb +65 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/firebirdsql.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/h2.rb +227 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/hsqldb.rb +231 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/informix-sqli.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/jdbcprogress.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/jtds.rb +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/mssql.rb +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/mysql.rb +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/oracle.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/postgresql.rb +215 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlanywhere.rb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlite.rb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlserver.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/transactions.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mock.rb +391 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mysql.rb +372 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mysql2.rb +200 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc.rb +149 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/db2.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/mssql.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/progress.rb +8 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/openbase.rb +53 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/oracle.rb +459 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/postgres.rb +877 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/access.rb +299 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/cubrid.rb +243 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/db2.rb +403 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/fdbsql.rb +550 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/firebird.rb +245 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/informix.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mssql.rb +1037 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mysql.rb +984 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mysql_prepared_statements.rb +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/oracle.rb +522 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/postgres.rb +1617 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/progress.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/sqlanywhere.rb +470 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/sqlite.rb +729 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/sqlanywhere.rb +177 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/sqlite.rb +413 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift.rb +150 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/mysql.rb +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/postgres.rb +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/sqlite.rb +35 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/tinytds.rb +282 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/pg_types.rb +68 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/replace.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/split_alter_table.rb +44 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/stored_procedures.rb +74 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/ast_transformer.rb +200 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool.rb +110 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/sharded_single.rb +98 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/sharded_threaded.rb +265 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/single.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/threaded.rb +198 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/core.rb +394 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/connecting.rb +318 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/dataset.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/dataset_defaults.rb +175 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/features.rb +134 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/logging.rb +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/misc.rb +534 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/query.rb +329 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/schema_generator.rb +525 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/schema_methods.rb +964 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/transactions.rb +353 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/actions.rb +1045 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/features.rb +203 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/graph.rb +272 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/misc.rb +279 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/mutation.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/placeholder_literalizer.rb +179 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/prepared_statements.rb +283 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/query.rb +1136 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/sql.rb +1555 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/deprecated.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/exceptions.rb +77 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/_pretty_table.rb +84 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/arbitrary_servers.rb +110 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/blank.rb +47 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/columns_introspection.rb +83 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/connection_validator.rb +110 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/constraint_validations.rb +455 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/core_extensions.rb +230 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/core_refinements.rb +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/current_datetime_timestamp.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/dataset_source_alias.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/date_arithmetic.rb +192 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/empty_array_ignore_nulls.rb +34 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/error_sql.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/eval_inspect.rb +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/filter_having.rb +59 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/from_block.rb +32 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/graph_each.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/hash_aliases.rb +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/inflector.rb +246 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/looser_typecasting.rb +44 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/meta_def.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/migration.rb +736 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/named_timezones.rb +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/null_dataset.rb +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pagination.rb +121 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_array.rb +606 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_array_ops.rb +324 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_enum.rb +136 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_hstore.rb +357 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_hstore_ops.rb +349 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_inet.rb +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_interval.rb +198 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_json.rb +365 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_json_ops.rb +434 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_loose_count.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_range.rb +546 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_range_ops.rb +162 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_row.rb +615 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_row_ops.rb +194 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_static_cache_updater.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pretty_table.rb +36 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/query.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/query_literals.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/round_timestamps.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/ruby18_symbol_extensions.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/schema_caching.rb +75 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/schema_dumper.rb +476 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/select_remove.rb +48 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/sequel_3_dataset_methods.rb +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/server_block.rb +149 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/set_overrides.rb +72 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/split_array_nil.rb +66 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/sql_expr.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/string_date_time.rb +50 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/thread_local_timezones.rb +55 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/to_dot.rb +154 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model.rb +175 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/associations.rb +3171 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/base.rb +2306 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/dataset_module.rb +30 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/default_inflections.rb +45 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/errors.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/exceptions.rb +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/inflections.rb +162 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/plugins.rb +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/no_core_ext.rb +1 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/active_model.rb +99 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/after_initialize.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_autoreloading.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_dependencies.rb +97 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_pks.rb +167 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_proxies.rb +105 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/auto_validations.rb +161 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/blacklist_security.rb +93 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/boolean_readers.rb +56 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/caching.rb +153 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/class_table_inheritance.rb +292 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/column_select.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/composition.rb +187 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/constraint_validations.rb +229 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/dataset_associations.rb +107 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/defaults_setter.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/dirty.rb +231 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/eager_each.rb +64 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/error_splitter.rb +54 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/force_encoding.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/hook_class_methods.rb +125 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/input_transformer.rb +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/insert_returning_select.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/instance_filters.rb +131 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/instance_hooks.rb +96 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/json_serializer.rb +352 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/lazy_attributes.rb +117 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/list.rb +189 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/many_through_many.rb +317 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/many_to_one_pk_lookup.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/modification_detection.rb +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/mssql_optimistic_locking.rb +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/nested_attributes.rb +323 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/optimistic_locking.rb +83 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_array_associations.rb +528 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_row.rb +123 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_typecast_on_load.rb +78 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements.rb +205 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_associations.rb +116 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_safe.rb +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_with_pk.rb +59 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/rcte_tree.rb +343 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/schema.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/scissors.rb +33 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/serialization.rb +235 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/serialization_modification_detection.rb +84 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/sharding.rb +117 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/single_table_inheritance.rb +230 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/skip_create_refresh.rb +35 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/split_values.rb +64 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/static_cache.rb +215 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/string_stripper.rb +57 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/subclasses.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/table_select.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/tactical_eager_loading.rb +85 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/timestamps.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/touch.rb +140 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/tree.rb +156 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/typecast_on_load.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/unlimited_update.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/update_or_create.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/update_primary_key.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/validation_class_methods.rb +439 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/validation_helpers.rb +291 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/xml_serializer.rb +410 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/sql.rb +1865 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/timezones.rb +221 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/version.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/db2_spec.rb +148 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/fdbsql_spec.rb +429 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/firebird_spec.rb +417 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/informix_spec.rb +100 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/mssql_spec.rb +722 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/mysql_spec.rb +1304 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/oracle_spec.rb +315 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/postgres_spec.rb +3537 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/spec_helper.rb +76 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/sqlanywhere_spec.rb +170 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/sqlite_spec.rb +650 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/bin_spec.rb +256 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/connection_pool_spec.rb +982 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/database_spec.rb +2487 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/dataset_spec.rb +4970 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/deprecated_spec.rb +70 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/expression_filters_spec.rb +1197 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/mock_adapter_spec.rb +462 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/object_graph_spec.rb +303 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/placeholder_literalizer_spec.rb +163 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/schema_generator_spec.rb +179 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/schema_spec.rb +1610 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/spec_helper.rb +49 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/version_spec.rb +7 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core_extensions_spec.rb +695 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/active_model_spec.rb +123 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/after_initialize_spec.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/arbitrary_servers_spec.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_dependencies_spec.rb +117 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_pks_spec.rb +281 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_proxies_spec.rb +86 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/auto_validations_spec.rb +158 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/blacklist_security_spec.rb +87 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/blank_spec.rb +69 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/boolean_readers_spec.rb +93 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/caching_spec.rb +270 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/class_table_inheritance_spec.rb +274 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/column_select_spec.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/columns_introspection_spec.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/composition_spec.rb +242 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/connection_validator_spec.rb +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/constraint_validations_plugin_spec.rb +274 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/constraint_validations_spec.rb +325 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/core_refinements_spec.rb +519 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/current_datetime_timestamp_spec.rb +27 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dataset_associations_spec.rb +311 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dataset_source_alias_spec.rb +51 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/date_arithmetic_spec.rb +157 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/defaults_setter_spec.rb +101 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dirty_spec.rb +180 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/eager_each_spec.rb +42 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/empty_array_ignore_nulls_spec.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/error_splitter_spec.rb +18 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/error_sql_spec.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/eval_inspect_spec.rb +73 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/filter_having_spec.rb +40 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/force_encoding_spec.rb +114 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/from_block_spec.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/graph_each_spec.rb +109 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/hash_aliases_spec.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/hook_class_methods_spec.rb +416 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/inflector_spec.rb +183 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/input_transformer_spec.rb +54 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/insert_returning_select_spec.rb +46 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/instance_filters_spec.rb +79 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/instance_hooks_spec.rb +276 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/json_serializer_spec.rb +267 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/lazy_attributes_spec.rb +170 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/list_spec.rb +265 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/looser_typecasting_spec.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/many_through_many_spec.rb +2159 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/meta_def_spec.rb +21 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/migration_spec.rb +709 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/modification_detection_spec.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/mssql_optimistic_locking_spec.rb +91 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/named_timezones_spec.rb +108 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/nested_attributes_spec.rb +697 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/null_dataset_spec.rb +85 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/optimistic_locking_spec.rb +128 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pagination_spec.rb +118 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_associations_spec.rb +736 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_ops_spec.rb +143 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_spec.rb +390 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_enum_spec.rb +64 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_hstore_ops_spec.rb +236 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_hstore_spec.rb +206 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_inet_spec.rb +52 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_interval_spec.rb +76 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_json_ops_spec.rb +226 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_json_spec.rb +218 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_loose_count_spec.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_range_ops_spec.rb +58 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_range_spec.rb +404 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_ops_spec.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_plugin_spec.rb +62 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_spec.rb +360 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_static_cache_updater_spec.rb +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_typecast_on_load_spec.rb +63 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_associations_spec.rb +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_safe_spec.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_spec.rb +103 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_with_pk_spec.rb +31 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pretty_table_spec.rb +92 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/query_literals_spec.rb +167 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/query_spec.rb +102 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/rcte_tree_spec.rb +387 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/round_timestamps_spec.rb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_caching_spec.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_dumper_spec.rb +788 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_spec.rb +113 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/scissors_spec.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/select_remove_spec.rb +38 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sequel_3_dataset_methods_spec.rb +101 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/serialization_modification_detection_spec.rb +98 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/serialization_spec.rb +340 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/server_block_spec.rb +90 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/set_overrides_spec.rb +61 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sharding_spec.rb +198 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/shared_caching_spec.rb +175 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/single_table_inheritance_spec.rb +276 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/skip_create_refresh_spec.rb +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/spec_helper.rb +96 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/split_array_nil_spec.rb +24 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/split_values_spec.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sql_expr_spec.rb +60 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/static_cache_spec.rb +355 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/string_date_time_spec.rb +95 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/string_stripper_spec.rb +68 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/subclasses_spec.rb +66 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/table_select_spec.rb +71 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/tactical_eager_loading_spec.rb +82 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/thread_local_timezones_spec.rb +67 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/timestamps_spec.rb +175 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/to_dot_spec.rb +154 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/touch_spec.rb +203 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/tree_spec.rb +270 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/typecast_on_load_spec.rb +80 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/unlimited_update_spec.rb +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/update_or_create_spec.rb +81 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/update_primary_key_spec.rb +100 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/validation_class_methods_spec.rb +1030 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/validation_helpers_spec.rb +520 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/xml_serializer_spec.rb +207 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_down_migration/001_create_alt_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_down_migration/002_create_alt_advanced.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_up_migration/001_create_alt_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_up_migration/002_create_alt_advanced.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/001_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/002_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/003_3_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_integer_migrations/001_create_alt_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/001_reversible.rb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/002_reversible.rb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/003_reversible.rb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/004_reversible.rb +5 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/005_reversible.rb +10 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253849_create_sessions.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253851_create_nodes.rb +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253853_3_create_users.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_specified_migrations/002_create_basic.rb +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_unspecified_migrations/002_create_basic.rb +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +9 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +4 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/associations_test.rb +2453 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/database_test.rb +113 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/dataset_test.rb +1798 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/eager_loader_test.rb +687 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/migrator_test.rb +240 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/model_test.rb +226 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/plugin_test.rb +2162 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/prepared_statement_test.rb +426 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/schema_test.rb +801 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/spec_helper.rb +111 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/timezone_test.rb +86 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/transaction_test.rb +374 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/type_test.rb +133 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/association_reflection_spec.rb +500 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/associations_spec.rb +4316 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/base_spec.rb +746 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/class_dataset_methods_spec.rb +145 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/dataset_methods_spec.rb +149 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/eager_loading_spec.rb +2080 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/hooks_spec.rb +536 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/inflector_spec.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/model_spec.rb +992 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/plugins_spec.rb +299 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/record_spec.rb +2053 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/spec_helper.rb +64 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/validations_spec.rb +191 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/rspec_helper.rb +22 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/sequel_coverage.rb +15 -0
- data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/spec_config.rb +2 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/CHANGES.md +303 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/Gemfile +3 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/LICENSE +20 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/README.md +182 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/Rakefile +29 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop.rb +687 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop/commands.rb +196 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop/option.rb +209 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/slop.gemspec +17 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/commands_test.rb +26 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/helper.rb +12 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/option_test.rb +138 -0
- data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/slop_test.rb +518 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/README +151 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/README.erb +43 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/lib/threadify.rb +176 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/rakefile +222 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/sample/a.rb +37 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/sample/b.rb +41 -0
- data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/threadify.gemspec +26 -0
- data/vendor/bundle/ruby/1.9.1/specifications/amalgalite-1.3.0.gemspec +52 -0
- data/vendor/bundle/ruby/1.9.1/specifications/arrayfields-4.7.4.gemspec +16 -0
- data/vendor/bundle/ruby/1.9.1/specifications/chronic-0.10.2.gemspec +42 -0
- data/vendor/bundle/ruby/1.9.1/specifications/coderay-1.1.0.gemspec +23 -0
- data/vendor/bundle/ruby/1.9.1/specifications/coerce-0.0.6.gemspec +30 -0
- data/vendor/bundle/ruby/1.9.1/specifications/daemons-1.1.9.gemspec +19 -0
- data/vendor/bundle/ruby/1.9.1/specifications/fastercsv-1.5.5.gemspec +20 -0
- data/vendor/bundle/ruby/1.9.1/specifications/fattr-2.2.2.gemspec +18 -0
- data/vendor/bundle/ruby/1.9.1/specifications/flowdock-0.5.0.gemspec +51 -0
- data/vendor/bundle/ruby/1.9.1/specifications/highline-1.6.21.gemspec +21 -0
- data/vendor/bundle/ruby/1.9.1/specifications/httparty-0.13.1.gemspec +35 -0
- data/vendor/bundle/ruby/1.9.1/specifications/json-1.8.1.gemspec +36 -0
- data/vendor/bundle/ruby/1.9.1/specifications/main-6.0.0.gemspec +39 -0
- data/vendor/bundle/ruby/1.9.1/specifications/main-6.1.0.gemspec +39 -0
- data/vendor/bundle/ruby/1.9.1/specifications/map-6.5.5.gemspec +18 -0
- data/vendor/bundle/ruby/1.9.1/specifications/method_source-0.8.2.gemspec +31 -0
- data/vendor/bundle/ruby/1.9.1/specifications/multi_json-1.10.1.gemspec +30 -0
- data/vendor/bundle/ruby/1.9.1/specifications/multi_xml-0.5.5.gemspec +30 -0
- data/vendor/bundle/ruby/1.9.1/specifications/pry-0.9.12.6.gemspec +51 -0
- data/vendor/bundle/ruby/1.9.1/specifications/sekrets-1.7.0.gemspec +43 -0
- data/vendor/bundle/ruby/1.9.1/specifications/sequel-4.15.0.gemspec +22 -0
- data/vendor/bundle/ruby/1.9.1/specifications/slop-3.5.0.gemspec +33 -0
- data/vendor/bundle/ruby/1.9.1/specifications/threadify-1.3.0.gemspec +16 -0
- metadata +1804 -0
|
@@ -0,0 +1,1865 @@
|
|
|
1
|
+
module Sequel
|
|
2
|
+
if RUBY_VERSION < '1.9.0'
|
|
3
|
+
# :nocov:
|
|
4
|
+
# If on Ruby 1.8, create a <tt>Sequel::BasicObject</tt> class that is similar to the
|
|
5
|
+
# the Ruby 1.9 +BasicObject+ class. This is used in a few places where proxy
|
|
6
|
+
# objects are needed that respond to any method call.
|
|
7
|
+
class BasicObject
|
|
8
|
+
# The instance methods to not remove from the class when removing
|
|
9
|
+
# other methods.
|
|
10
|
+
KEEP_METHODS = %w"__id__ __send__ __metaclass__ instance_eval instance_exec == equal? initialize method_missing"
|
|
11
|
+
|
|
12
|
+
# Remove all but the most basic instance methods from the class. A separate
|
|
13
|
+
# method so that it can be called again if necessary if you load libraries
|
|
14
|
+
# after Sequel that add instance methods to +Object+.
|
|
15
|
+
def self.remove_methods!
|
|
16
|
+
((private_instance_methods + instance_methods) - KEEP_METHODS).each{|m| undef_method(m)}
|
|
17
|
+
end
|
|
18
|
+
remove_methods!
|
|
19
|
+
end
|
|
20
|
+
# :nocov:
|
|
21
|
+
else
|
|
22
|
+
# If on 1.9, create a <tt>Sequel::BasicObject</tt> class that is just like the
|
|
23
|
+
# default +BasicObject+ class, except that missing constants are resolved in
|
|
24
|
+
# +Object+. This allows the virtual row support to work with classes
|
|
25
|
+
# without prefixing them with ::, such as:
|
|
26
|
+
#
|
|
27
|
+
# DB[:bonds].filter{maturity_date > Time.now}
|
|
28
|
+
class BasicObject < ::BasicObject
|
|
29
|
+
# Lookup missing constants in <tt>::Object</tt>
|
|
30
|
+
def self.const_missing(name)
|
|
31
|
+
::Object.const_get(name)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# No-op method on ruby 1.9, which has a real +BasicObject+ class.
|
|
35
|
+
def self.remove_methods!
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class LiteralString < ::String
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Time subclass that gets literalized with only the time value, so it operates
|
|
44
|
+
# like a standard SQL time type.
|
|
45
|
+
class SQLTime < ::Time
|
|
46
|
+
# Create a new SQLTime instance given an hour, minute, and second.
|
|
47
|
+
def self.create(hour, minute, second, usec = 0)
|
|
48
|
+
t = now
|
|
49
|
+
local(t.year, t.month, t.day, hour, minute, second, usec)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Return a string in HH:MM:SS format representing the time.
|
|
53
|
+
def to_s(*args)
|
|
54
|
+
if args.empty?
|
|
55
|
+
strftime('%H:%M:%S')
|
|
56
|
+
else
|
|
57
|
+
# Superclass may have defined a method that takes a format string,
|
|
58
|
+
# and we shouldn't override in that case.
|
|
59
|
+
super
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# The SQL module holds classes whose instances represent SQL fragments.
|
|
65
|
+
# It also holds modules that are included in core ruby classes that
|
|
66
|
+
# make Sequel a friendly DSL.
|
|
67
|
+
module SQL
|
|
68
|
+
|
|
69
|
+
### Parent Classes ###
|
|
70
|
+
|
|
71
|
+
# Classes/Modules aren't in alphabetical order due to the fact that
|
|
72
|
+
# some reference constants defined in others at load time.
|
|
73
|
+
|
|
74
|
+
# Base class for all SQL expression objects.
|
|
75
|
+
class Expression
|
|
76
|
+
@comparison_attrs = []
|
|
77
|
+
|
|
78
|
+
class << self
|
|
79
|
+
# All attributes used for equality and hash methods.
|
|
80
|
+
attr_reader :comparison_attrs
|
|
81
|
+
|
|
82
|
+
# Expression objects are assumed to be value objects, where their
|
|
83
|
+
# attribute values can't change after assignment. In order to make
|
|
84
|
+
# it easy to define equality and hash methods, subclass
|
|
85
|
+
# instances assume that the only values that affect the results of
|
|
86
|
+
# such methods are the values of the object's attributes.
|
|
87
|
+
def attr_reader(*args)
|
|
88
|
+
super
|
|
89
|
+
comparison_attrs.concat(args)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Copy the comparison_attrs into the subclass.
|
|
93
|
+
def inherited(subclass)
|
|
94
|
+
super
|
|
95
|
+
subclass.instance_variable_set(:@comparison_attrs, comparison_attrs.dup)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
private
|
|
99
|
+
|
|
100
|
+
# Create a to_s instance method that takes a dataset, and calls
|
|
101
|
+
# the method provided on the dataset with args as the argument (self by default).
|
|
102
|
+
# Used to DRY up some code.
|
|
103
|
+
#
|
|
104
|
+
# Do not call this method with untrusted input, as that can result in
|
|
105
|
+
# arbitrary code execution.
|
|
106
|
+
def to_s_method(meth, args=:self) # :nodoc:
|
|
107
|
+
class_eval("def to_s_append(ds, sql) ds.#{meth}_append(sql, #{args}) end", __FILE__, __LINE__)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Alias of <tt>eql?</tt>
|
|
112
|
+
def ==(other)
|
|
113
|
+
eql?(other)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Returns true if the receiver is the same expression as the
|
|
117
|
+
# the +other+ expression.
|
|
118
|
+
def eql?(other)
|
|
119
|
+
other.is_a?(self.class) && !self.class.comparison_attrs.find{|a| send(a) != other.send(a)}
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Make sure that the hash value is the same if the attributes are the same.
|
|
123
|
+
def hash
|
|
124
|
+
([self.class] + self.class.comparison_attrs.map{|x| send(x)}).hash
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Show the class name and instance variables for the object, necessary
|
|
128
|
+
# for correct operation on ruby 1.9.2.
|
|
129
|
+
def inspect
|
|
130
|
+
"#<#{self.class} #{instance_variables.map{|iv| "#{iv}=>#{instance_variable_get(iv).inspect}"}.join(', ')}>"
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Returns +self+, because <tt>SQL::Expression</tt> already acts like +LiteralString+.
|
|
134
|
+
def lit
|
|
135
|
+
self
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Alias of +to_s+
|
|
139
|
+
def sql_literal(ds)
|
|
140
|
+
s = ''
|
|
141
|
+
to_s_append(ds, s)
|
|
142
|
+
s
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Represents a complex SQL expression, with a given operator and one
|
|
147
|
+
# or more attributes (which may also be ComplexExpressions, forming
|
|
148
|
+
# a tree). This class is the backbone of Sequel's ruby expression DSL.
|
|
149
|
+
#
|
|
150
|
+
# This is an abstract class that is not that useful by itself. The
|
|
151
|
+
# subclasses +BooleanExpression+, +NumericExpression+, and +StringExpression+
|
|
152
|
+
# define the behavior of the DSL via operators.
|
|
153
|
+
class ComplexExpression < Expression
|
|
154
|
+
# A hash of the opposite for each operator symbol, used for inverting
|
|
155
|
+
# objects.
|
|
156
|
+
OPERTATOR_INVERSIONS = {:AND => :OR, :OR => :AND, :< => :>=, :> => :<=,
|
|
157
|
+
:<= => :>, :>= => :<, :'=' => :'!=' , :'!=' => :'=', :LIKE => :'NOT LIKE',
|
|
158
|
+
:'NOT LIKE' => :LIKE, :~ => :'!~', :'!~' => :~, :IN => :'NOT IN',
|
|
159
|
+
:'NOT IN' => :IN, :IS => :'IS NOT', :'IS NOT' => :IS, :'~*' => :'!~*',
|
|
160
|
+
:'!~*' => :'~*', :NOT => :NOOP, :NOOP => :NOT, :ILIKE => :'NOT ILIKE',
|
|
161
|
+
:'NOT ILIKE'=>:ILIKE}
|
|
162
|
+
|
|
163
|
+
# Standard mathematical operators used in +NumericMethods+
|
|
164
|
+
MATHEMATICAL_OPERATORS = [:+, :-, :/, :*]
|
|
165
|
+
|
|
166
|
+
# Bitwise mathematical operators used in +NumericMethods+
|
|
167
|
+
BITWISE_OPERATORS = [:&, :|, :^, :<<, :>>, :%]
|
|
168
|
+
|
|
169
|
+
# Operators that check for equality
|
|
170
|
+
EQUALITY_OPERATORS = [:'=', :'!=']
|
|
171
|
+
|
|
172
|
+
# Inequality operators used in +InequalityMethods+
|
|
173
|
+
INEQUALITY_OPERATORS = [:<, :>, :<=, :>=]
|
|
174
|
+
|
|
175
|
+
# Hash of ruby operator symbols to SQL operators, used in +BooleanMethods+
|
|
176
|
+
BOOLEAN_OPERATOR_METHODS = {:& => :AND, :| =>:OR}
|
|
177
|
+
|
|
178
|
+
# Operators that use IN/NOT IN for inclusion/exclusion
|
|
179
|
+
IN_OPERATORS = [:IN, :'NOT IN']
|
|
180
|
+
|
|
181
|
+
# Operators that use IS, used for special casing to override literal true/false values
|
|
182
|
+
IS_OPERATORS = [:IS, :'IS NOT']
|
|
183
|
+
|
|
184
|
+
# Operators that do pattern matching via regular expressions
|
|
185
|
+
REGEXP_OPERATORS = [:~, :'!~', :'~*', :'!~*']
|
|
186
|
+
|
|
187
|
+
# Operators that do pattern matching via LIKE
|
|
188
|
+
LIKE_OPERATORS = [:LIKE, :'NOT LIKE', :ILIKE, :'NOT ILIKE']
|
|
189
|
+
|
|
190
|
+
# Operator symbols that take exactly two arguments
|
|
191
|
+
TWO_ARITY_OPERATORS = EQUALITY_OPERATORS + INEQUALITY_OPERATORS + IS_OPERATORS + IN_OPERATORS + REGEXP_OPERATORS + LIKE_OPERATORS
|
|
192
|
+
|
|
193
|
+
# Operator symbols that take one or more arguments
|
|
194
|
+
N_ARITY_OPERATORS = [:AND, :OR, :'||'] + MATHEMATICAL_OPERATORS + BITWISE_OPERATORS
|
|
195
|
+
|
|
196
|
+
# Operator symbols that take only a single argument
|
|
197
|
+
ONE_ARITY_OPERATORS = [:NOT, :NOOP, :'B~']
|
|
198
|
+
|
|
199
|
+
# Custom expressions that may have different syntax on different databases
|
|
200
|
+
CUSTOM_EXPRESSIONS = [:extract]
|
|
201
|
+
|
|
202
|
+
# The operator symbol for this object
|
|
203
|
+
attr_reader :op
|
|
204
|
+
|
|
205
|
+
# An array of args for this object
|
|
206
|
+
attr_reader :args
|
|
207
|
+
|
|
208
|
+
# Set the operator symbol and arguments for this object to the ones given.
|
|
209
|
+
# Convert all args that are hashes or arrays of two element arrays to +BooleanExpressions+,
|
|
210
|
+
# other than the second arg for an IN/NOT IN operator.
|
|
211
|
+
# Raise an +Error+ if the operator doesn't allow boolean input and a boolean argument is given.
|
|
212
|
+
# Raise an +Error+ if the wrong number of arguments for a given operator is used.
|
|
213
|
+
def initialize(op, *args)
|
|
214
|
+
orig_args = args
|
|
215
|
+
args = args.map{|a| Sequel.condition_specifier?(a) ? SQL::BooleanExpression.from_value_pairs(a) : a}
|
|
216
|
+
case op
|
|
217
|
+
when *N_ARITY_OPERATORS
|
|
218
|
+
raise(Error, "The #{op} operator requires at least 1 argument") unless args.length >= 1
|
|
219
|
+
old_args = args.map{|a| a.is_a?(self.class) && a.op == :NOOP ? a.args.first : a}
|
|
220
|
+
args = []
|
|
221
|
+
old_args.each{|a| a.is_a?(self.class) && a.op == op ? args.concat(a.args) : args.push(a)}
|
|
222
|
+
when *TWO_ARITY_OPERATORS
|
|
223
|
+
raise(Error, "The #{op} operator requires precisely 2 arguments") unless args.length == 2
|
|
224
|
+
# With IN/NOT IN, even if the second argument is an array of two element arrays,
|
|
225
|
+
# don't convert it into a boolean expression, since it's definitely being used
|
|
226
|
+
# as a value list.
|
|
227
|
+
args[1] = orig_args[1] if IN_OPERATORS.include?(op)
|
|
228
|
+
when *ONE_ARITY_OPERATORS
|
|
229
|
+
raise(Error, "The #{op} operator requires a single argument") unless args.length == 1
|
|
230
|
+
when *CUSTOM_EXPRESSIONS
|
|
231
|
+
# nothing
|
|
232
|
+
else
|
|
233
|
+
raise(Error, "Invalid operator #{op}")
|
|
234
|
+
end
|
|
235
|
+
@op = op
|
|
236
|
+
@args = args
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
to_s_method :complex_expression_sql, '@op, @args'
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# The base class for expressions that can be used in multiple places in
|
|
243
|
+
# an SQL query.
|
|
244
|
+
class GenericExpression < Expression
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
### Modules ###
|
|
248
|
+
|
|
249
|
+
# Includes an +as+ method that creates an SQL alias.
|
|
250
|
+
module AliasMethods
|
|
251
|
+
# Create an SQL alias (+AliasedExpression+) of the receiving column or expression to the given alias.
|
|
252
|
+
#
|
|
253
|
+
# Sequel.function(:func).as(:alias) # func() AS "alias"
|
|
254
|
+
# Sequel.function(:func).as(:alias, [:col_alias1, :col_alias2]) # func() AS "alias"("col_alias1", "col_alias2")
|
|
255
|
+
def as(aliaz, columns=nil)
|
|
256
|
+
AliasedExpression.new(self, aliaz, columns)
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
# This defines the bitwise methods: &, |, ^, ~, <<, and >>. Because these
|
|
261
|
+
# methods overlap with the standard +BooleanMethods methods+, and they only
|
|
262
|
+
# make sense for integers, they are only included in +NumericExpression+.
|
|
263
|
+
#
|
|
264
|
+
# :a.sql_number & :b # "a" & "b"
|
|
265
|
+
# :a.sql_number | :b # "a" | "b"
|
|
266
|
+
# :a.sql_number ^ :b # "a" ^ "b"
|
|
267
|
+
# :a.sql_number << :b # "a" << "b"
|
|
268
|
+
# :a.sql_number >> :b # "a" >> "b"
|
|
269
|
+
# ~:a.sql_number # ~"a"
|
|
270
|
+
module BitwiseMethods
|
|
271
|
+
ComplexExpression::BITWISE_OPERATORS.each do |o|
|
|
272
|
+
module_eval("def #{o}(o) NumericExpression.new(#{o.inspect}, self, o) end", __FILE__, __LINE__)
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
# Do the bitwise compliment of the self
|
|
276
|
+
#
|
|
277
|
+
# ~:a.sql_number # ~"a"
|
|
278
|
+
def ~
|
|
279
|
+
NumericExpression.new(:'B~', self)
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# This module includes the boolean/logical AND (&), OR (|) and NOT (~) operators
|
|
284
|
+
# that are defined on objects that can be used in a boolean context in SQL
|
|
285
|
+
# (+Symbol+, +LiteralString+, and <tt>SQL::GenericExpression</tt>).
|
|
286
|
+
#
|
|
287
|
+
# :a & :b # "a" AND "b"
|
|
288
|
+
# :a | :b # "a" OR "b"
|
|
289
|
+
# ~:a # NOT "a"
|
|
290
|
+
#
|
|
291
|
+
# One exception to this is when a NumericExpression or Integer is the argument
|
|
292
|
+
# to & or |, in which case a bitwise method will be used:
|
|
293
|
+
#
|
|
294
|
+
# :a & 1 # "a" & 1
|
|
295
|
+
# :a | (:b + 1) # "a" | ("b" + 1)
|
|
296
|
+
module BooleanMethods
|
|
297
|
+
ComplexExpression::BOOLEAN_OPERATOR_METHODS.each do |m, o|
|
|
298
|
+
module_eval(<<-END, __FILE__, __LINE__+1)
|
|
299
|
+
def #{m}(o)
|
|
300
|
+
case o
|
|
301
|
+
when NumericExpression, Integer
|
|
302
|
+
NumericExpression.new(#{m.inspect}, self, o)
|
|
303
|
+
else
|
|
304
|
+
BooleanExpression.new(#{o.inspect}, self, o)
|
|
305
|
+
end
|
|
306
|
+
end
|
|
307
|
+
END
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
# Create a new BooleanExpression with NOT, representing the inversion of whatever self represents.
|
|
311
|
+
#
|
|
312
|
+
# ~:a # NOT :a
|
|
313
|
+
def ~
|
|
314
|
+
BooleanExpression.invert(self)
|
|
315
|
+
end
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
# These methods are designed as replacements for the core extensions, so that
|
|
319
|
+
# Sequel is still easy to use if the core extensions are not enabled.
|
|
320
|
+
module Builders
|
|
321
|
+
# Create an SQL::AliasedExpression for the given expression and alias.
|
|
322
|
+
#
|
|
323
|
+
# Sequel.as(:column, :alias) # "column" AS "alias"
|
|
324
|
+
# Sequel.as(:column, :alias, [:col_alias1, :col_alias2]) # "column" AS "alias"("col_alias1", "col_alias2")
|
|
325
|
+
def as(exp, aliaz, columns=nil)
|
|
326
|
+
SQL::AliasedExpression.new(exp, aliaz, columns)
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
# Order the given argument ascending.
|
|
330
|
+
# Options:
|
|
331
|
+
#
|
|
332
|
+
# :nulls :: Set to :first to use NULLS FIRST (so NULL values are ordered
|
|
333
|
+
# before other values), or :last to use NULLS LAST (so NULL values
|
|
334
|
+
# are ordered after other values).
|
|
335
|
+
#
|
|
336
|
+
# Sequel.asc(:a) # a ASC
|
|
337
|
+
# Sequel.asc(:b, :nulls=>:last) # b ASC NULLS LAST
|
|
338
|
+
def asc(arg, opts=OPTS)
|
|
339
|
+
SQL::OrderedExpression.new(arg, false, opts)
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
# Return an <tt>SQL::Blob</tt> that holds the same data as this string.
|
|
343
|
+
# Blobs provide proper escaping of binary data. If given a blob, returns it
|
|
344
|
+
# directly.
|
|
345
|
+
def blob(s)
|
|
346
|
+
if s.is_a?(SQL::Blob)
|
|
347
|
+
s
|
|
348
|
+
else
|
|
349
|
+
SQL::Blob.new(s)
|
|
350
|
+
end
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
# Return an <tt>SQL::CaseExpression</tt> created with the given arguments.
|
|
354
|
+
#
|
|
355
|
+
# Sequel.case([[{:a=>[2,3]}, 1]], 0) # SQL: CASE WHEN a IN (2, 3) THEN 1 ELSE 0 END
|
|
356
|
+
# Sequel.case({:a=>1}, 0, :b) # SQL: CASE b WHEN a THEN 1 ELSE 0 END
|
|
357
|
+
def case(*args) # core_sql ignore
|
|
358
|
+
SQL::CaseExpression.new(*args)
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
# Cast the reciever to the given SQL type. You can specify a ruby class as a type,
|
|
362
|
+
# and it is handled similarly to using a database independent type in the schema methods.
|
|
363
|
+
#
|
|
364
|
+
# Sequel.cast(:a, :integer) # CAST(a AS integer)
|
|
365
|
+
# Sequel.cast(:a, String) # CAST(a AS varchar(255))
|
|
366
|
+
def cast(arg, sql_type)
|
|
367
|
+
SQL::Cast.new(arg, sql_type)
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
# Cast the reciever to the given SQL type (or the database's default Integer type if none given),
|
|
371
|
+
# and return the result as a +NumericExpression+, so you can use the bitwise operators
|
|
372
|
+
# on the result.
|
|
373
|
+
#
|
|
374
|
+
# Sequel.cast_numeric(:a) # CAST(a AS integer)
|
|
375
|
+
# Sequel.cast_numeric(:a, Float) # CAST(a AS double precision)
|
|
376
|
+
def cast_numeric(arg, sql_type = nil)
|
|
377
|
+
cast(arg, sql_type || Integer).sql_number
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
# Cast the reciever to the given SQL type (or the database's default String type if none given),
|
|
381
|
+
# and return the result as a +StringExpression+, so you can use +
|
|
382
|
+
# directly on the result for SQL string concatenation.
|
|
383
|
+
#
|
|
384
|
+
# Sequel.cast_string(:a) # CAST(a AS varchar(255))
|
|
385
|
+
# Sequel.cast_string(:a, :text) # CAST(a AS text)
|
|
386
|
+
def cast_string(arg, sql_type = nil)
|
|
387
|
+
cast(arg, sql_type || String).sql_string
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
# Return an emulated function call for getting the number of characters
|
|
391
|
+
# in the argument:
|
|
392
|
+
#
|
|
393
|
+
# Sequel.char_length(:a) # char_length(a) -- Most databases
|
|
394
|
+
# Sequel.char_length(:a) # length(a) -- SQLite
|
|
395
|
+
def char_length(arg)
|
|
396
|
+
SQL::Function.new!(:char_length, [arg], :emulate=>true)
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
# Do a deep qualification of the argument using the qualifier. This recurses into
|
|
400
|
+
# nested structures.
|
|
401
|
+
#
|
|
402
|
+
# Sequel.deep_qualify(:table, :column) # "table"."column"
|
|
403
|
+
# Sequel.deep_qualify(:table, Sequel.+(:column, 1)) # "table"."column" + 1
|
|
404
|
+
# Sequel.deep_qualify(:table, Sequel.like(:a, 'b')) # "table"."a" LIKE 'b' ESCAPE '\'
|
|
405
|
+
def deep_qualify(qualifier, expr)
|
|
406
|
+
Sequel::Qualifier.new(Sequel, qualifier).transform(expr)
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
# Return a delayed evaluation that uses the passed block. This is used
|
|
410
|
+
# to delay evaluations of the code to runtime. For example, with
|
|
411
|
+
# the following code:
|
|
412
|
+
#
|
|
413
|
+
# ds = DB[:table].where{column > Time.now}
|
|
414
|
+
#
|
|
415
|
+
# The filter is fixed to the time that where was called. Unless you are
|
|
416
|
+
# only using the dataset once immediately after creating it, that's
|
|
417
|
+
# probably not desired. If you just want to set it to the time when the
|
|
418
|
+
# query is sent to the database, you can wrap it in Sequel.delay:
|
|
419
|
+
#
|
|
420
|
+
# ds = DB[:table].where{column > Sequel.delay{Time.now}}
|
|
421
|
+
#
|
|
422
|
+
# Note that for dates and timestamps, you are probably better off using
|
|
423
|
+
# Sequel::CURRENT_DATE and Sequel::CURRENT_TIMESTAMP instead of this
|
|
424
|
+
# generic delayed evaluation facility.
|
|
425
|
+
def delay(&block)
|
|
426
|
+
raise(Error, "Sequel.delay requires a block") unless block
|
|
427
|
+
SQL::DelayedEvaluation.new(block)
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
# Order the given argument descending.
|
|
431
|
+
# Options:
|
|
432
|
+
#
|
|
433
|
+
# :nulls :: Set to :first to use NULLS FIRST (so NULL values are ordered
|
|
434
|
+
# before other values), or :last to use NULLS LAST (so NULL values
|
|
435
|
+
# are ordered after other values).
|
|
436
|
+
#
|
|
437
|
+
# Sequel.desc(:a) # b DESC
|
|
438
|
+
# Sequel.desc(:b, :nulls=>:first) # b DESC NULLS FIRST
|
|
439
|
+
def desc(arg, opts=OPTS)
|
|
440
|
+
SQL::OrderedExpression.new(arg, true, opts)
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
# Wraps the given object in an appropriate Sequel wrapper.
|
|
444
|
+
# If the given object is already a Sequel object, return it directly.
|
|
445
|
+
# For condition specifiers (hashes and arrays of two pairs), true, and false,
|
|
446
|
+
# return a boolean expressions. For numeric objects, return a numeric
|
|
447
|
+
# expression. For strings, return a string expression. For procs or when
|
|
448
|
+
# the method is passed a block, evaluate it as a virtual row and wrap it
|
|
449
|
+
# appropriately. In all other cases, use a generic wrapper.
|
|
450
|
+
#
|
|
451
|
+
# This method allows you to construct SQL expressions that are difficult
|
|
452
|
+
# to construct via other methods. For example:
|
|
453
|
+
#
|
|
454
|
+
# Sequel.expr(1) - :a # SQL: (1 - a)
|
|
455
|
+
def expr(arg=(no_arg=true), &block)
|
|
456
|
+
if block_given?
|
|
457
|
+
if no_arg
|
|
458
|
+
return expr(block)
|
|
459
|
+
else
|
|
460
|
+
raise Error, 'cannot provide both an argument and a block to Sequel.expr'
|
|
461
|
+
end
|
|
462
|
+
elsif no_arg
|
|
463
|
+
raise Error, 'must provide either an argument or a block to Sequel.expr'
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
case arg
|
|
467
|
+
when Symbol
|
|
468
|
+
t, c, a = Sequel.split_symbol(arg)
|
|
469
|
+
|
|
470
|
+
arg = if t
|
|
471
|
+
SQL::QualifiedIdentifier.new(t, c)
|
|
472
|
+
else
|
|
473
|
+
SQL::Identifier.new(c)
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
if a
|
|
477
|
+
arg = SQL::AliasedExpression.new(arg, a)
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
arg
|
|
481
|
+
when SQL::Expression, LiteralString, SQL::Blob
|
|
482
|
+
arg
|
|
483
|
+
when Hash
|
|
484
|
+
SQL::BooleanExpression.from_value_pairs(arg, :AND)
|
|
485
|
+
when Array
|
|
486
|
+
if condition_specifier?(arg)
|
|
487
|
+
SQL::BooleanExpression.from_value_pairs(arg, :AND)
|
|
488
|
+
else
|
|
489
|
+
SQL::Wrapper.new(arg)
|
|
490
|
+
end
|
|
491
|
+
when Numeric
|
|
492
|
+
SQL::NumericExpression.new(:NOOP, arg)
|
|
493
|
+
when String
|
|
494
|
+
SQL::StringExpression.new(:NOOP, arg)
|
|
495
|
+
when TrueClass, FalseClass
|
|
496
|
+
SQL::BooleanExpression.new(:NOOP, arg)
|
|
497
|
+
when Proc
|
|
498
|
+
expr(virtual_row(&arg))
|
|
499
|
+
else
|
|
500
|
+
SQL::Wrapper.new(arg)
|
|
501
|
+
end
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# Extract a datetime_part (e.g. year, month) from the given
|
|
505
|
+
# expression:
|
|
506
|
+
#
|
|
507
|
+
# Sequel.extract(:year, :date) # extract(year FROM "date")
|
|
508
|
+
def extract(datetime_part, exp)
|
|
509
|
+
SQL::NumericExpression.new(:extract, datetime_part, exp)
|
|
510
|
+
end
|
|
511
|
+
|
|
512
|
+
# Returns a <tt>Sequel::SQL::Function</tt> with the function name
|
|
513
|
+
# and the given arguments.
|
|
514
|
+
#
|
|
515
|
+
# Sequel.function(:now) # SQL: now()
|
|
516
|
+
# Sequel.function(:substr, :a, 1) # SQL: substr(a, 1)
|
|
517
|
+
def function(name, *args)
|
|
518
|
+
SQL::Function.new(name, *args)
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
# Return the argument wrapped as an <tt>SQL::Identifier</tt>.
|
|
522
|
+
#
|
|
523
|
+
# Sequel.identifier(:a__b) # "a__b"
|
|
524
|
+
def identifier(name)
|
|
525
|
+
SQL::Identifier.new(name)
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
# Return a <tt>Sequel::SQL::StringExpression</tt> representing an SQL string made up of the
|
|
529
|
+
# concatenation of the given array's elements. If an argument is passed,
|
|
530
|
+
# it is used in between each element of the array in the SQL
|
|
531
|
+
# concatenation.
|
|
532
|
+
#
|
|
533
|
+
# Sequel.join([:a]) # SQL: a
|
|
534
|
+
# Sequel.join([:a, :b]) # SQL: a || b
|
|
535
|
+
# Sequel.join([:a, 'b']) # SQL: a || 'b'
|
|
536
|
+
# Sequel.join(['a', :b], ' ') # SQL: 'a' || ' ' || b
|
|
537
|
+
def join(args, joiner=nil)
|
|
538
|
+
raise Error, 'argument to Sequel.join must be an array' unless args.is_a?(Array)
|
|
539
|
+
if joiner
|
|
540
|
+
args = args.zip([joiner]*args.length).flatten
|
|
541
|
+
args.pop
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
return SQL::StringExpression.new(:NOOP, '') if args.empty?
|
|
545
|
+
|
|
546
|
+
args = args.map do |a|
|
|
547
|
+
case a
|
|
548
|
+
when Symbol, ::Sequel::SQL::Expression, ::Sequel::LiteralString, TrueClass, FalseClass, NilClass
|
|
549
|
+
a
|
|
550
|
+
else
|
|
551
|
+
a.to_s
|
|
552
|
+
end
|
|
553
|
+
end
|
|
554
|
+
SQL::StringExpression.new(:'||', *args)
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
# Create a <tt>BooleanExpression</tt> case insensitive (if the database supports it) pattern match of the receiver with
|
|
558
|
+
# the given patterns. See <tt>SQL::StringExpression.like</tt>.
|
|
559
|
+
#
|
|
560
|
+
# Sequel.ilike(:a, 'A%') # "a" ILIKE 'A%' ESCAPE '\'
|
|
561
|
+
def ilike(*args)
|
|
562
|
+
SQL::StringExpression.like(*(args << {:case_insensitive=>true}))
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
# Create a <tt>SQL::BooleanExpression</tt> case sensitive (if the database supports it) pattern match of the receiver with
|
|
566
|
+
# the given patterns. See <tt>SQL::StringExpression.like</tt>.
|
|
567
|
+
#
|
|
568
|
+
# Sequel.like(:a, 'A%') # "a" LIKE 'A%' ESCAPE '\'
|
|
569
|
+
def like(*args)
|
|
570
|
+
SQL::StringExpression.like(*args)
|
|
571
|
+
end
|
|
572
|
+
|
|
573
|
+
# Converts a string into a <tt>Sequel::LiteralString</tt>, in order to override string
|
|
574
|
+
# literalization, e.g.:
|
|
575
|
+
#
|
|
576
|
+
# DB[:items].filter(:abc => 'def').sql #=>
|
|
577
|
+
# "SELECT * FROM items WHERE (abc = 'def')"
|
|
578
|
+
#
|
|
579
|
+
# DB[:items].filter(:abc => Sequel.lit('def')).sql #=>
|
|
580
|
+
# "SELECT * FROM items WHERE (abc = def)"
|
|
581
|
+
#
|
|
582
|
+
# You can also provide arguments, to create a <tt>Sequel::SQL::PlaceholderLiteralString</tt>:
|
|
583
|
+
#
|
|
584
|
+
# DB[:items].select{|o| o.count(Sequel.lit('DISTINCT ?', :a))}.sql #=>
|
|
585
|
+
# "SELECT count(DISTINCT a) FROM items"
|
|
586
|
+
def lit(s, *args) # core_sql ignore
|
|
587
|
+
if args.empty?
|
|
588
|
+
if s.is_a?(LiteralString)
|
|
589
|
+
s
|
|
590
|
+
else
|
|
591
|
+
LiteralString.new(s)
|
|
592
|
+
end
|
|
593
|
+
else
|
|
594
|
+
SQL::PlaceholderLiteralString.new(s, args)
|
|
595
|
+
end
|
|
596
|
+
end
|
|
597
|
+
|
|
598
|
+
# Return a <tt>Sequel::SQL::BooleanExpression</tt> created from the condition
|
|
599
|
+
# specifier, matching none of the conditions.
|
|
600
|
+
#
|
|
601
|
+
# Sequel.negate(:a=>true) # SQL: a IS NOT TRUE
|
|
602
|
+
# Sequel.negate([[:a, true]]) # SQL: a IS NOT TRUE
|
|
603
|
+
# Sequel.negate([[:a, 1], [:b, 2]]) # SQL: ((a != 1) AND (b != 2))
|
|
604
|
+
def negate(arg)
|
|
605
|
+
if condition_specifier?(arg)
|
|
606
|
+
SQL::BooleanExpression.from_value_pairs(arg, :AND, true)
|
|
607
|
+
else
|
|
608
|
+
raise Error, 'must pass a conditions specifier to Sequel.negate'
|
|
609
|
+
end
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
# Return a <tt>Sequel::SQL::BooleanExpression</tt> created from the condition
|
|
613
|
+
# specifier, matching any of the conditions.
|
|
614
|
+
#
|
|
615
|
+
# Sequel.or(:a=>true) # SQL: a IS TRUE
|
|
616
|
+
# Sequel.or([[:a, true]]) # SQL: a IS TRUE
|
|
617
|
+
# Sequel.or([[:a, 1], [:b, 2]]) # SQL: ((a = 1) OR (b = 2))
|
|
618
|
+
def or(arg)
|
|
619
|
+
if condition_specifier?(arg)
|
|
620
|
+
SQL::BooleanExpression.from_value_pairs(arg, :OR, false)
|
|
621
|
+
else
|
|
622
|
+
raise Error, 'must pass a conditions specifier to Sequel.or'
|
|
623
|
+
end
|
|
624
|
+
end
|
|
625
|
+
|
|
626
|
+
# Create a qualified identifier with the given qualifier and identifier
|
|
627
|
+
#
|
|
628
|
+
# Sequel.qualify(:table, :column) # "table"."column"
|
|
629
|
+
# Sequel.qualify(:schema, :table) # "schema"."table"
|
|
630
|
+
# Sequel.qualify(:table, :column).qualify(:schema) # "schema"."table"."column"
|
|
631
|
+
def qualify(qualifier, identifier)
|
|
632
|
+
SQL::QualifiedIdentifier.new(qualifier, identifier)
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
# Return an <tt>SQL::Subscript</tt> with the given arguments, representing an
|
|
636
|
+
# SQL array access.
|
|
637
|
+
#
|
|
638
|
+
# Sequel.subscript(:array, 1) # array[1]
|
|
639
|
+
# Sequel.subscript(:array, 1, 2) # array[1, 2]
|
|
640
|
+
# Sequel.subscript(:array, [1, 2]) # array[1, 2]
|
|
641
|
+
# Sequel.subscript(:array, 1..2) # array[1:2]
|
|
642
|
+
# Sequel.subscript(:array, 1...3) # array[1:2]
|
|
643
|
+
def subscript(exp, *subs)
|
|
644
|
+
SQL::Subscript.new(exp, subs.flatten)
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
# Return an emulated function call for trimming a string of spaces from
|
|
648
|
+
# both sides (similar to ruby's String#strip).
|
|
649
|
+
#
|
|
650
|
+
# Sequel.trim(:a) # trim(a) -- Most databases
|
|
651
|
+
# Sequel.trim(:a) # ltrim(rtrim(a)) -- Microsoft SQL Server
|
|
652
|
+
def trim(arg)
|
|
653
|
+
SQL::Function.new!(:trim, [arg], :emulate=>true)
|
|
654
|
+
end
|
|
655
|
+
|
|
656
|
+
# Return a <tt>SQL::ValueList</tt> created from the given array. Used if the array contains
|
|
657
|
+
# all two element arrays and you want it treated as an SQL value list (IN predicate)
|
|
658
|
+
# instead of as a conditions specifier (similar to a hash). This is not necessary if you are using
|
|
659
|
+
# this array as a value in a filter, but may be necessary if you are using it as a
|
|
660
|
+
# value with placeholder SQL:
|
|
661
|
+
#
|
|
662
|
+
# DB[:a].filter([:a, :b]=>[[1, 2], [3, 4]]) # SQL: (a, b) IN ((1, 2), (3, 4))
|
|
663
|
+
# DB[:a].filter('(a, b) IN ?', [[1, 2], [3, 4]]) # SQL: (a, b) IN ((1 = 2) AND (3 = 4))
|
|
664
|
+
# DB[:a].filter('(a, b) IN ?', Sequel.value_list([[1, 2], [3, 4]])) # SQL: (a, b) IN ((1, 2), (3, 4))
|
|
665
|
+
def value_list(arg)
|
|
666
|
+
raise Error, 'argument to Sequel.value_list must be an array' unless arg.is_a?(Array)
|
|
667
|
+
SQL::ValueList.new(arg)
|
|
668
|
+
end
|
|
669
|
+
end
|
|
670
|
+
|
|
671
|
+
# Holds methods that are used to cast objects to different SQL types.
|
|
672
|
+
module CastMethods
|
|
673
|
+
# Cast the reciever to the given SQL type. You can specify a ruby class as a type,
|
|
674
|
+
# and it is handled similarly to using a database independent type in the schema methods.
|
|
675
|
+
#
|
|
676
|
+
# Sequel.function(:func).cast(:integer) # CAST(func() AS integer)
|
|
677
|
+
# Sequel.function(:func).cast(String) # CAST(func() AS varchar(255))
|
|
678
|
+
def cast(sql_type)
|
|
679
|
+
Cast.new(self, sql_type)
|
|
680
|
+
end
|
|
681
|
+
|
|
682
|
+
# Cast the reciever to the given SQL type (or the database's default Integer type if none given),
|
|
683
|
+
# and return the result as a +NumericExpression+, so you can use the bitwise operators
|
|
684
|
+
# on the result.
|
|
685
|
+
#
|
|
686
|
+
# Sequel.function(:func).cast_numeric # CAST(func() AS integer)
|
|
687
|
+
# Sequel.function(:func).cast_numeric(Float) # CAST(func() AS double precision)
|
|
688
|
+
def cast_numeric(sql_type = nil)
|
|
689
|
+
Cast.new(self, sql_type || Integer).sql_number
|
|
690
|
+
end
|
|
691
|
+
|
|
692
|
+
# Cast the reciever to the given SQL type (or the database's default String type if none given),
|
|
693
|
+
# and return the result as a +StringExpression+, so you can use +
|
|
694
|
+
# directly on the result for SQL string concatenation.
|
|
695
|
+
#
|
|
696
|
+
# Sequel.function(:func).cast_string # CAST(func() AS varchar(255))
|
|
697
|
+
# Sequel.function(:func).cast_string(:text) # CAST(func() AS text)
|
|
698
|
+
def cast_string(sql_type = nil)
|
|
699
|
+
Cast.new(self, sql_type || String).sql_string
|
|
700
|
+
end
|
|
701
|
+
end
|
|
702
|
+
|
|
703
|
+
# Adds methods that allow you to treat an object as an instance of a specific
|
|
704
|
+
# +ComplexExpression+ subclass. This is useful if another library
|
|
705
|
+
# overrides the methods defined by Sequel.
|
|
706
|
+
#
|
|
707
|
+
# For example, if <tt>Symbol#/</tt> is overridden to produce a string (for
|
|
708
|
+
# example, to make file system path creation easier), the
|
|
709
|
+
# following code will not do what you want:
|
|
710
|
+
#
|
|
711
|
+
# :price/10 > 100
|
|
712
|
+
#
|
|
713
|
+
# In that case, you need to do the following:
|
|
714
|
+
#
|
|
715
|
+
# :price.sql_number/10 > 100
|
|
716
|
+
module ComplexExpressionMethods
|
|
717
|
+
# Extract a datetime part (e.g. year, month) from self:
|
|
718
|
+
#
|
|
719
|
+
# :date.extract(:year) # extract(year FROM "date")
|
|
720
|
+
#
|
|
721
|
+
# Also has the benefit of returning the result as a
|
|
722
|
+
# NumericExpression instead of a generic ComplexExpression.
|
|
723
|
+
def extract(datetime_part)
|
|
724
|
+
NumericExpression.new(:extract, datetime_part, self)
|
|
725
|
+
end
|
|
726
|
+
|
|
727
|
+
# Return a BooleanExpression representation of +self+.
|
|
728
|
+
def sql_boolean
|
|
729
|
+
BooleanExpression.new(:NOOP, self)
|
|
730
|
+
end
|
|
731
|
+
|
|
732
|
+
# Return a NumericExpression representation of +self+.
|
|
733
|
+
#
|
|
734
|
+
# ~:a # NOT "a"
|
|
735
|
+
# ~:a.sql_number # ~"a"
|
|
736
|
+
def sql_number
|
|
737
|
+
NumericExpression.new(:NOOP, self)
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
# Return a StringExpression representation of +self+.
|
|
741
|
+
#
|
|
742
|
+
# :a + :b # "a" + "b"
|
|
743
|
+
# :a.sql_string + :b # "a" || "b"
|
|
744
|
+
def sql_string
|
|
745
|
+
StringExpression.new(:NOOP, self)
|
|
746
|
+
end
|
|
747
|
+
end
|
|
748
|
+
|
|
749
|
+
# This module includes the inequality methods (>, <, >=, <=) that are defined on objects that can be
|
|
750
|
+
# used in a numeric or string context in SQL.
|
|
751
|
+
#
|
|
752
|
+
# Sequel.lit('a') > :b # a > "b"
|
|
753
|
+
# Sequel.lit('a') < :b # a > "b"
|
|
754
|
+
# Sequel.lit('a') >= :b # a >= "b"
|
|
755
|
+
# Sequel.lit('a') <= :b # a <= "b"
|
|
756
|
+
module InequalityMethods
|
|
757
|
+
ComplexExpression::INEQUALITY_OPERATORS.each do |o|
|
|
758
|
+
module_eval("def #{o}(o) BooleanExpression.new(#{o.inspect}, self, o) end", __FILE__, __LINE__)
|
|
759
|
+
end
|
|
760
|
+
end
|
|
761
|
+
|
|
762
|
+
# This module includes the standard mathematical methods (+, -, *, and /)
|
|
763
|
+
# that are defined on objects that can be used in a numeric context in SQL
|
|
764
|
+
# (+Symbol+, +LiteralString+, and +SQL::GenericExpression+).
|
|
765
|
+
#
|
|
766
|
+
# :a + :b # "a" + "b"
|
|
767
|
+
# :a - :b # "a" - "b"
|
|
768
|
+
# :a * :b # "a" * "b"
|
|
769
|
+
# :a / :b # "a" / "b"
|
|
770
|
+
#
|
|
771
|
+
# One exception to this is if + is called with a +String+ or +StringExpression+,
|
|
772
|
+
# in which case the || operator is used instead of the + operator:
|
|
773
|
+
#
|
|
774
|
+
# :a + 'b' # "a" || 'b'
|
|
775
|
+
module NumericMethods
|
|
776
|
+
ComplexExpression::MATHEMATICAL_OPERATORS.each do |o|
|
|
777
|
+
module_eval("def #{o}(o) NumericExpression.new(#{o.inspect}, self, o) end", __FILE__, __LINE__) unless o == :+
|
|
778
|
+
end
|
|
779
|
+
|
|
780
|
+
# Use || as the operator when called with StringExpression and String instances,
|
|
781
|
+
# and the + operator for LiteralStrings and all other types.
|
|
782
|
+
def +(ce)
|
|
783
|
+
case ce
|
|
784
|
+
when LiteralString
|
|
785
|
+
NumericExpression.new(:+, self, ce)
|
|
786
|
+
when StringExpression, String
|
|
787
|
+
StringExpression.new(:'||', self, ce)
|
|
788
|
+
else
|
|
789
|
+
NumericExpression.new(:+, self, ce)
|
|
790
|
+
end
|
|
791
|
+
end
|
|
792
|
+
end
|
|
793
|
+
|
|
794
|
+
# These methods are designed as replacements for the core extension operator
|
|
795
|
+
# methods, so that Sequel is still easy to use if the core extensions are not
|
|
796
|
+
# enabled.
|
|
797
|
+
#
|
|
798
|
+
# The following methods are defined via metaprogramming: +, -, *, /, &, |.
|
|
799
|
+
# The +, -, *, and / operators return numeric expressions combining all the
|
|
800
|
+
# arguments with the appropriate operator, and the & and | operators return
|
|
801
|
+
# boolean expressions combining all of the arguments with either AND or OR.
|
|
802
|
+
module OperatorBuilders
|
|
803
|
+
{'::Sequel::SQL::NumericExpression'=>{'+'=>'+', '-'=>'-', '*'=>'*', '/'=>'/'},
|
|
804
|
+
'::Sequel::SQL::BooleanExpression'=>{'&'=>'AND', '|'=>'OR'}}.each do |klass, ops|
|
|
805
|
+
ops.each do |m, op|
|
|
806
|
+
class_eval(<<-END, __FILE__, __LINE__ + 1)
|
|
807
|
+
def #{m}(*args)
|
|
808
|
+
if (args.length == 1)
|
|
809
|
+
if (v = args.first).class.is_a?(#{klass})
|
|
810
|
+
v
|
|
811
|
+
else
|
|
812
|
+
#{klass}.new(:NOOP, v)
|
|
813
|
+
end
|
|
814
|
+
else
|
|
815
|
+
#{klass}.new(:#{op}, *args)
|
|
816
|
+
end
|
|
817
|
+
end
|
|
818
|
+
END
|
|
819
|
+
end
|
|
820
|
+
end
|
|
821
|
+
|
|
822
|
+
# Invert the given expression. Returns a <tt>Sequel::SQL::BooleanExpression</tt>
|
|
823
|
+
# created from this argument, not matching all of the conditions.
|
|
824
|
+
#
|
|
825
|
+
# Sequel.~(nil) # SQL: NOT NULL
|
|
826
|
+
# Sequel.~([[:a, true]]) # SQL: a IS NOT TRUE
|
|
827
|
+
# Sequel.~([[:a, 1], [:b, [2, 3]]]) # SQL: a != 1 OR b NOT IN (2, 3)
|
|
828
|
+
def ~(arg)
|
|
829
|
+
if condition_specifier?(arg)
|
|
830
|
+
SQL::BooleanExpression.from_value_pairs(arg, :OR, true)
|
|
831
|
+
else
|
|
832
|
+
SQL::BooleanExpression.invert(arg)
|
|
833
|
+
end
|
|
834
|
+
end
|
|
835
|
+
end
|
|
836
|
+
|
|
837
|
+
# Methods that create +OrderedExpressions+, used for sorting by columns
|
|
838
|
+
# or more complex expressions.
|
|
839
|
+
module OrderMethods
|
|
840
|
+
# Mark the receiving SQL column as sorting in an ascending fashion (generally a no-op).
|
|
841
|
+
# Options:
|
|
842
|
+
#
|
|
843
|
+
# :nulls :: Set to :first to use NULLS FIRST (so NULL values are ordered
|
|
844
|
+
# before other values), or :last to use NULLS LAST (so NULL values
|
|
845
|
+
# are ordered after other values).
|
|
846
|
+
def asc(opts=OPTS)
|
|
847
|
+
OrderedExpression.new(self, false, opts)
|
|
848
|
+
end
|
|
849
|
+
|
|
850
|
+
# Mark the receiving SQL column as sorting in a descending fashion.
|
|
851
|
+
# Options:
|
|
852
|
+
#
|
|
853
|
+
# :nulls :: Set to :first to use NULLS FIRST (so NULL values are ordered
|
|
854
|
+
# before other values), or :last to use NULLS LAST (so NULL values
|
|
855
|
+
# are ordered after other values).
|
|
856
|
+
def desc(opts=OPTS)
|
|
857
|
+
OrderedExpression.new(self, true, opts)
|
|
858
|
+
end
|
|
859
|
+
end
|
|
860
|
+
|
|
861
|
+
# Includes a +qualify+ method that created <tt>QualifiedIdentifier</tt>s, used for qualifying column
|
|
862
|
+
# names with a table or table names with a schema, and the * method for returning all columns in
|
|
863
|
+
# the identifier if no arguments are given.
|
|
864
|
+
module QualifyingMethods
|
|
865
|
+
# If no arguments are given, return an SQL::ColumnAll:
|
|
866
|
+
#
|
|
867
|
+
# Sequel.expr(:a__b).* # a.b.*
|
|
868
|
+
def *(ce=(arg=false;nil))
|
|
869
|
+
if arg == false
|
|
870
|
+
Sequel::SQL::ColumnAll.new(self)
|
|
871
|
+
else
|
|
872
|
+
super(ce)
|
|
873
|
+
end
|
|
874
|
+
end
|
|
875
|
+
|
|
876
|
+
# Qualify the receiver with the given +qualifier+ (table for column/schema for table).
|
|
877
|
+
#
|
|
878
|
+
# Sequel.expr(:column).qualify(:table) # "table"."column"
|
|
879
|
+
# Sequel.expr(:table).qualify(:schema) # "schema"."table"
|
|
880
|
+
# Sequel.qualify(:table, :column).qualify(:schema) # "schema"."table"."column"
|
|
881
|
+
def qualify(qualifier)
|
|
882
|
+
QualifiedIdentifier.new(qualifier, self)
|
|
883
|
+
end
|
|
884
|
+
end
|
|
885
|
+
|
|
886
|
+
# This module includes the +like+ and +ilike+ methods used for pattern matching that are defined on objects that can be
|
|
887
|
+
# used in a string context in SQL (+Symbol+, +LiteralString+, <tt>SQL::GenericExpression</tt>).
|
|
888
|
+
module StringMethods
|
|
889
|
+
# Create a +BooleanExpression+ case insensitive pattern match of the receiver
|
|
890
|
+
# with the given patterns. See <tt>StringExpression.like</tt>.
|
|
891
|
+
#
|
|
892
|
+
# :a.ilike('A%') # "a" ILIKE 'A%' ESCAPE '\'
|
|
893
|
+
def ilike(*ces)
|
|
894
|
+
StringExpression.like(self, *(ces << {:case_insensitive=>true}))
|
|
895
|
+
end
|
|
896
|
+
|
|
897
|
+
# Create a +BooleanExpression+ case sensitive (if the database supports it) pattern match of the receiver with
|
|
898
|
+
# the given patterns. See <tt>StringExpression.like</tt>.
|
|
899
|
+
#
|
|
900
|
+
# :a.like('A%') # "a" LIKE 'A%' ESCAPE '\'
|
|
901
|
+
def like(*ces)
|
|
902
|
+
StringExpression.like(self, *ces)
|
|
903
|
+
end
|
|
904
|
+
end
|
|
905
|
+
|
|
906
|
+
# This module includes the <tt>+</tt> method. It is included in +StringExpression+ and can be included elsewhere
|
|
907
|
+
# to allow the use of the + operator to represent concatenation of SQL Strings:
|
|
908
|
+
module StringConcatenationMethods
|
|
909
|
+
# Return a +StringExpression+ representing the concatenation of the receiver
|
|
910
|
+
# with the given argument.
|
|
911
|
+
#
|
|
912
|
+
# :x.sql_string + :y # => "x" || "y"
|
|
913
|
+
def +(ce)
|
|
914
|
+
StringExpression.new(:'||', self, ce)
|
|
915
|
+
end
|
|
916
|
+
end
|
|
917
|
+
|
|
918
|
+
# This module includes the +sql_subscript+ method, representing SQL array accesses.
|
|
919
|
+
module SubscriptMethods
|
|
920
|
+
# Return a <tt>Subscript</tt> with the given arguments, representing an
|
|
921
|
+
# SQL array access.
|
|
922
|
+
#
|
|
923
|
+
# :array.sql_subscript(1) # array[1]
|
|
924
|
+
# :array.sql_subscript(1, 2) # array[1, 2]
|
|
925
|
+
# :array.sql_subscript([1, 2]) # array[1, 2]
|
|
926
|
+
# :array.sql_subscript(:array, 1..2) # array[1:2]
|
|
927
|
+
# :array.sql_subscript(:array, 1...3) # array[1:2]
|
|
928
|
+
def sql_subscript(*sub)
|
|
929
|
+
Subscript.new(self, sub.flatten)
|
|
930
|
+
end
|
|
931
|
+
end
|
|
932
|
+
|
|
933
|
+
### Classes ###
|
|
934
|
+
|
|
935
|
+
# Represents an aliasing of an expression to a given alias.
|
|
936
|
+
class AliasedExpression < Expression
|
|
937
|
+
# The expression to alias
|
|
938
|
+
attr_reader :expression
|
|
939
|
+
|
|
940
|
+
# The alias to use for the expression, not +alias+ since that is
|
|
941
|
+
# a keyword in ruby.
|
|
942
|
+
attr_reader :aliaz
|
|
943
|
+
alias_method :alias, :aliaz
|
|
944
|
+
|
|
945
|
+
# The columns aliases to use, for when the aliased expression is
|
|
946
|
+
# a record or set of records (such as a dataset).
|
|
947
|
+
attr_reader :columns
|
|
948
|
+
|
|
949
|
+
# Create an object with the given expression and alias.
|
|
950
|
+
def initialize(expression, aliaz, columns=nil)
|
|
951
|
+
@expression = expression
|
|
952
|
+
@aliaz = aliaz
|
|
953
|
+
@columns = columns
|
|
954
|
+
end
|
|
955
|
+
|
|
956
|
+
to_s_method :aliased_expression_sql
|
|
957
|
+
end
|
|
958
|
+
|
|
959
|
+
# +Blob+ is used to represent binary data in the Ruby environment that is
|
|
960
|
+
# stored as a blob type in the database. Sequel represents binary data as a Blob object because
|
|
961
|
+
# most database engines require binary data to be escaped differently than regular strings.
|
|
962
|
+
class Blob < ::String
|
|
963
|
+
include SQL::AliasMethods
|
|
964
|
+
include SQL::CastMethods
|
|
965
|
+
|
|
966
|
+
# Return a LiteralString with the same content if no args are given, otherwise
|
|
967
|
+
# return a SQL::PlaceholderLiteralString with the current string and the given args.
|
|
968
|
+
def lit(*args)
|
|
969
|
+
args.empty? ? LiteralString.new(self) : SQL::PlaceholderLiteralString.new(self, args)
|
|
970
|
+
end
|
|
971
|
+
|
|
972
|
+
# Returns +self+, since it is already a blob.
|
|
973
|
+
def to_sequel_blob
|
|
974
|
+
self
|
|
975
|
+
end
|
|
976
|
+
end
|
|
977
|
+
|
|
978
|
+
# Subclass of +ComplexExpression+ where the expression results
|
|
979
|
+
# in a boolean value in SQL.
|
|
980
|
+
class BooleanExpression < ComplexExpression
|
|
981
|
+
include BooleanMethods
|
|
982
|
+
|
|
983
|
+
# Take pairs of values (e.g. a hash or array of two element arrays)
|
|
984
|
+
# and converts it to a +BooleanExpression+. The operator and args
|
|
985
|
+
# used depends on the case of the right (2nd) argument:
|
|
986
|
+
#
|
|
987
|
+
# 0..10 :: left >= 0 AND left <= 10
|
|
988
|
+
# [1,2] :: left IN (1,2)
|
|
989
|
+
# nil :: left IS NULL
|
|
990
|
+
# true :: left IS TRUE
|
|
991
|
+
# false :: left IS FALSE
|
|
992
|
+
# /as/ :: left ~ 'as'
|
|
993
|
+
# :blah :: left = blah
|
|
994
|
+
# 'blah' :: left = 'blah'
|
|
995
|
+
#
|
|
996
|
+
# If multiple arguments are given, they are joined with the op given (AND
|
|
997
|
+
# by default, OR possible). If negate is set to true,
|
|
998
|
+
# all subexpressions are inverted before used. Therefore, the following
|
|
999
|
+
# expressions are equivalent:
|
|
1000
|
+
#
|
|
1001
|
+
# ~from_value_pairs(hash)
|
|
1002
|
+
# from_value_pairs(hash, :OR, true)
|
|
1003
|
+
def self.from_value_pairs(pairs, op=:AND, negate=false)
|
|
1004
|
+
pairs = pairs.map{|l,r| from_value_pair(l, r)}
|
|
1005
|
+
pairs.map!{|ce| invert(ce)} if negate
|
|
1006
|
+
pairs.length == 1 ? pairs.at(0) : new(op, *pairs)
|
|
1007
|
+
end
|
|
1008
|
+
|
|
1009
|
+
# Return a BooleanExpression based on the right side of the pair.
|
|
1010
|
+
def self.from_value_pair(l, r)
|
|
1011
|
+
case r
|
|
1012
|
+
when Range
|
|
1013
|
+
new(:AND, new(:>=, l, r.begin), new(r.exclude_end? ? :< : :<=, l, r.end))
|
|
1014
|
+
when ::Array, ::Sequel::Dataset
|
|
1015
|
+
new(:IN, l, r)
|
|
1016
|
+
when NegativeBooleanConstant
|
|
1017
|
+
new(:"IS NOT", l, r.constant)
|
|
1018
|
+
when BooleanConstant
|
|
1019
|
+
new(:IS, l, r.constant)
|
|
1020
|
+
when NilClass, TrueClass, FalseClass
|
|
1021
|
+
new(:IS, l, r)
|
|
1022
|
+
when Regexp
|
|
1023
|
+
StringExpression.like(l, r)
|
|
1024
|
+
when DelayedEvaluation
|
|
1025
|
+
Sequel.delay{|ds| from_value_pair(l, r.call(ds))}
|
|
1026
|
+
when Dataset::PlaceholderLiteralizer::Argument
|
|
1027
|
+
r.transform{|v| from_value_pair(l, v)}
|
|
1028
|
+
else
|
|
1029
|
+
new(:'=', l, r)
|
|
1030
|
+
end
|
|
1031
|
+
end
|
|
1032
|
+
private_class_method :from_value_pair
|
|
1033
|
+
|
|
1034
|
+
# Invert the expression, if possible. If the expression cannot
|
|
1035
|
+
# be inverted, raise an error. An inverted expression should match everything that the
|
|
1036
|
+
# uninverted expression did not match, and vice-versa, except for possible issues with
|
|
1037
|
+
# SQL NULL (i.e. 1 == NULL is NULL and 1 != NULL is also NULL).
|
|
1038
|
+
#
|
|
1039
|
+
# BooleanExpression.invert(:a) # NOT "a"
|
|
1040
|
+
def self.invert(ce)
|
|
1041
|
+
case ce
|
|
1042
|
+
when BooleanExpression
|
|
1043
|
+
case op = ce.op
|
|
1044
|
+
when :AND, :OR
|
|
1045
|
+
BooleanExpression.new(OPERTATOR_INVERSIONS[op], *ce.args.collect{|a| BooleanExpression.invert(a)})
|
|
1046
|
+
else
|
|
1047
|
+
BooleanExpression.new(OPERTATOR_INVERSIONS[op], *ce.args.dup)
|
|
1048
|
+
end
|
|
1049
|
+
when StringExpression, NumericExpression
|
|
1050
|
+
raise(Sequel::Error, "cannot invert #{ce.inspect}")
|
|
1051
|
+
when Constant
|
|
1052
|
+
CONSTANT_INVERSIONS[ce] || raise(Sequel::Error, "cannot invert #{ce.inspect}")
|
|
1053
|
+
else
|
|
1054
|
+
BooleanExpression.new(:NOT, ce)
|
|
1055
|
+
end
|
|
1056
|
+
end
|
|
1057
|
+
|
|
1058
|
+
# Always use an AND operator for & on BooleanExpressions
|
|
1059
|
+
def &(ce)
|
|
1060
|
+
BooleanExpression.new(:AND, self, ce)
|
|
1061
|
+
end
|
|
1062
|
+
|
|
1063
|
+
# Always use an OR operator for | on BooleanExpressions
|
|
1064
|
+
def |(ce)
|
|
1065
|
+
BooleanExpression.new(:OR, self, ce)
|
|
1066
|
+
end
|
|
1067
|
+
|
|
1068
|
+
# Return self instead of creating a new object to save on memory.
|
|
1069
|
+
def sql_boolean
|
|
1070
|
+
self
|
|
1071
|
+
end
|
|
1072
|
+
end
|
|
1073
|
+
|
|
1074
|
+
# Represents an SQL CASE expression, used for conditional branching in SQL.
|
|
1075
|
+
class CaseExpression < GenericExpression
|
|
1076
|
+
# An array of all two pairs with the first element specifying the
|
|
1077
|
+
# condition and the second element specifying the result if the
|
|
1078
|
+
# condition matches.
|
|
1079
|
+
attr_reader :conditions
|
|
1080
|
+
|
|
1081
|
+
# The default value if no conditions match.
|
|
1082
|
+
attr_reader :default
|
|
1083
|
+
|
|
1084
|
+
# The expression to test the conditions against
|
|
1085
|
+
attr_reader :expression
|
|
1086
|
+
|
|
1087
|
+
# Create an object with the given conditions and
|
|
1088
|
+
# default value. An expression can be provided to
|
|
1089
|
+
# test each condition against, instead of having
|
|
1090
|
+
# all conditions represent their own boolean expression.
|
|
1091
|
+
def initialize(conditions, default, expression=(no_expression=true; nil))
|
|
1092
|
+
raise(Sequel::Error, 'CaseExpression conditions must be a hash or array of all two pairs') unless Sequel.condition_specifier?(conditions)
|
|
1093
|
+
@conditions, @default, @expression, @no_expression = conditions.to_a, default, expression, no_expression
|
|
1094
|
+
end
|
|
1095
|
+
|
|
1096
|
+
# Whether to use an expression for this CASE expression.
|
|
1097
|
+
def expression?
|
|
1098
|
+
!@no_expression
|
|
1099
|
+
end
|
|
1100
|
+
|
|
1101
|
+
# Merge the CASE expression into the conditions, useful for databases that
|
|
1102
|
+
# don't support CASE expressions.
|
|
1103
|
+
def with_merged_expression
|
|
1104
|
+
if expression?
|
|
1105
|
+
e = expression
|
|
1106
|
+
CaseExpression.new(conditions.map{|c, r| [::Sequel::SQL::BooleanExpression.new(:'=', e, c), r]}, default)
|
|
1107
|
+
else
|
|
1108
|
+
self
|
|
1109
|
+
end
|
|
1110
|
+
end
|
|
1111
|
+
|
|
1112
|
+
to_s_method :case_expression_sql
|
|
1113
|
+
end
|
|
1114
|
+
|
|
1115
|
+
# Represents a cast of an SQL expression to a specific type.
|
|
1116
|
+
class Cast < GenericExpression
|
|
1117
|
+
# The expression to cast
|
|
1118
|
+
attr_reader :expr
|
|
1119
|
+
|
|
1120
|
+
# The type to which to cast the expression
|
|
1121
|
+
attr_reader :type
|
|
1122
|
+
|
|
1123
|
+
# Set the attributes to the given arguments
|
|
1124
|
+
def initialize(expr, type)
|
|
1125
|
+
@expr = expr
|
|
1126
|
+
@type = type
|
|
1127
|
+
end
|
|
1128
|
+
|
|
1129
|
+
to_s_method :cast_sql, '@expr, @type'
|
|
1130
|
+
end
|
|
1131
|
+
|
|
1132
|
+
# Represents all columns in a given table, table.* in SQL
|
|
1133
|
+
class ColumnAll < Expression
|
|
1134
|
+
# The table containing the columns being selected
|
|
1135
|
+
attr_reader :table
|
|
1136
|
+
|
|
1137
|
+
# Create an object with the given table
|
|
1138
|
+
def initialize(table)
|
|
1139
|
+
@table = table
|
|
1140
|
+
end
|
|
1141
|
+
|
|
1142
|
+
to_s_method :column_all_sql
|
|
1143
|
+
end
|
|
1144
|
+
|
|
1145
|
+
class ComplexExpression
|
|
1146
|
+
include AliasMethods
|
|
1147
|
+
include CastMethods
|
|
1148
|
+
include OrderMethods
|
|
1149
|
+
include SubscriptMethods
|
|
1150
|
+
|
|
1151
|
+
# Return a BooleanExpression with the same op and args.
|
|
1152
|
+
def sql_boolean
|
|
1153
|
+
BooleanExpression.new(self.op, *self.args)
|
|
1154
|
+
end
|
|
1155
|
+
|
|
1156
|
+
# Return a NumericExpression with the same op and args.
|
|
1157
|
+
def sql_number
|
|
1158
|
+
NumericExpression.new(self.op, *self.args)
|
|
1159
|
+
end
|
|
1160
|
+
|
|
1161
|
+
# Return a StringExpression with the same op and args.
|
|
1162
|
+
def sql_string
|
|
1163
|
+
StringExpression.new(self.op, *self.args)
|
|
1164
|
+
end
|
|
1165
|
+
end
|
|
1166
|
+
|
|
1167
|
+
# Represents constants or psuedo-constants (e.g. +CURRENT_DATE+) in SQL.
|
|
1168
|
+
class Constant < GenericExpression
|
|
1169
|
+
# The underlying constant related to this object.
|
|
1170
|
+
attr_reader :constant
|
|
1171
|
+
|
|
1172
|
+
# Create an constant with the given value
|
|
1173
|
+
def initialize(constant)
|
|
1174
|
+
@constant = constant
|
|
1175
|
+
end
|
|
1176
|
+
|
|
1177
|
+
to_s_method :constant_sql, '@constant'
|
|
1178
|
+
end
|
|
1179
|
+
|
|
1180
|
+
# Represents boolean constants such as +NULL+, +NOTNULL+, +TRUE+, and +FALSE+.
|
|
1181
|
+
class BooleanConstant < Constant
|
|
1182
|
+
to_s_method :boolean_constant_sql, '@constant'
|
|
1183
|
+
end
|
|
1184
|
+
|
|
1185
|
+
# Represents inverse boolean constants (currently only +NOTNULL+). A
|
|
1186
|
+
# special class to allow for special behavior.
|
|
1187
|
+
class NegativeBooleanConstant < Constant
|
|
1188
|
+
to_s_method :negative_boolean_constant_sql, '@constant'
|
|
1189
|
+
end
|
|
1190
|
+
|
|
1191
|
+
# Holds default generic constants that can be referenced. These
|
|
1192
|
+
# are included in the Sequel top level module and are also available
|
|
1193
|
+
# in this module which can be required at the top level to get
|
|
1194
|
+
# direct access to the constants.
|
|
1195
|
+
module Constants
|
|
1196
|
+
CURRENT_DATE = Constant.new(:CURRENT_DATE)
|
|
1197
|
+
CURRENT_TIME = Constant.new(:CURRENT_TIME)
|
|
1198
|
+
CURRENT_TIMESTAMP = Constant.new(:CURRENT_TIMESTAMP)
|
|
1199
|
+
SQLTRUE = TRUE = BooleanConstant.new(true)
|
|
1200
|
+
SQLFALSE = FALSE = BooleanConstant.new(false)
|
|
1201
|
+
NULL = BooleanConstant.new(nil)
|
|
1202
|
+
NOTNULL = NegativeBooleanConstant.new(nil)
|
|
1203
|
+
end
|
|
1204
|
+
|
|
1205
|
+
class ComplexExpression
|
|
1206
|
+
# A hash of the opposite for each constant, used for inverting constants.
|
|
1207
|
+
CONSTANT_INVERSIONS = {Constants::TRUE=>Constants::FALSE, Constants::FALSE=>Constants::TRUE,
|
|
1208
|
+
Constants::NULL=>Constants::NOTNULL, Constants::NOTNULL=>Constants::NULL}
|
|
1209
|
+
end
|
|
1210
|
+
|
|
1211
|
+
# Represents a delayed evaluation, encapsulating a callable
|
|
1212
|
+
# object which returns the value to use when called.
|
|
1213
|
+
class DelayedEvaluation < GenericExpression
|
|
1214
|
+
# A callable object that returns the value of the evaluation
|
|
1215
|
+
# when called.
|
|
1216
|
+
attr_reader :callable
|
|
1217
|
+
|
|
1218
|
+
# Set the callable object
|
|
1219
|
+
def initialize(callable)
|
|
1220
|
+
@callable = callable
|
|
1221
|
+
end
|
|
1222
|
+
|
|
1223
|
+
# Call the underlying callable and return the result. If the
|
|
1224
|
+
# underlying callable only accepts a single argument, call it
|
|
1225
|
+
# with the given dataset.
|
|
1226
|
+
def call(ds)
|
|
1227
|
+
if @callable.respond_to?(:arity) && @callable.arity == 1
|
|
1228
|
+
@callable.call(ds)
|
|
1229
|
+
else
|
|
1230
|
+
@callable.call
|
|
1231
|
+
end
|
|
1232
|
+
end
|
|
1233
|
+
|
|
1234
|
+
to_s_method :delayed_evaluation_sql
|
|
1235
|
+
end
|
|
1236
|
+
|
|
1237
|
+
# Represents an SQL function call.
|
|
1238
|
+
class Function < GenericExpression
|
|
1239
|
+
WILDCARD = LiteralString.new('*').freeze
|
|
1240
|
+
DISTINCT = ["DISTINCT ".freeze].freeze
|
|
1241
|
+
COMMA_ARRAY = [LiteralString.new(', ').freeze].freeze
|
|
1242
|
+
|
|
1243
|
+
# The SQL function to call
|
|
1244
|
+
attr_reader :name
|
|
1245
|
+
alias f name
|
|
1246
|
+
|
|
1247
|
+
# The array of arguments to pass to the function (may be blank)
|
|
1248
|
+
attr_reader :args
|
|
1249
|
+
|
|
1250
|
+
# Options for this function
|
|
1251
|
+
attr_reader :opts
|
|
1252
|
+
|
|
1253
|
+
# Set the name and args for the function
|
|
1254
|
+
def initialize(name, *args)
|
|
1255
|
+
@name = name
|
|
1256
|
+
@args = args
|
|
1257
|
+
@opts = OPTS
|
|
1258
|
+
end
|
|
1259
|
+
|
|
1260
|
+
def self.new!(name, args, opts)
|
|
1261
|
+
f = new(name, *args)
|
|
1262
|
+
f.instance_variable_set(:@opts, opts)
|
|
1263
|
+
f
|
|
1264
|
+
end
|
|
1265
|
+
|
|
1266
|
+
# If no arguments are given, return a new function with the wildcard prepended to the arguments.
|
|
1267
|
+
#
|
|
1268
|
+
# Sequel.function(:count).* # count(*)
|
|
1269
|
+
def *(ce=(arg=false;nil))
|
|
1270
|
+
if arg == false
|
|
1271
|
+
raise Error, "Cannot apply * to functions with arguments" unless args.empty?
|
|
1272
|
+
with_opts(:"*"=>true)
|
|
1273
|
+
else
|
|
1274
|
+
super(ce)
|
|
1275
|
+
end
|
|
1276
|
+
end
|
|
1277
|
+
|
|
1278
|
+
# Return a new function with DISTINCT before the method arguments.
|
|
1279
|
+
#
|
|
1280
|
+
# Sequel.function(:count, :col).distinct # count(DISTINCT col)
|
|
1281
|
+
def distinct
|
|
1282
|
+
with_opts(:distinct=>true)
|
|
1283
|
+
end
|
|
1284
|
+
|
|
1285
|
+
# Return a new function with FILTER added to it, for filtered
|
|
1286
|
+
# aggregate functions:
|
|
1287
|
+
#
|
|
1288
|
+
# Sequel.function(:foo, :col).filter(:a=>1) # foo(col) FILTER (WHERE a = 1)
|
|
1289
|
+
def filter(*args, &block)
|
|
1290
|
+
args = args.first if args.length == 1
|
|
1291
|
+
with_opts(:filter=>args, :filter_block=>block)
|
|
1292
|
+
end
|
|
1293
|
+
|
|
1294
|
+
# Return a function which will use LATERAL when literalized:
|
|
1295
|
+
#
|
|
1296
|
+
# Sequel.function(:foo, :col).lateral # LATERAL foo(col)
|
|
1297
|
+
def lateral
|
|
1298
|
+
with_opts(:lateral=>true)
|
|
1299
|
+
end
|
|
1300
|
+
|
|
1301
|
+
# Return a new function with an OVER clause (making it a window function).
|
|
1302
|
+
#
|
|
1303
|
+
# Sequel.function(:row_number).over(:partition=>:col) # row_number() OVER (PARTITION BY col)
|
|
1304
|
+
def over(window=OPTS)
|
|
1305
|
+
raise Error, "function already has a window applied to it" if opts[:over]
|
|
1306
|
+
window = Window.new(window) unless window.is_a?(Window)
|
|
1307
|
+
with_opts(:over=>window)
|
|
1308
|
+
end
|
|
1309
|
+
|
|
1310
|
+
# Return a new function where the function name will be quoted if the database supports
|
|
1311
|
+
# quoted functions:
|
|
1312
|
+
#
|
|
1313
|
+
# Sequel.function(:foo).quoted # "foo"()
|
|
1314
|
+
def quoted
|
|
1315
|
+
with_opts(:quoted=>true)
|
|
1316
|
+
end
|
|
1317
|
+
|
|
1318
|
+
# Return a new function where the function name will not be quoted even
|
|
1319
|
+
# if the database supports quoted functions:
|
|
1320
|
+
#
|
|
1321
|
+
# Sequel.expr(:foo).function.unquoted # foo()
|
|
1322
|
+
def unquoted
|
|
1323
|
+
with_opts(:quoted=>false)
|
|
1324
|
+
end
|
|
1325
|
+
|
|
1326
|
+
# Return a new function that will use WITH ORDINALITY to also return
|
|
1327
|
+
# a row number for every row the function returns:
|
|
1328
|
+
#
|
|
1329
|
+
# Sequel.function(:foo).with_ordinality # foo() WITH ORDINALITY
|
|
1330
|
+
def with_ordinality
|
|
1331
|
+
with_opts(:with_ordinality=>true)
|
|
1332
|
+
end
|
|
1333
|
+
|
|
1334
|
+
# Return a new function that uses WITHIN GROUP ordered by the given expression,
|
|
1335
|
+
# useful for ordered-set and hypothetical-set aggregate functions:
|
|
1336
|
+
#
|
|
1337
|
+
# Sequel.function(:rank, :a).within_group(:b, :c)
|
|
1338
|
+
# # rank(a) WITHIN GROUP (ORDER BY b, c)
|
|
1339
|
+
def within_group(*expressions)
|
|
1340
|
+
with_opts(:within_group=>expressions)
|
|
1341
|
+
end
|
|
1342
|
+
|
|
1343
|
+
to_s_method :function_sql
|
|
1344
|
+
|
|
1345
|
+
private
|
|
1346
|
+
|
|
1347
|
+
# Return a new function call with the given opts merged into the current opts.
|
|
1348
|
+
def with_opts(opts)
|
|
1349
|
+
self.class.new!(name, args, @opts.merge(opts))
|
|
1350
|
+
end
|
|
1351
|
+
end
|
|
1352
|
+
|
|
1353
|
+
class GenericExpression
|
|
1354
|
+
include AliasMethods
|
|
1355
|
+
include BooleanMethods
|
|
1356
|
+
include CastMethods
|
|
1357
|
+
include ComplexExpressionMethods
|
|
1358
|
+
include InequalityMethods
|
|
1359
|
+
include NumericMethods
|
|
1360
|
+
include OrderMethods
|
|
1361
|
+
include StringMethods
|
|
1362
|
+
include SubscriptMethods
|
|
1363
|
+
end
|
|
1364
|
+
|
|
1365
|
+
# Represents an identifier (column or table). Can be used
|
|
1366
|
+
# to specify a +Symbol+ with multiple underscores should not be
|
|
1367
|
+
# split, or for creating an identifier without using a symbol.
|
|
1368
|
+
class Identifier < GenericExpression
|
|
1369
|
+
include QualifyingMethods
|
|
1370
|
+
|
|
1371
|
+
# The table or column to reference
|
|
1372
|
+
attr_reader :value
|
|
1373
|
+
|
|
1374
|
+
# Set the value to the given argument
|
|
1375
|
+
def initialize(value)
|
|
1376
|
+
@value = value
|
|
1377
|
+
end
|
|
1378
|
+
|
|
1379
|
+
# Create a Function using this identifier as the functions name, with
|
|
1380
|
+
# the given args.
|
|
1381
|
+
def function(*args)
|
|
1382
|
+
Function.new(self, *args)
|
|
1383
|
+
end
|
|
1384
|
+
|
|
1385
|
+
to_s_method :quote_identifier, '@value'
|
|
1386
|
+
end
|
|
1387
|
+
|
|
1388
|
+
# Represents an SQL JOIN clause, used for joining tables.
|
|
1389
|
+
class JoinClause < Expression
|
|
1390
|
+
# The type of join to do
|
|
1391
|
+
attr_reader :join_type
|
|
1392
|
+
|
|
1393
|
+
# The expression representing the table/set related to the JOIN.
|
|
1394
|
+
# Is an AliasedExpression if the JOIN uses an alias.
|
|
1395
|
+
attr_reader :table_expr
|
|
1396
|
+
|
|
1397
|
+
# Create an object with the given join_type and table expression.
|
|
1398
|
+
def initialize(join_type, table_expr)
|
|
1399
|
+
@join_type = join_type
|
|
1400
|
+
@table_expr = table_expr
|
|
1401
|
+
end
|
|
1402
|
+
|
|
1403
|
+
# The table/set related to the JOIN, without any alias.
|
|
1404
|
+
def table
|
|
1405
|
+
if @table_expr.is_a?(AliasedExpression)
|
|
1406
|
+
@table_expr.expression
|
|
1407
|
+
else
|
|
1408
|
+
@table_expr
|
|
1409
|
+
end
|
|
1410
|
+
end
|
|
1411
|
+
|
|
1412
|
+
# The table alias to use for the JOIN , or nil if the
|
|
1413
|
+
# JOIN does not alias the table.
|
|
1414
|
+
def table_alias
|
|
1415
|
+
if @table_expr.is_a?(AliasedExpression)
|
|
1416
|
+
@table_expr.alias
|
|
1417
|
+
end
|
|
1418
|
+
end
|
|
1419
|
+
|
|
1420
|
+
# The column aliases to use for the JOIN , or nil if the
|
|
1421
|
+
# JOIN does not use a derived column list.
|
|
1422
|
+
def column_aliases
|
|
1423
|
+
if @table_expr.is_a?(AliasedExpression)
|
|
1424
|
+
@table_expr.columns
|
|
1425
|
+
end
|
|
1426
|
+
end
|
|
1427
|
+
|
|
1428
|
+
to_s_method :join_clause_sql
|
|
1429
|
+
end
|
|
1430
|
+
|
|
1431
|
+
# Represents an SQL JOIN clause with ON conditions.
|
|
1432
|
+
class JoinOnClause < JoinClause
|
|
1433
|
+
# The conditions for the join
|
|
1434
|
+
attr_reader :on
|
|
1435
|
+
|
|
1436
|
+
# Create an object with the ON conditions and call super with the
|
|
1437
|
+
# remaining args.
|
|
1438
|
+
def initialize(on, *args)
|
|
1439
|
+
@on = on
|
|
1440
|
+
super(*args)
|
|
1441
|
+
end
|
|
1442
|
+
|
|
1443
|
+
to_s_method :join_on_clause_sql
|
|
1444
|
+
end
|
|
1445
|
+
|
|
1446
|
+
# Represents an SQL JOIN clause with USING conditions.
|
|
1447
|
+
class JoinUsingClause < JoinClause
|
|
1448
|
+
# The columns that appear in both tables that should be equal
|
|
1449
|
+
# for the conditions to match.
|
|
1450
|
+
attr_reader :using
|
|
1451
|
+
|
|
1452
|
+
# Create an object with the given USING conditions and call super
|
|
1453
|
+
# with the remaining args.
|
|
1454
|
+
def initialize(using, *args)
|
|
1455
|
+
@using = using
|
|
1456
|
+
super(*args)
|
|
1457
|
+
end
|
|
1458
|
+
|
|
1459
|
+
to_s_method :join_using_clause_sql
|
|
1460
|
+
end
|
|
1461
|
+
|
|
1462
|
+
# Represents a literal string with placeholders and arguments.
|
|
1463
|
+
# This is necessary to ensure delayed literalization of the arguments
|
|
1464
|
+
# required for the prepared statement support and for database-specific
|
|
1465
|
+
# literalization.
|
|
1466
|
+
class PlaceholderLiteralString < GenericExpression
|
|
1467
|
+
# The literal string containing placeholders. This can also be an array
|
|
1468
|
+
# of strings, where each arg in args goes between the string elements.
|
|
1469
|
+
attr_reader :str
|
|
1470
|
+
|
|
1471
|
+
# The arguments that will be subsituted into the placeholders.
|
|
1472
|
+
# Either an array of unnamed placeholders (which will be substituted in
|
|
1473
|
+
# order for ? characters), or a hash of named placeholders (which will be
|
|
1474
|
+
# substituted for :key phrases).
|
|
1475
|
+
attr_reader :args
|
|
1476
|
+
|
|
1477
|
+
# Whether to surround the expression with parantheses
|
|
1478
|
+
attr_reader :parens
|
|
1479
|
+
|
|
1480
|
+
# Create an object with the given string, placeholder arguments, and parens flag.
|
|
1481
|
+
def initialize(str, args, parens=false)
|
|
1482
|
+
@str = str
|
|
1483
|
+
@args = args.is_a?(Array) && args.length == 1 && (v = args.at(0)).is_a?(Hash) ? v : args
|
|
1484
|
+
@parens = parens
|
|
1485
|
+
end
|
|
1486
|
+
|
|
1487
|
+
to_s_method :placeholder_literal_string_sql
|
|
1488
|
+
end
|
|
1489
|
+
|
|
1490
|
+
# Subclass of +ComplexExpression+ where the expression results
|
|
1491
|
+
# in a numeric value in SQL.
|
|
1492
|
+
class NumericExpression < ComplexExpression
|
|
1493
|
+
include BitwiseMethods
|
|
1494
|
+
include NumericMethods
|
|
1495
|
+
include InequalityMethods
|
|
1496
|
+
|
|
1497
|
+
# Always use + for + operator for NumericExpressions.
|
|
1498
|
+
def +(ce)
|
|
1499
|
+
NumericExpression.new(:+, self, ce)
|
|
1500
|
+
end
|
|
1501
|
+
|
|
1502
|
+
# Return self instead of creating a new object to save on memory.
|
|
1503
|
+
def sql_number
|
|
1504
|
+
self
|
|
1505
|
+
end
|
|
1506
|
+
end
|
|
1507
|
+
|
|
1508
|
+
# Represents a column/expression to order the result set by.
|
|
1509
|
+
class OrderedExpression < Expression
|
|
1510
|
+
INVERT_NULLS = {:first=>:last, :last=>:first}.freeze
|
|
1511
|
+
|
|
1512
|
+
# The expression to order the result set by.
|
|
1513
|
+
attr_reader :expression
|
|
1514
|
+
|
|
1515
|
+
# Whether the expression should order the result set in a descending manner
|
|
1516
|
+
attr_reader :descending
|
|
1517
|
+
|
|
1518
|
+
# Whether to sort NULLS FIRST/LAST
|
|
1519
|
+
attr_reader :nulls
|
|
1520
|
+
|
|
1521
|
+
# Set the expression and descending attributes to the given values.
|
|
1522
|
+
# Options:
|
|
1523
|
+
#
|
|
1524
|
+
# :nulls :: Can be :first/:last for NULLS FIRST/LAST.
|
|
1525
|
+
def initialize(expression, descending = true, opts=OPTS)
|
|
1526
|
+
@expression, @descending, @nulls = expression, descending, opts[:nulls]
|
|
1527
|
+
end
|
|
1528
|
+
|
|
1529
|
+
# Return a copy that is ordered ASC
|
|
1530
|
+
def asc
|
|
1531
|
+
OrderedExpression.new(@expression, false, :nulls=>@nulls)
|
|
1532
|
+
end
|
|
1533
|
+
|
|
1534
|
+
# Return a copy that is ordered DESC
|
|
1535
|
+
def desc
|
|
1536
|
+
OrderedExpression.new(@expression, true, :nulls=>@nulls)
|
|
1537
|
+
end
|
|
1538
|
+
|
|
1539
|
+
# Return an inverted expression, changing ASC to DESC and NULLS FIRST to NULLS LAST.
|
|
1540
|
+
def invert
|
|
1541
|
+
OrderedExpression.new(@expression, !@descending, :nulls=>INVERT_NULLS.fetch(@nulls, @nulls))
|
|
1542
|
+
end
|
|
1543
|
+
|
|
1544
|
+
to_s_method :ordered_expression_sql
|
|
1545
|
+
end
|
|
1546
|
+
|
|
1547
|
+
# Represents a qualified identifier (column with table or table with schema).
|
|
1548
|
+
class QualifiedIdentifier < GenericExpression
|
|
1549
|
+
include QualifyingMethods
|
|
1550
|
+
|
|
1551
|
+
# The table/schema qualifying the reference
|
|
1552
|
+
attr_reader :table
|
|
1553
|
+
|
|
1554
|
+
# The column/table referenced
|
|
1555
|
+
attr_reader :column
|
|
1556
|
+
|
|
1557
|
+
# Set the table and column to the given arguments
|
|
1558
|
+
def initialize(table, column)
|
|
1559
|
+
@table, @column = table, column
|
|
1560
|
+
end
|
|
1561
|
+
|
|
1562
|
+
# Create a Function using this identifier as the functions name, with
|
|
1563
|
+
# the given args.
|
|
1564
|
+
def function(*args)
|
|
1565
|
+
Function.new(self, *args)
|
|
1566
|
+
end
|
|
1567
|
+
|
|
1568
|
+
to_s_method :qualified_identifier_sql, "@table, @column"
|
|
1569
|
+
end
|
|
1570
|
+
|
|
1571
|
+
# Subclass of +ComplexExpression+ where the expression results
|
|
1572
|
+
# in a text/string/varchar value in SQL.
|
|
1573
|
+
class StringExpression < ComplexExpression
|
|
1574
|
+
include StringMethods
|
|
1575
|
+
include StringConcatenationMethods
|
|
1576
|
+
include InequalityMethods
|
|
1577
|
+
|
|
1578
|
+
# Map of [regexp, case_insenstive] to +ComplexExpression+ operator symbol
|
|
1579
|
+
LIKE_MAP = {[true, true]=>:'~*', [true, false]=>:~, [false, true]=>:ILIKE, [false, false]=>:LIKE}
|
|
1580
|
+
|
|
1581
|
+
# Creates a SQL pattern match exprssion. left (l) is the SQL string we
|
|
1582
|
+
# are matching against, and ces are the patterns we are matching.
|
|
1583
|
+
# The match succeeds if any of the patterns match (SQL OR).
|
|
1584
|
+
#
|
|
1585
|
+
# If a regular expression is used as a pattern, an SQL regular expression will be
|
|
1586
|
+
# used, which is currently only supported on MySQL and PostgreSQL. Be aware
|
|
1587
|
+
# that MySQL and PostgreSQL regular expression syntax is similar to ruby
|
|
1588
|
+
# regular expression syntax, but it not exactly the same, especially for
|
|
1589
|
+
# advanced regular expression features. Sequel just uses the source of the
|
|
1590
|
+
# ruby regular expression verbatim as the SQL regular expression string.
|
|
1591
|
+
#
|
|
1592
|
+
# If any other object is used as a regular expression, the SQL LIKE operator will
|
|
1593
|
+
# be used, and should be supported by most databases.
|
|
1594
|
+
#
|
|
1595
|
+
# The pattern match will be case insensitive if the last argument is a hash
|
|
1596
|
+
# with a key of :case_insensitive that is not false or nil. Also,
|
|
1597
|
+
# if a case insensitive regular expression is used (//i), that particular
|
|
1598
|
+
# pattern which will always be case insensitive.
|
|
1599
|
+
#
|
|
1600
|
+
# StringExpression.like(:a, 'a%') # "a" LIKE 'a%' ESCAPE '\'
|
|
1601
|
+
# StringExpression.like(:a, 'a%', :case_insensitive=>true) # "a" ILIKE 'a%' ESCAPE '\'
|
|
1602
|
+
# StringExpression.like(:a, 'a%', /^a/i) # "a" LIKE 'a%' ESCAPE '\' OR "a" ~* '^a'
|
|
1603
|
+
def self.like(l, *ces)
|
|
1604
|
+
l, lre, lci = like_element(l)
|
|
1605
|
+
lci = (ces.last.is_a?(Hash) ? ces.pop : {})[:case_insensitive] ? true : lci
|
|
1606
|
+
ces.collect! do |ce|
|
|
1607
|
+
r, rre, rci = like_element(ce)
|
|
1608
|
+
BooleanExpression.new(LIKE_MAP[[lre||rre, lci||rci]], l, r)
|
|
1609
|
+
end
|
|
1610
|
+
ces.length == 1 ? ces.at(0) : BooleanExpression.new(:OR, *ces)
|
|
1611
|
+
end
|
|
1612
|
+
|
|
1613
|
+
# Returns a three element array, made up of:
|
|
1614
|
+
# * The object to use
|
|
1615
|
+
# * Whether it is a regular expression
|
|
1616
|
+
# * Whether it is case insensitive
|
|
1617
|
+
def self.like_element(re) # :nodoc:
|
|
1618
|
+
if re.is_a?(Regexp)
|
|
1619
|
+
[re.source, true, re.casefold?]
|
|
1620
|
+
else
|
|
1621
|
+
[re, false, false]
|
|
1622
|
+
end
|
|
1623
|
+
end
|
|
1624
|
+
private_class_method :like_element
|
|
1625
|
+
|
|
1626
|
+
# Return self instead of creating a new object to save on memory.
|
|
1627
|
+
def sql_string
|
|
1628
|
+
self
|
|
1629
|
+
end
|
|
1630
|
+
end
|
|
1631
|
+
|
|
1632
|
+
# Represents an SQL array access, with multiple possible arguments.
|
|
1633
|
+
class Subscript < GenericExpression
|
|
1634
|
+
# The SQL array column
|
|
1635
|
+
attr_reader :f
|
|
1636
|
+
|
|
1637
|
+
# The array of subscripts to use (should be an array of numbers)
|
|
1638
|
+
attr_reader :sub
|
|
1639
|
+
|
|
1640
|
+
# Set the array column and subscripts to the given arguments
|
|
1641
|
+
def initialize(f, sub)
|
|
1642
|
+
@f, @sub = f, sub
|
|
1643
|
+
end
|
|
1644
|
+
|
|
1645
|
+
# Create a new +Subscript+ appending the given subscript(s)
|
|
1646
|
+
# to the current array of subscripts.
|
|
1647
|
+
#
|
|
1648
|
+
# :a.sql_subscript(2) # a[2]
|
|
1649
|
+
# :a.sql_subscript(2) | 1 # a[2, 1]
|
|
1650
|
+
def |(sub)
|
|
1651
|
+
Subscript.new(@f, @sub + Array(sub))
|
|
1652
|
+
end
|
|
1653
|
+
|
|
1654
|
+
# Create a new +Subscript+ by accessing a subarray of a multidimensional
|
|
1655
|
+
# array.
|
|
1656
|
+
#
|
|
1657
|
+
# :a.sql_subscript(2) # a[2]
|
|
1658
|
+
# :a.sql_subscript(2)[1] # a[2][1]
|
|
1659
|
+
def [](sub)
|
|
1660
|
+
Subscript.new(self, Array(sub))
|
|
1661
|
+
end
|
|
1662
|
+
|
|
1663
|
+
to_s_method :subscript_sql
|
|
1664
|
+
end
|
|
1665
|
+
|
|
1666
|
+
# Represents an SQL value list (IN/NOT IN predicate value). Added so it is possible to deal with a
|
|
1667
|
+
# ruby array of two element arrays as an SQL value list instead of an ordered
|
|
1668
|
+
# hash-like conditions specifier.
|
|
1669
|
+
class ValueList < ::Array
|
|
1670
|
+
end
|
|
1671
|
+
|
|
1672
|
+
# The purpose of the +VirtualRow+ class is to allow the easy creation of SQL identifiers and functions
|
|
1673
|
+
# without relying on methods defined on +Symbol+. This is useful if another library defines
|
|
1674
|
+
# the methods defined by Sequel, if you are running on ruby 1.9, or if you are not using the
|
|
1675
|
+
# core extensions.
|
|
1676
|
+
#
|
|
1677
|
+
# An instance of this class is yielded to the block supplied to <tt>Dataset#filter</tt>, <tt>Dataset#order</tt>, and <tt>Dataset#select</tt>
|
|
1678
|
+
# (and the other methods that accept a block and pass it to one of those methods).
|
|
1679
|
+
# If the block doesn't take an argument, the block is instance_execed in the context of
|
|
1680
|
+
# an instance of this class.
|
|
1681
|
+
#
|
|
1682
|
+
# +VirtualRow+ uses +method_missing+ to return either an +Identifier+, +QualifiedIdentifier+, or +Function+
|
|
1683
|
+
# depending on how it is called.
|
|
1684
|
+
#
|
|
1685
|
+
# If a block is _not_ given, creates one of the following objects:
|
|
1686
|
+
#
|
|
1687
|
+
# +Function+ :: Returned if any arguments are supplied, using the method name
|
|
1688
|
+
# as the function name, and the arguments as the function arguments.
|
|
1689
|
+
# +QualifiedIdentifier+ :: Returned if the method name contains __, with the
|
|
1690
|
+
# table being the part before __, and the column being the part after.
|
|
1691
|
+
# +Identifier+ :: Returned otherwise, using the method name.
|
|
1692
|
+
#
|
|
1693
|
+
# If a block is given, it returns a +Function+. Note that the block is currently not called by the code, though
|
|
1694
|
+
# this may change in a future version. If the first argument is:
|
|
1695
|
+
#
|
|
1696
|
+
# no arguments given :: creates a +Function+ with no arguments.
|
|
1697
|
+
# :* :: creates a +Function+ with a literal wildcard argument (*), mostly useful for COUNT.
|
|
1698
|
+
# :distinct :: creates a +Function+ that prepends DISTINCT to the rest of the arguments, mostly
|
|
1699
|
+
# useful for aggregate functions.
|
|
1700
|
+
# :over :: creates a +Function+ with a window. If a second argument is provided, it should be a hash
|
|
1701
|
+
# of options which are used to create the +Window+ (with possible keys :window, :partition, :order, and :frame). The
|
|
1702
|
+
# arguments to the function itself should be specified as <tt>:*=>true</tt> for a wildcard, or via
|
|
1703
|
+
# the <tt>:args</tt> option.
|
|
1704
|
+
#
|
|
1705
|
+
# Examples:
|
|
1706
|
+
#
|
|
1707
|
+
# ds = DB[:t]
|
|
1708
|
+
#
|
|
1709
|
+
# # Argument yielded to block
|
|
1710
|
+
# ds.filter{|r| r.name < 2} # SELECT * FROM t WHERE (name < 2)
|
|
1711
|
+
#
|
|
1712
|
+
# # Block without argument (instance_eval)
|
|
1713
|
+
# ds.filter{name < 2} # SELECT * FROM t WHERE (name < 2)
|
|
1714
|
+
#
|
|
1715
|
+
# # Qualified identifiers
|
|
1716
|
+
# ds.filter{table__column + 1 < 2} # SELECT * FROM t WHERE ((table.column + 1) < 2)
|
|
1717
|
+
#
|
|
1718
|
+
# # Functions
|
|
1719
|
+
# ds.filter{is_active(1, 'arg2')} # SELECT * FROM t WHERE is_active(1, 'arg2')
|
|
1720
|
+
# ds.select{version{}} # SELECT version() FROM t
|
|
1721
|
+
# ds.select{count(:*){}} # SELECT count(*) FROM t
|
|
1722
|
+
# ds.select{count(:distinct, col1){}} # SELECT count(DISTINCT col1) FROM t
|
|
1723
|
+
#
|
|
1724
|
+
# # Window Functions
|
|
1725
|
+
# ds.select{rank(:over){}} # SELECT rank() OVER () FROM t
|
|
1726
|
+
# ds.select{count(:over, :*=>true){}} # SELECT count(*) OVER () FROM t
|
|
1727
|
+
# ds.select{sum(:over, :args=>col1, :partition=>col2, :order=>col3){}} # SELECT sum(col1) OVER (PARTITION BY col2 ORDER BY col3) FROM t
|
|
1728
|
+
#
|
|
1729
|
+
# # Math Operators
|
|
1730
|
+
# ds.select{|o| o.+(1, :a).as(:b)} # SELECT (1 + a) AS b FROM t
|
|
1731
|
+
# ds.select{|o| o.-(2, :a).as(:b)} # SELECT (2 - a) AS b FROM t
|
|
1732
|
+
# ds.select{|o| o.*(3, :a).as(:b)} # SELECT (3 * a) AS b FROM t
|
|
1733
|
+
# ds.select{|o| o./(4, :a).as(:b)} # SELECT (4 / a) AS b FROM t
|
|
1734
|
+
#
|
|
1735
|
+
# # Boolean Operators
|
|
1736
|
+
# ds.filter{|o| o.&({:a=>1}, :b)} # SELECT * FROM t WHERE ((a = 1) AND b)
|
|
1737
|
+
# ds.filter{|o| o.|({:a=>1}, :b)} # SELECT * FROM t WHERE ((a = 1) OR b)
|
|
1738
|
+
# ds.filter{|o| o.~({:a=>1})} # SELECT * FROM t WHERE (a != 1)
|
|
1739
|
+
# ds.filter{|o| o.~({:a=>1, :b=>2})} # SELECT * FROM t WHERE ((a != 1) OR (b != 2))
|
|
1740
|
+
#
|
|
1741
|
+
# # Inequality Operators
|
|
1742
|
+
# ds.filter{|o| o.>(1, :a)} # SELECT * FROM t WHERE (1 > a)
|
|
1743
|
+
# ds.filter{|o| o.<(2, :a)} # SELECT * FROM t WHERE (2 < a)
|
|
1744
|
+
# ds.filter{|o| o.>=(3, :a)} # SELECT * FROM t WHERE (3 >= a)
|
|
1745
|
+
# ds.filter{|o| o.<=(4, :a)} # SELECT * FROM t WHERE (4 <= a)
|
|
1746
|
+
#
|
|
1747
|
+
# # Literal Strings
|
|
1748
|
+
# ds.filter{{a=>`some SQL`}} # SELECT * FROM t WHERE (a = some SQL)
|
|
1749
|
+
#
|
|
1750
|
+
# For a more detailed explanation, see the {Virtual Rows guide}[rdoc-ref:doc/virtual_rows.rdoc].
|
|
1751
|
+
class VirtualRow < BasicObject
|
|
1752
|
+
QUESTION_MARK = LiteralString.new('?').freeze
|
|
1753
|
+
DOUBLE_UNDERSCORE = '__'.freeze
|
|
1754
|
+
|
|
1755
|
+
include OperatorBuilders
|
|
1756
|
+
|
|
1757
|
+
%w'> < >= <='.each do |op|
|
|
1758
|
+
class_eval(<<-END, __FILE__, __LINE__ + 1)
|
|
1759
|
+
def #{op}(*args)
|
|
1760
|
+
SQL::BooleanExpression.new(:#{op}, *args)
|
|
1761
|
+
end
|
|
1762
|
+
END
|
|
1763
|
+
end
|
|
1764
|
+
|
|
1765
|
+
# Return a literal string created with the given string.
|
|
1766
|
+
def `(s)
|
|
1767
|
+
Sequel::LiteralString.new(s)
|
|
1768
|
+
end
|
|
1769
|
+
|
|
1770
|
+
# Return an +Identifier+, +QualifiedIdentifier+, or +Function+, depending
|
|
1771
|
+
# on arguments and whether a block is provided. Does not currently call the block.
|
|
1772
|
+
# See the class level documentation.
|
|
1773
|
+
def method_missing(m, *args, &block)
|
|
1774
|
+
if block
|
|
1775
|
+
if args.empty?
|
|
1776
|
+
Function.new(m)
|
|
1777
|
+
else
|
|
1778
|
+
case args.shift
|
|
1779
|
+
when :*
|
|
1780
|
+
Function.new(m, *args).*
|
|
1781
|
+
when :distinct
|
|
1782
|
+
Function.new(m, *args).distinct
|
|
1783
|
+
when :over
|
|
1784
|
+
opts = args.shift || OPTS
|
|
1785
|
+
f = Function.new(m, *::Kernel.Array(opts[:args]))
|
|
1786
|
+
f = f.* if opts[:*]
|
|
1787
|
+
f.over(opts)
|
|
1788
|
+
else
|
|
1789
|
+
Kernel.raise(Error, 'unsupported VirtualRow method argument used with block')
|
|
1790
|
+
end
|
|
1791
|
+
end
|
|
1792
|
+
elsif args.empty?
|
|
1793
|
+
table, column = m.to_s.split(DOUBLE_UNDERSCORE, 2)
|
|
1794
|
+
column ? QualifiedIdentifier.new(table, column) : Identifier.new(m)
|
|
1795
|
+
else
|
|
1796
|
+
Function.new(m, *args)
|
|
1797
|
+
end
|
|
1798
|
+
end
|
|
1799
|
+
|
|
1800
|
+
Sequel::VIRTUAL_ROW = new
|
|
1801
|
+
end
|
|
1802
|
+
|
|
1803
|
+
# A +Window+ is part of a window function specifying the window over which a window function operates.
|
|
1804
|
+
class Window < Expression
|
|
1805
|
+
# The options for this window. Options currently supported:
|
|
1806
|
+
# :frame :: if specified, should be :all, :rows, or a String that is used literally. :all always operates over all rows in the
|
|
1807
|
+
# partition, while :rows excludes the current row's later peers. The default is to include
|
|
1808
|
+
# all previous rows in the partition up to the current row's last peer.
|
|
1809
|
+
# :order :: order on the column(s) given
|
|
1810
|
+
# :partition :: partition/group on the column(s) given
|
|
1811
|
+
# :window :: base results on a previously specified named window
|
|
1812
|
+
attr_reader :opts
|
|
1813
|
+
|
|
1814
|
+
# Set the options to the options given
|
|
1815
|
+
def initialize(opts=OPTS)
|
|
1816
|
+
@opts = opts
|
|
1817
|
+
end
|
|
1818
|
+
|
|
1819
|
+
to_s_method :window_sql, '@opts'
|
|
1820
|
+
end
|
|
1821
|
+
|
|
1822
|
+
# A +Wrapper+ is a simple way to wrap an existing object so that it supports
|
|
1823
|
+
# the Sequel DSL.
|
|
1824
|
+
class Wrapper < GenericExpression
|
|
1825
|
+
# The underlying value wrapped by this object.
|
|
1826
|
+
attr_reader :value
|
|
1827
|
+
|
|
1828
|
+
# Set the value wrapped by the object.
|
|
1829
|
+
def initialize(value)
|
|
1830
|
+
@value = value
|
|
1831
|
+
end
|
|
1832
|
+
|
|
1833
|
+
to_s_method :literal, '@value'
|
|
1834
|
+
end
|
|
1835
|
+
end
|
|
1836
|
+
|
|
1837
|
+
# +LiteralString+ is used to represent literal SQL expressions. A
|
|
1838
|
+
# +LiteralString+ is copied verbatim into an SQL statement. Instances of
|
|
1839
|
+
# +LiteralString+ can be created by calling <tt>Sequel.lit</tt>.
|
|
1840
|
+
class LiteralString
|
|
1841
|
+
include SQL::OrderMethods
|
|
1842
|
+
include SQL::ComplexExpressionMethods
|
|
1843
|
+
include SQL::BooleanMethods
|
|
1844
|
+
include SQL::NumericMethods
|
|
1845
|
+
include SQL::StringMethods
|
|
1846
|
+
include SQL::InequalityMethods
|
|
1847
|
+
include SQL::AliasMethods
|
|
1848
|
+
include SQL::CastMethods
|
|
1849
|
+
|
|
1850
|
+
# Return self if no args are given, otherwise return a SQL::PlaceholderLiteralString
|
|
1851
|
+
# with the current string and the given args.
|
|
1852
|
+
def lit(*args)
|
|
1853
|
+
args.empty? ? self : SQL::PlaceholderLiteralString.new(self, args)
|
|
1854
|
+
end
|
|
1855
|
+
|
|
1856
|
+
# Convert a literal string to a SQL::Blob.
|
|
1857
|
+
def to_sequel_blob
|
|
1858
|
+
SQL::Blob.new(self)
|
|
1859
|
+
end
|
|
1860
|
+
end
|
|
1861
|
+
|
|
1862
|
+
include SQL::Constants
|
|
1863
|
+
extend SQL::Builders
|
|
1864
|
+
extend SQL::OperatorBuilders
|
|
1865
|
+
end
|