ibm_db 3.0.5-x86-mingw32 → 5.0.5-x86-mingw32

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.
Files changed (358) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +4 -0
  3. data/LICENSE +1 -1
  4. data/ParameterizedQueries README +6 -6
  5. data/README +38 -55
  6. data/ext/Makefile +269 -0
  7. data/ext/extconf.rb +34 -3
  8. data/ext/gil_release_version +3 -0
  9. data/ext/ibm_db-i386-mingw32.def +2 -0
  10. data/ext/ibm_db.c +100 -108
  11. data/ext/ibm_db.o +0 -0
  12. data/ext/ibm_db.so +0 -0
  13. data/ext/mkmf.log +110 -0
  14. data/ext/ruby_ibm_db_cli.o +0 -0
  15. data/ext/unicode_support_version +3 -0
  16. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +923 -527
  17. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +4 -1
  18. data/lib/mswin32/ibm_db.rb +7 -39
  19. data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
  20. data/test/active_record/connection_adapters/fake_adapter.rb +8 -5
  21. data/test/cases/adapter_test.rb +133 -58
  22. data/test/cases/adapters/mysql2/active_schema_test.rb +193 -0
  23. data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -0
  24. data/test/cases/adapters/mysql2/boolean_test.rb +100 -0
  25. data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -0
  26. data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -0
  27. data/test/cases/adapters/mysql2/connection_test.rb +210 -0
  28. data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -0
  29. data/test/cases/adapters/mysql2/enum_test.rb +26 -0
  30. data/test/cases/adapters/mysql2/explain_test.rb +21 -0
  31. data/test/cases/adapters/mysql2/json_test.rb +195 -0
  32. data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -0
  33. data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -0
  34. data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -0
  35. data/test/cases/adapters/mysql2/schema_test.rb +126 -0
  36. data/test/cases/adapters/mysql2/sp_test.rb +36 -0
  37. data/test/cases/adapters/mysql2/sql_types_test.rb +14 -0
  38. data/test/cases/adapters/mysql2/table_options_test.rb +42 -0
  39. data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -0
  40. data/test/cases/adapters/postgresql/active_schema_test.rb +98 -0
  41. data/test/cases/adapters/postgresql/array_test.rb +339 -0
  42. data/test/cases/adapters/postgresql/bit_string_test.rb +82 -0
  43. data/test/cases/adapters/postgresql/bytea_test.rb +134 -0
  44. data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -0
  45. data/test/cases/adapters/postgresql/change_schema_test.rb +38 -0
  46. data/test/cases/adapters/postgresql/cidr_test.rb +25 -0
  47. data/test/cases/adapters/postgresql/citext_test.rb +78 -0
  48. data/test/cases/adapters/postgresql/collation_test.rb +53 -0
  49. data/test/cases/adapters/postgresql/composite_test.rb +132 -0
  50. data/test/cases/adapters/postgresql/connection_test.rb +257 -0
  51. data/test/cases/adapters/postgresql/datatype_test.rb +92 -0
  52. data/test/cases/adapters/postgresql/domain_test.rb +47 -0
  53. data/test/cases/adapters/postgresql/enum_test.rb +91 -0
  54. data/test/cases/adapters/postgresql/explain_test.rb +20 -0
  55. data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -0
  56. data/test/cases/adapters/postgresql/full_text_test.rb +44 -0
  57. data/test/cases/adapters/postgresql/geometric_test.rb +378 -0
  58. data/test/cases/adapters/postgresql/hstore_test.rb +382 -0
  59. data/test/cases/adapters/postgresql/infinity_test.rb +69 -0
  60. data/test/cases/adapters/postgresql/integer_test.rb +25 -0
  61. data/test/cases/adapters/postgresql/json_test.rb +237 -0
  62. data/test/cases/adapters/postgresql/ltree_test.rb +53 -0
  63. data/test/cases/adapters/postgresql/money_test.rb +96 -0
  64. data/test/cases/adapters/postgresql/network_test.rb +94 -0
  65. data/test/cases/adapters/postgresql/numbers_test.rb +49 -0
  66. data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -0
  67. data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -0
  68. data/test/cases/adapters/postgresql/quoting_test.rb +44 -0
  69. data/test/cases/adapters/postgresql/range_test.rb +343 -0
  70. data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -0
  71. data/test/cases/adapters/postgresql/rename_table_test.rb +34 -0
  72. data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -0
  73. data/test/cases/adapters/postgresql/schema_test.rb +597 -0
  74. data/test/cases/adapters/postgresql/serial_test.rb +154 -0
  75. data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -0
  76. data/test/cases/adapters/postgresql/timestamp_test.rb +90 -0
  77. data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -0
  78. data/test/cases/adapters/postgresql/utils_test.rb +62 -0
  79. data/test/cases/adapters/postgresql/uuid_test.rb +294 -0
  80. data/test/cases/adapters/postgresql/xml_test.rb +54 -0
  81. data/test/cases/adapters/sqlite3/collation_test.rb +53 -0
  82. data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -0
  83. data/test/cases/adapters/sqlite3/explain_test.rb +21 -0
  84. data/test/cases/adapters/sqlite3/quoting_test.rb +101 -0
  85. data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -0
  86. data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -0
  87. data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -0
  88. data/test/cases/aggregations_test.rb +11 -1
  89. data/test/cases/ar_schema_test.rb +35 -50
  90. data/test/cases/associations/association_scope_test.rb +1 -6
  91. data/test/cases/associations/belongs_to_associations_test.rb +122 -10
  92. data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -0
  93. data/test/cases/associations/callbacks_test.rb +5 -7
  94. data/test/cases/associations/cascaded_eager_loading_test.rb +1 -1
  95. data/test/cases/associations/eager_load_nested_include_test.rb +1 -3
  96. data/test/cases/associations/eager_test.rb +158 -73
  97. data/test/cases/associations/extension_test.rb +7 -2
  98. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +64 -32
  99. data/test/cases/associations/has_many_associations_test.rb +362 -43
  100. data/test/cases/associations/has_many_through_associations_test.rb +108 -41
  101. data/test/cases/associations/has_one_associations_test.rb +105 -8
  102. data/test/cases/associations/has_one_through_associations_test.rb +6 -3
  103. data/test/cases/associations/inner_join_association_test.rb +3 -3
  104. data/test/cases/associations/inverse_associations_test.rb +38 -11
  105. data/test/cases/associations/join_model_test.rb +59 -36
  106. data/test/cases/associations/left_outer_join_association_test.rb +88 -0
  107. data/test/cases/associations/nested_through_associations_test.rb +2 -2
  108. data/test/cases/associations/required_test.rb +25 -5
  109. data/test/cases/associations_test.rb +39 -34
  110. data/test/cases/attribute_decorators_test.rb +9 -8
  111. data/test/cases/attribute_methods/read_test.rb +5 -5
  112. data/test/cases/attribute_methods_test.rb +97 -40
  113. data/test/cases/attribute_set_test.rb +64 -4
  114. data/test/cases/attribute_test.rb +84 -18
  115. data/test/cases/attributes_test.rb +151 -34
  116. data/test/cases/autosave_association_test.rb +149 -36
  117. data/test/cases/base_test.rb +290 -241
  118. data/test/cases/batches_test.rb +299 -22
  119. data/test/cases/binary_test.rb +2 -10
  120. data/test/cases/bind_parameter_test.rb +76 -66
  121. data/test/cases/cache_key_test.rb +26 -0
  122. data/test/cases/calculations_test.rb +167 -15
  123. data/test/cases/callbacks_test.rb +161 -68
  124. data/test/cases/coders/json_test.rb +15 -0
  125. data/test/cases/collection_cache_key_test.rb +115 -0
  126. data/test/cases/column_definition_test.rb +26 -57
  127. data/test/cases/comment_test.rb +145 -0
  128. data/test/cases/connection_adapters/adapter_leasing_test.rb +5 -3
  129. data/test/cases/connection_adapters/connection_handler_test.rb +128 -21
  130. data/test/cases/connection_adapters/connection_specification_test.rb +1 -1
  131. data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +0 -38
  132. data/test/cases/connection_adapters/mysql_type_lookup_test.rb +5 -1
  133. data/test/cases/connection_adapters/schema_cache_test.rb +8 -3
  134. data/test/cases/connection_adapters/type_lookup_test.rb +15 -7
  135. data/test/cases/connection_management_test.rb +46 -56
  136. data/test/cases/connection_pool_test.rb +195 -20
  137. data/test/cases/connection_specification/resolver_test.rb +15 -0
  138. data/test/cases/counter_cache_test.rb +10 -5
  139. data/test/cases/custom_locking_test.rb +1 -1
  140. data/test/cases/database_statements_test.rb +18 -3
  141. data/test/cases/{invalid_date_test.rb → date_test.rb} +13 -1
  142. data/test/cases/date_time_precision_test.rb +107 -0
  143. data/test/cases/defaults_test.rb +85 -89
  144. data/test/cases/dirty_test.rb +30 -52
  145. data/test/cases/disconnected_test.rb +4 -2
  146. data/test/cases/enum_test.rb +178 -24
  147. data/test/cases/errors_test.rb +16 -0
  148. data/test/cases/explain_test.rb +32 -21
  149. data/test/cases/finder_test.rb +273 -148
  150. data/test/cases/fixture_set/file_test.rb +18 -0
  151. data/test/cases/fixtures_test.rb +112 -32
  152. data/test/cases/forbidden_attributes_protection_test.rb +69 -3
  153. data/test/cases/helper.rb +10 -16
  154. data/test/cases/hot_compatibility_test.rb +89 -1
  155. data/test/cases/inheritance_test.rb +284 -53
  156. data/test/cases/integration_test.rb +23 -7
  157. data/test/cases/invalid_connection_test.rb +4 -2
  158. data/test/cases/invertible_migration_test.rb +124 -32
  159. data/test/cases/json_serialization_test.rb +11 -2
  160. data/test/cases/locking_test.rb +22 -6
  161. data/test/cases/log_subscriber_test.rb +106 -17
  162. data/test/cases/migration/change_schema_test.rb +60 -114
  163. data/test/cases/migration/change_table_test.rb +34 -2
  164. data/test/cases/migration/column_attributes_test.rb +7 -23
  165. data/test/cases/migration/column_positioning_test.rb +8 -8
  166. data/test/cases/migration/columns_test.rb +17 -11
  167. data/test/cases/migration/command_recorder_test.rb +47 -2
  168. data/test/cases/migration/compatibility_test.rb +118 -0
  169. data/test/cases/migration/create_join_table_test.rb +21 -12
  170. data/test/cases/migration/foreign_key_test.rb +52 -18
  171. data/test/cases/migration/index_test.rb +14 -12
  172. data/test/cases/migration/logger_test.rb +1 -1
  173. data/test/cases/migration/pending_migrations_test.rb +0 -1
  174. data/test/cases/migration/references_foreign_key_test.rb +59 -7
  175. data/test/cases/migration/references_index_test.rb +4 -4
  176. data/test/cases/migration/references_statements_test.rb +26 -6
  177. data/test/cases/migration/rename_table_test.rb +25 -25
  178. data/test/cases/migration_test.rb +279 -81
  179. data/test/cases/migrator_test.rb +91 -8
  180. data/test/cases/mixin_test.rb +0 -2
  181. data/test/cases/modules_test.rb +3 -4
  182. data/test/cases/multiparameter_attributes_test.rb +24 -2
  183. data/test/cases/multiple_db_test.rb +11 -4
  184. data/test/cases/nested_attributes_test.rb +61 -33
  185. data/test/cases/persistence_test.rb +102 -10
  186. data/test/cases/pooled_connections_test.rb +3 -3
  187. data/test/cases/primary_keys_test.rb +170 -31
  188. data/test/cases/query_cache_test.rb +216 -96
  189. data/test/cases/quoting_test.rb +65 -19
  190. data/test/cases/readonly_test.rb +2 -1
  191. data/test/cases/reflection_test.rb +68 -22
  192. data/test/cases/relation/delegation_test.rb +3 -8
  193. data/test/cases/relation/merging_test.rb +10 -14
  194. data/test/cases/relation/mutation_test.rb +42 -24
  195. data/test/cases/relation/or_test.rb +92 -0
  196. data/test/cases/relation/predicate_builder_test.rb +4 -2
  197. data/test/cases/relation/record_fetch_warning_test.rb +40 -0
  198. data/test/cases/relation/where_chain_test.rb +23 -99
  199. data/test/cases/relation/where_clause_test.rb +182 -0
  200. data/test/cases/relation/where_test.rb +45 -23
  201. data/test/cases/relation_test.rb +67 -58
  202. data/test/cases/relations_test.rb +249 -38
  203. data/test/cases/result_test.rb +10 -0
  204. data/test/cases/sanitize_test.rb +108 -15
  205. data/test/cases/schema_dumper_test.rb +119 -125
  206. data/test/cases/schema_loading_test.rb +52 -0
  207. data/test/cases/scoping/default_scoping_test.rb +113 -39
  208. data/test/cases/scoping/named_scoping_test.rb +46 -9
  209. data/test/cases/scoping/relation_scoping_test.rb +47 -4
  210. data/test/cases/secure_token_test.rb +32 -0
  211. data/test/cases/serialization_test.rb +1 -1
  212. data/test/cases/serialized_attribute_test.rb +93 -6
  213. data/test/cases/statement_cache_test.rb +38 -0
  214. data/test/cases/store_test.rb +2 -1
  215. data/test/cases/suppressor_test.rb +63 -0
  216. data/test/cases/tasks/database_tasks_test.rb +73 -9
  217. data/test/cases/tasks/mysql_rake_test.rb +139 -118
  218. data/test/cases/tasks/postgresql_rake_test.rb +60 -6
  219. data/test/cases/tasks/sqlite_rake_test.rb +30 -3
  220. data/test/cases/test_case.rb +28 -20
  221. data/test/cases/test_fixtures_test.rb +36 -0
  222. data/test/cases/time_precision_test.rb +103 -0
  223. data/test/cases/timestamp_test.rb +44 -10
  224. data/test/cases/touch_later_test.rb +121 -0
  225. data/test/cases/transaction_callbacks_test.rb +128 -62
  226. data/test/cases/transaction_isolation_test.rb +2 -2
  227. data/test/cases/transactions_test.rb +61 -43
  228. data/test/cases/type/adapter_specific_registry_test.rb +133 -0
  229. data/test/cases/type/date_time_test.rb +14 -0
  230. data/test/cases/type/integer_test.rb +2 -96
  231. data/test/cases/type/string_test.rb +0 -14
  232. data/test/cases/type_test.rb +39 -0
  233. data/test/cases/types_test.rb +1 -118
  234. data/test/cases/unconnected_test.rb +1 -1
  235. data/test/cases/validations/absence_validation_test.rb +73 -0
  236. data/test/cases/validations/association_validation_test.rb +13 -2
  237. data/test/cases/validations/i18n_validation_test.rb +6 -10
  238. data/test/cases/validations/length_validation_test.rb +62 -30
  239. data/test/cases/validations/presence_validation_test.rb +36 -1
  240. data/test/cases/validations/uniqueness_validation_test.rb +128 -37
  241. data/test/cases/validations_repair_helper.rb +2 -6
  242. data/test/cases/validations_test.rb +36 -7
  243. data/test/cases/view_test.rb +102 -5
  244. data/test/cases/yaml_serialization_test.rb +21 -26
  245. data/test/config.example.yml +97 -0
  246. data/test/fixtures/bad_posts.yml +9 -0
  247. data/test/fixtures/books.yml +20 -0
  248. data/test/fixtures/content.yml +3 -0
  249. data/test/fixtures/content_positions.yml +3 -0
  250. data/test/fixtures/dead_parrots.yml +5 -0
  251. data/test/fixtures/live_parrots.yml +4 -0
  252. data/test/fixtures/naked/yml/parrots.yml +2 -0
  253. data/test/fixtures/naked/yml/trees.yml +3 -0
  254. data/test/fixtures/nodes.yml +29 -0
  255. data/test/fixtures/other_comments.yml +6 -0
  256. data/test/fixtures/other_dogs.yml +2 -0
  257. data/test/fixtures/other_posts.yml +7 -0
  258. data/test/fixtures/price_estimates.yml +10 -1
  259. data/test/fixtures/trees.yml +3 -0
  260. data/test/migrations/10_urban/9_add_expressions.rb +1 -1
  261. data/test/migrations/decimal/1_give_me_big_numbers.rb +1 -1
  262. data/test/migrations/magic/1_currencies_have_symbols.rb +1 -1
  263. data/test/migrations/missing/1000_people_have_middle_names.rb +2 -2
  264. data/test/migrations/missing/1_people_have_last_names.rb +2 -2
  265. data/test/migrations/missing/3_we_need_reminders.rb +2 -2
  266. data/test/migrations/missing/4_innocent_jointable.rb +2 -2
  267. data/test/migrations/rename/1_we_need_things.rb +2 -2
  268. data/test/migrations/rename/2_rename_things.rb +2 -2
  269. data/test/migrations/to_copy/1_people_have_hobbies.rb +1 -1
  270. data/test/migrations/to_copy/2_people_have_descriptions.rb +1 -1
  271. data/test/migrations/to_copy2/1_create_articles.rb +1 -1
  272. data/test/migrations/to_copy2/2_create_comments.rb +1 -1
  273. data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +1 -1
  274. data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +1 -1
  275. data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +1 -1
  276. data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +1 -1
  277. data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +1 -1
  278. data/test/migrations/valid/1_valid_people_have_last_names.rb +1 -1
  279. data/test/migrations/valid/2_we_need_reminders.rb +2 -2
  280. data/test/migrations/valid/3_innocent_jointable.rb +2 -2
  281. data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +1 -1
  282. data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +2 -2
  283. data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +2 -2
  284. data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +1 -1
  285. data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +1 -1
  286. data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +1 -1
  287. data/test/migrations/version_check/20131219224947_migration_version_check.rb +1 -1
  288. data/test/models/admin/randomly_named_c1.rb +6 -2
  289. data/test/models/aircraft.rb +1 -0
  290. data/test/models/author.rb +4 -7
  291. data/test/models/bird.rb +1 -1
  292. data/test/models/book.rb +5 -0
  293. data/test/models/bulb.rb +2 -1
  294. data/test/models/car.rb +3 -0
  295. data/test/models/cat.rb +10 -0
  296. data/test/models/chef.rb +1 -0
  297. data/test/models/club.rb +2 -0
  298. data/test/models/comment.rb +17 -5
  299. data/test/models/company.rb +4 -2
  300. data/test/models/company_in_module.rb +1 -1
  301. data/test/models/contact.rb +1 -1
  302. data/test/models/content.rb +40 -0
  303. data/test/models/customer.rb +8 -2
  304. data/test/models/developer.rb +19 -0
  305. data/test/models/face.rb +1 -1
  306. data/test/models/guitar.rb +4 -0
  307. data/test/models/hotel.rb +2 -0
  308. data/test/models/member.rb +1 -0
  309. data/test/models/member_detail.rb +4 -3
  310. data/test/models/mentor.rb +3 -0
  311. data/test/models/mocktail_designer.rb +2 -0
  312. data/test/models/node.rb +5 -0
  313. data/test/models/non_primary_key.rb +2 -0
  314. data/test/models/notification.rb +3 -0
  315. data/test/models/other_dog.rb +5 -0
  316. data/test/models/owner.rb +4 -1
  317. data/test/models/parrot.rb +6 -7
  318. data/test/models/person.rb +0 -1
  319. data/test/models/pet.rb +3 -0
  320. data/test/models/pet_treasure.rb +6 -0
  321. data/test/models/pirate.rb +3 -3
  322. data/test/models/post.rb +18 -9
  323. data/test/models/project.rb +9 -0
  324. data/test/models/randomly_named_c1.rb +1 -1
  325. data/test/models/recipe.rb +3 -0
  326. data/test/models/ship.rb +8 -2
  327. data/test/models/tag.rb +6 -0
  328. data/test/models/topic.rb +2 -8
  329. data/test/models/tree.rb +3 -0
  330. data/test/models/tuning_peg.rb +4 -0
  331. data/test/models/user.rb +14 -0
  332. data/test/models/uuid_item.rb +6 -0
  333. data/test/schema/mysql2_specific_schema.rb +33 -23
  334. data/test/schema/oracle_specific_schema.rb +1 -4
  335. data/test/schema/postgresql_specific_schema.rb +36 -124
  336. data/test/schema/schema.rb +170 -65
  337. data/test/schema/schema.rb.original +1057 -0
  338. data/test/schema/sqlite_specific_schema.rb +1 -5
  339. data/test/support/connection.rb +1 -0
  340. data/test/support/schema_dumping_helper.rb +1 -1
  341. data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -0
  342. data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -0
  343. metadata +146 -30
  344. data/lib/mswin32/rb19x/ibm_db.so +0 -0
  345. data/lib/mswin32/rb21x/i386/ibm_db.so +0 -0
  346. data/lib/mswin32/rb22x/i386/ibm_db.so +0 -0
  347. data/lib/mswin32/rb23x/i386/ibm_db.so +0 -0
  348. data/test/cases/associations/deprecated_counter_cache_on_has_many_through_test.rb +0 -26
  349. data/test/cases/attribute_methods/serialization_test.rb +0 -29
  350. data/test/cases/migration/change_schema_test - Copy.rb +0 -448
  351. data/test/cases/migration/foreign_key_test - Changed.rb +0 -325
  352. data/test/cases/migration/table_and_index_test.rb +0 -24
  353. data/test/cases/relation/where_test2.rb +0 -36
  354. data/test/cases/type/decimal_test.rb +0 -56
  355. data/test/cases/type/unsigned_integer_test.rb +0 -18
  356. data/test/cases/xml_serialization_test.rb +0 -457
  357. data/test/fixtures/naked/csv/accounts.csv +0 -1
  358. data/test/schema/mysql_specific_schema.rb +0 -70
@@ -0,0 +1,3 @@
1
+ content:
2
+ id: 1
3
+ title: How to use Rails
@@ -0,0 +1,3 @@
1
+ content_positions:
2
+ id: 1
3
+ content_id: 1
@@ -0,0 +1,5 @@
1
+ deadbird:
2
+ name: "Dusty DeadBird"
3
+ treasures: [ruby, sapphire]
4
+ parrot_sti_class: DeadParrot
5
+ killer: blackbeard
@@ -0,0 +1,4 @@
1
+ dusty:
2
+ name: "Dusty Bluebird"
3
+ treasures: [ruby, sapphire]
4
+ parrot_sti_class: LiveParrot
@@ -0,0 +1,2 @@
1
+ george:
2
+ arrr: "Curious George"
@@ -0,0 +1,3 @@
1
+ root:
2
+ :id: 1
3
+ :name: The Root
@@ -0,0 +1,29 @@
1
+ grandparent:
2
+ id: 1
3
+ tree_id: 1
4
+ name: Grand Parent
5
+
6
+ parent_a:
7
+ id: 2
8
+ tree_id: 1
9
+ parent_id: 1
10
+ name: Parent A
11
+
12
+ parent_b:
13
+ id: 3
14
+ tree_id: 1
15
+ parent_id: 1
16
+ name: Parent B
17
+
18
+ child_one_of_a:
19
+ id: 4
20
+ tree_id: 1
21
+ parent_id: 2
22
+ name: Child one
23
+
24
+ child_two_of_b:
25
+ id: 5
26
+ tree_id: 1
27
+ parent_id: 2
28
+ name: Child two
29
+
@@ -0,0 +1,6 @@
1
+ _fixture:
2
+ model_class: Comment
3
+
4
+ second_greetings:
5
+ post: second_welcome
6
+ body: Thank you for the second welcome
@@ -0,0 +1,2 @@
1
+ lassie:
2
+ id: 1
@@ -0,0 +1,7 @@
1
+ _fixture:
2
+ model_class: Post
3
+
4
+ second_welcome:
5
+ author_id: 1
6
+ title: Welcome to the another weblog
7
+ body: It's really nice today
@@ -1,7 +1,16 @@
1
- saphire_1:
1
+ sapphire_1:
2
2
  price: 10
3
3
  estimate_of: sapphire (Treasure)
4
4
 
5
5
  sapphire_2:
6
6
  price: 20
7
7
  estimate_of: sapphire (Treasure)
8
+
9
+ diamond:
10
+ price: 30
11
+ estimate_of: diamond (Treasure)
12
+
13
+ honda:
14
+ price: 40
15
+ estimate_of_type: Car
16
+ estimate_of_id: 1
@@ -0,0 +1,3 @@
1
+ root:
2
+ id: 1
3
+ name: The Root
@@ -1,4 +1,4 @@
1
- class AddExpressions < ActiveRecord::Migration
1
+ class AddExpressions < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("expressions") do |t|
4
4
  t.column :expression, :string
@@ -1,4 +1,4 @@
1
- class GiveMeBigNumbers < ActiveRecord::Migration
1
+ class GiveMeBigNumbers < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table :big_numbers do |table|
4
4
  table.column :bank_balance, :decimal, :precision => 10, :scale => 2
@@ -1,6 +1,6 @@
1
1
  # coding: ISO-8859-15
2
2
 
3
- class CurrenciesHaveSymbols < ActiveRecord::Migration
3
+ class CurrenciesHaveSymbols < ActiveRecord::Migration::Current
4
4
  def self.up
5
5
  # We use � for default currency symbol
6
6
  add_column "currencies", "symbol", :string, :default => "�"
@@ -1,4 +1,4 @@
1
- class PeopleHaveMiddleNames < ActiveRecord::Migration
1
+ class PeopleHaveMiddleNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "middle_name", :string
4
4
  end
@@ -6,4 +6,4 @@ class PeopleHaveMiddleNames < ActiveRecord::Migration
6
6
  def self.down
7
7
  remove_column "people", "middle_name"
8
8
  end
9
- end
9
+ end
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "last_name", :string
4
4
  end
@@ -6,4 +6,4 @@ class PeopleHaveLastNames < ActiveRecord::Migration
6
6
  def self.down
7
7
  remove_column "people", "last_name"
8
8
  end
9
- end
9
+ end
@@ -1,4 +1,4 @@
1
- class WeNeedReminders < ActiveRecord::Migration
1
+ class WeNeedReminders < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("reminders") do |t|
4
4
  t.column :content, :text
@@ -9,4 +9,4 @@ class WeNeedReminders < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class InnocentJointable < ActiveRecord::Migration
1
+ class InnocentJointable < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("people_reminders", :id => false) do |t|
4
4
  t.column :reminder_id, :integer
@@ -9,4 +9,4 @@ class InnocentJointable < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "people_reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class WeNeedThings < ActiveRecord::Migration
1
+ class WeNeedThings < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("things") do |t|
4
4
  t.column :content, :text
@@ -8,4 +8,4 @@ class WeNeedThings < ActiveRecord::Migration
8
8
  def self.down
9
9
  drop_table "things"
10
10
  end
11
- end
11
+ end
@@ -1,4 +1,4 @@
1
- class RenameThings < ActiveRecord::Migration
1
+ class RenameThings < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  rename_table "things", "awesome_things"
4
4
  end
@@ -6,4 +6,4 @@ class RenameThings < ActiveRecord::Migration
6
6
  def self.down
7
7
  rename_table "awesome_things", "things"
8
8
  end
9
- end
9
+ end
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "hobbies", :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "description", :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateArticles < ActiveRecord::Migration
1
+ class CreateArticles < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- class CreateArticles < ActiveRecord::Migration
1
+ class CreateArticles < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "hobbies", :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "hobbies", :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class PeopleHaveLastNames < ActiveRecord::Migration
1
+ class PeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "description", :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateArticles < ActiveRecord::Migration
1
+ class CreateArticles < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- class CreateComments < ActiveRecord::Migration
1
+ class CreateComments < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- class ValidPeopleHaveLastNames < ActiveRecord::Migration
1
+ class ValidPeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "last_name", :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class WeNeedReminders < ActiveRecord::Migration
1
+ class WeNeedReminders < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("reminders") do |t|
4
4
  t.column :content, :text
@@ -9,4 +9,4 @@ class WeNeedReminders < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class InnocentJointable < ActiveRecord::Migration
1
+ class InnocentJointable < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("people_reminders", :id => false) do |t|
4
4
  t.column :reminder_id, :integer
@@ -9,4 +9,4 @@ class InnocentJointable < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "people_reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class ValidPeopleHaveLastNames < ActiveRecord::Migration
1
+ class ValidPeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "last_name", :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class WeNeedReminders < ActiveRecord::Migration
1
+ class WeNeedReminders < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("reminders") do |t|
4
4
  t.column :content, :text
@@ -9,4 +9,4 @@ class WeNeedReminders < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class InnocentJointable < ActiveRecord::Migration
1
+ class InnocentJointable < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("people_reminders", :id => false) do |t|
4
4
  t.column :reminder_id, :integer
@@ -9,4 +9,4 @@ class InnocentJointable < ActiveRecord::Migration
9
9
  def self.down
10
10
  drop_table "people_reminders"
11
11
  end
12
- end
12
+ end
@@ -1,4 +1,4 @@
1
- class ValidWithTimestampsPeopleHaveLastNames < ActiveRecord::Migration
1
+ class ValidWithTimestampsPeopleHaveLastNames < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  add_column "people", "last_name", :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class ValidWithTimestampsWeNeedReminders < ActiveRecord::Migration
1
+ class ValidWithTimestampsWeNeedReminders < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("reminders") do |t|
4
4
  t.column :content, :text
@@ -1,4 +1,4 @@
1
- class ValidWithTimestampsInnocentJointable < ActiveRecord::Migration
1
+ class ValidWithTimestampsInnocentJointable < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  create_table("people_reminders", :id => false) do |t|
4
4
  t.column :reminder_id, :integer
@@ -1,4 +1,4 @@
1
- class MigrationVersionCheck < ActiveRecord::Migration
1
+ class MigrationVersionCheck < ActiveRecord::Migration::Current
2
2
  def self.up
3
3
  raise "incorrect migration version" unless version == 20131219224947
4
4
  end
@@ -1,3 +1,7 @@
1
- class Admin::ClassNameThatDoesNotFollowCONVENTIONS < ActiveRecord::Base
2
- self.table_name = :randomly_named_table
1
+ class Admin::ClassNameThatDoesNotFollowCONVENTIONS1 < ActiveRecord::Base
2
+ self.table_name = :randomly_named_table2
3
+ end
4
+
5
+ class Admin::ClassNameThatDoesNotFollowCONVENTIONS2 < ActiveRecord::Base
6
+ self.table_name = :randomly_named_table3
3
7
  end
@@ -1,4 +1,5 @@
1
1
  class Aircraft < ActiveRecord::Base
2
2
  self.pluralize_table_names = false
3
3
  has_many :engines, :foreign_key => "car_id"
4
+ has_many :wheels, as: :wheelable
4
5
  end
@@ -50,9 +50,9 @@ class Author < ActiveRecord::Base
50
50
  has_many :sti_posts, :class_name => 'StiPost'
51
51
  has_many :sti_post_comments, :through => :sti_posts, :source => :comments
52
52
 
53
- has_many :special_nonexistant_posts, -> { where("posts.body = 'nonexistant'") }, :class_name => "SpecialPost"
54
- has_many :special_nonexistant_post_comments, -> { where('comments.post_id' => 0) }, :through => :special_nonexistant_posts, :source => :comments
55
- has_many :nonexistant_comments, :through => :posts
53
+ has_many :special_nonexistent_posts, -> { where("posts.body = 'nonexistent'") }, :class_name => "SpecialPost"
54
+ has_many :special_nonexistent_post_comments, -> { where('comments.post_id' => 0) }, :through => :special_nonexistent_posts, :source => :comments
55
+ has_many :nonexistent_comments, :through => :posts
56
56
 
57
57
  has_many :hello_posts, -> { where "posts.body = 'hello'" }, :class_name => "Post"
58
58
  has_many :hello_post_comments, :through => :hello_posts, :source => :comments
@@ -75,7 +75,7 @@ class Author < ActiveRecord::Base
75
75
  has_many :posts_with_multiple_callbacks, :class_name => "Post",
76
76
  :before_add => [:log_before_adding, Proc.new {|o, r| o.post_log << "before_adding_proc#{r.id || '<new>'}"}],
77
77
  :after_add => [:log_after_adding, Proc.new {|o, r| o.post_log << "after_adding_proc#{r.id || '<new>'}"}]
78
- has_many :unchangable_posts, :class_name => "Post", :before_add => :raise_exception, :after_add => :log_after_adding
78
+ has_many :unchangeable_posts, :class_name => "Post", :before_add => :raise_exception, :after_add => :log_after_adding
79
79
 
80
80
  has_many :categorizations
81
81
  has_many :categories, :through => :categorizations
@@ -152,9 +152,6 @@ class Author < ActiveRecord::Base
152
152
  def extension_method; end
153
153
  end
154
154
 
155
- scope :relation_include_posts, -> { includes(:posts) }
156
- scope :relation_include_tags, -> { includes(:tags) }
157
-
158
155
  attr_accessor :post_log
159
156
  after_initialize :set_post_log
160
157
 
@@ -7,6 +7,6 @@ class Bird < ActiveRecord::Base
7
7
  attr_accessor :cancel_save_from_callback
8
8
  before_save :cancel_save_callback_method, :if => :cancel_save_from_callback
9
9
  def cancel_save_callback_method
10
- false
10
+ throw(:abort)
11
11
  end
12
12
  end
@@ -10,6 +10,11 @@ class Book < ActiveRecord::Base
10
10
  enum status: [:proposed, :written, :published]
11
11
  enum read_status: {unread: 0, reading: 2, read: 3}
12
12
  enum nullable_status: [:single, :married]
13
+ enum language: [:english, :spanish, :french], _prefix: :in
14
+ enum author_visibility: [:visible, :invisible], _prefix: true
15
+ enum illustrator_visibility: [:visible, :invisible], _prefix: true
16
+ enum font_size: [:small, :medium, :large], _prefix: :with, _suffix: true
17
+ enum cover: { hard: 'hard', soft: 'soft' }
13
18
 
14
19
  def published!
15
20
  super
@@ -1,6 +1,7 @@
1
1
  class Bulb < ActiveRecord::Base
2
2
  default_scope { where(:name => 'defaulty') }
3
3
  belongs_to :car, :touch => true
4
+ scope :awesome, -> { where(frickinawesome: true) }
4
5
 
5
6
  attr_reader :scope_after_initialize, :attributes_after_initialize
6
7
 
@@ -46,6 +47,6 @@ end
46
47
 
47
48
  class FailedBulb < Bulb
48
49
  before_destroy do
49
- false
50
+ throw(:abort)
50
51
  end
51
52
  end
@@ -4,6 +4,7 @@ class Car < ActiveRecord::Base
4
4
  has_many :funky_bulbs, class_name: 'FunkyBulb', dependent: :destroy
5
5
  has_many :failed_bulbs, class_name: 'FailedBulb', dependent: :destroy
6
6
  has_many :foo_bulbs, -> { where(:name => 'foo') }, :class_name => "Bulb"
7
+ has_many :awesome_bulbs, -> { awesome }, class_name: "Bulb"
7
8
 
8
9
  has_one :bulb
9
10
 
@@ -11,6 +12,8 @@ class Car < ActiveRecord::Base
11
12
  has_many :engines, :dependent => :destroy, inverse_of: :my_car
12
13
  has_many :wheels, :as => :wheelable, :dependent => :destroy
13
14
 
15
+ has_many :price_estimates, :as => :estimate_of
16
+
14
17
  scope :incl_tyres, -> { includes(:tyres) }
15
18
  scope :incl_engines, -> { includes(:engines) }
16
19