dm-is-reflective 0.8.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.
Files changed (71) hide show
  1. data/.gita/COMMIT_EDITMSG +9 -0
  2. data/.gita/HEAD +1 -0
  3. data/.gita/ORIG_HEAD +1 -0
  4. data/.gita/RENAMED-REF +1 -0
  5. data/.gita/config +9 -0
  6. data/.gita/description +1 -0
  7. data/.gita/gitk.cache +6 -0
  8. data/.gita/hooks/applypatch-msg +15 -0
  9. data/.gita/hooks/commit-msg +24 -0
  10. data/.gita/hooks/post-commit +8 -0
  11. data/.gita/hooks/post-receive +16 -0
  12. data/.gita/hooks/post-update +8 -0
  13. data/.gita/hooks/pre-applypatch +14 -0
  14. data/.gita/hooks/pre-commit +70 -0
  15. data/.gita/hooks/pre-rebase +150 -0
  16. data/.gita/hooks/prepare-commit-msg +36 -0
  17. data/.gita/hooks/update +107 -0
  18. data/.gita/index +0 -0
  19. data/.gita/info/exclude +6 -0
  20. data/.gita/info/refs +26 -0
  21. data/.gita/logs/HEAD +40 -0
  22. data/.gita/logs/refs/heads/dm-mapping +1 -0
  23. data/.gita/logs/refs/heads/master +40 -0
  24. data/.gita/logs/refs/heads/return-symbol +0 -0
  25. data/.gita/logs/refs/remotes/origin/dm-mapping +1 -0
  26. data/.gita/logs/refs/remotes/origin/master +6 -0
  27. data/.gita/logs/refs/remotes/origin/return-symbol +0 -0
  28. data/.gita/objects/5c/91380a1616b7c2d23e14eeb49d9edde58e1f47 +2 -0
  29. data/.gita/objects/63/71947bcb9c0dd1d3b3d6f449b2d4b4c6c81e63 +0 -0
  30. data/.gita/objects/73/23ae22118cc54fb0bbb0d6f51cc99191019b96 +0 -0
  31. data/.gita/objects/81/a0ab6e4dbd148faa0644307b313799027d3344 +2 -0
  32. data/.gita/objects/b2/9571a21e3bccb60079dfca630dac981f623489 +5 -0
  33. data/.gita/objects/cb/138acf9efc0f5b3ff91c644cae4dec868442e4 +5 -0
  34. data/.gita/objects/d5/66699fc7ba5237311cc44648d0cd2abbaa895e +0 -0
  35. data/.gita/objects/info/packs +2 -0
  36. data/.gita/objects/pack/pack-c9156ef3406b98f5f12875b13643df7a5f41e42c.idx +0 -0
  37. data/.gita/objects/pack/pack-c9156ef3406b98f5f12875b13643df7a5f41e42c.pack +0 -0
  38. data/.gita/packed-refs +27 -0
  39. data/.gita/refs/heads/master +1 -0
  40. data/.gita/refs/tags/dm-is-reflective-0.8.0 +1 -0
  41. data/CHANGES +189 -0
  42. data/LICENSE +201 -0
  43. data/NOTICE +30 -0
  44. data/README +122 -0
  45. data/Rakefile +45 -0
  46. data/TODO +7 -0
  47. data/dm-is-reflective.gemspec +41 -0
  48. data/lib/dm-is-reflective.rb +10 -0
  49. data/lib/dm-is-reflective/is/adapters/abstract_adapter.rb +144 -0
  50. data/lib/dm-is-reflective/is/adapters/mysql_adapter.rb +62 -0
  51. data/lib/dm-is-reflective/is/adapters/postgres_adapter.rb +84 -0
  52. data/lib/dm-is-reflective/is/adapters/sqlite3_adapter.rb +61 -0
  53. data/lib/dm-is-reflective/is/reflective.rb +78 -0
  54. data/lib/dm-is-reflective/is/version.rb +7 -0
  55. data/lib/dm-is-reflective/version.rb +7 -0
  56. data/tasks/ann.rake +80 -0
  57. data/tasks/bones.rake +20 -0
  58. data/tasks/gem.rake +201 -0
  59. data/tasks/git.rake +40 -0
  60. data/tasks/notes.rake +27 -0
  61. data/tasks/post_load.rake +34 -0
  62. data/tasks/rdoc.rake +51 -0
  63. data/tasks/rubyforge.rake +55 -0
  64. data/tasks/setup.rb +294 -0
  65. data/tasks/spec.rake +54 -0
  66. data/tasks/svn.rake +47 -0
  67. data/tasks/test.rake +40 -0
  68. data/tasks/zentest.rake +36 -0
  69. data/test/abstract.rb +250 -0
  70. data/test/test_dm-is-reflexible.rb +48 -0
  71. metadata +203 -0
data/.gita/index ADDED
Binary file
@@ -0,0 +1,6 @@
1
+ # git-ls-files --others --exclude-from=.git/info/exclude
2
+ # Lines that start with '#' are comments.
3
+ # For a project mostly in C, the following would be a good set of
4
+ # exclude patterns (uncomment them if you want to use them):
5
+ # *.[oa]
6
+ # *~
data/.gita/info/refs ADDED
@@ -0,0 +1,26 @@
1
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 refs/heads/dm-mapping
2
+ 9403c8d2a0050f25a50b94a6514086c256dea074 refs/heads/master
3
+ b2f24de5d89d74df621e11819f19ab8ba83c6478 refs/heads/return-symbol
4
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 refs/remotes/origin/dm-mapping
5
+ 9403c8d2a0050f25a50b94a6514086c256dea074 refs/remotes/origin/master
6
+ b2f24de5d89d74df621e11819f19ab8ba83c6478 refs/remotes/origin/return-symbol
7
+ 3cefb8e4f04b668c083312726625bc032987e998 refs/tags/dm-mapping-0.2.0
8
+ 44c19de49ff25aa2a78dfe7e631a1cfc472c95d9 refs/tags/dm-mapping-0.2.0^{}
9
+ ee4ff6e640a41d0825935173380bc7579d19a1f7 refs/tags/dm-mapping-0.2.1
10
+ f51cd1ce442e5f77d6a36abfdd27b63bdac7bc2a refs/tags/dm-mapping-0.2.1^{}
11
+ 4d421dc119b93722252e1cc275746da9d1b7c219 refs/tags/dm-mapping-0.3.0
12
+ c87eb23ab102203f336244381554ba01e25c2bf6 refs/tags/dm-mapping-0.3.0^{}
13
+ 1a44b98f3ee856158b79833ba75794bd27ab2154 refs/tags/dm-mapping-0.4.0
14
+ 3db298d98c55c2a73d355dae47f446c0c9da37ba refs/tags/dm-mapping-0.4.0^{}
15
+ 85d4af8ac14e16c48dfa5193e348b0231d20888f refs/tags/dm-mapping-0.4.1
16
+ c61ac215503302c51555c3fba87941d84b4da01b refs/tags/dm-mapping-0.4.1^{}
17
+ aa0f320dc9fe46cb8a56429c01bfea2272df1fe2 refs/tags/dm-mapping-0.5.0
18
+ 77bda6472cd95d1d3ca2c242cde290614aac2089 refs/tags/dm-mapping-0.5.0^{}
19
+ 6f345cbc6b64d03c4f99074b0388a1ad8a0ea148 refs/tags/dm-mapping-0.6.0
20
+ 7c0c7f1cb3f26791d5fea369d4ef4dff87945a21 refs/tags/dm-mapping-0.6.0^{}
21
+ bb626b7e0e84544a8309a24fa4f99ba520001f2b refs/tags/dm-mapping-0.6.1
22
+ a1156b3678d8018c73e9e5132842cdf486102596 refs/tags/dm-mapping-0.6.1^{}
23
+ ee8d11361831fec5acf62c9f7db78e9d3262974d refs/tags/dm-mapping-0.6.2
24
+ 00c25ab33d925777b982b2e467feefbd8fcc6799 refs/tags/dm-mapping-0.6.2^{}
25
+ fb4d3bc4aed297846605bb2fae1df713cd7a417f refs/tags/dm-mapping-0.7.0
26
+ bb8b0732858c8910258956c5c302971fcb90f14a refs/tags/dm-mapping-0.7.0^{}
data/.gita/logs/HEAD ADDED
@@ -0,0 +1,40 @@
1
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 8e094d1a949e22a5dcf5421d147088013b61e5a3 Lin Jen-Shin <godfat@godfat.org> 1245509846 +0800 checkout: moving from master to dm-is-reflexible
2
+ 8e094d1a949e22a5dcf5421d147088013b61e5a3 2077f4eb2d345ca51d2406ed923d02b4da9745d1 Lin Jen-Shin <godfat@godfat.org> 1245509921 +0800 commit: fix Rakefile constant and remove diagram in rdoc
3
+ 2077f4eb2d345ca51d2406ed923d02b4da9745d1 9dbc29572cc3bc5c1b49255015fe42093ac9d511 Lin Jen-Shin <godfat@godfat.org> 1245510742 +0800 commit: :size is deprecated, use :length on String.
4
+ 9dbc29572cc3bc5c1b49255015fe42093ac9d511 7a1669e27923a8f2a5e3c01ecfc9b246943b582c Lin Jen-Shin <godfat@godfat.org> 1245510776 +0800 commit: print notice message if no adapter is installed
5
+ 7a1669e27923a8f2a5e3c01ecfc9b246943b582c 383fc204032b232171408a9fc55a48e7a5bc33e4 Lin Jen-Shin <godfat@godfat.org> 1245511233 +0800 merge master: Merge made by recursive.
6
+ 383fc204032b232171408a9fc55a48e7a5bc33e4 6432983652a43ee54f261c9d96f4e79a0958b868 Lin Jen-Shin <godfat@godfat.org> 1245512027 +0800 commit: no more DM::Text now, use DataMapper::Types::Text
7
+ 6432983652a43ee54f261c9d96f4e79a0958b868 c40d6850c12563bcfd7cc375a4344db682be7c22 Lin Jen-Shin <godfat@godfat.org> 1245512125 +0800 commit: TypeMap is plain Hash now.
8
+ c40d6850c12563bcfd7cc375a4344db682be7c22 304f97828d0e1063eff543c9ca3c032248690ef2 Lin Jen-Shin <godfat@godfat.org> 1245512286 +0800 commit: too many warnings in addressable, dm-core, extlib...
9
+ 304f97828d0e1063eff543c9ca3c032248690ef2 95f673d1c313d447a077b42ce928667c115b8214 Lin Jen-Shin <godfat@godfat.org> 1245513438 +0800 commit: more :size to :length
10
+ 95f673d1c313d447a077b42ce928667c115b8214 3a35b3111bae32316faaad0383b58a99d37ddad0 Lin Jen-Shin <godfat@godfat.org> 1245513476 +0800 commit: explicitly tell belongs_to need nullable
11
+ 3a35b3111bae32316faaad0383b58a99d37ddad0 0949f4d53f6c45546de300c9d364dc432d6c3076 Lin Jen-Shin <godfat@godfat.org> 1245513528 +0800 commit: no real DateTime now?
12
+ 0949f4d53f6c45546de300c9d364dc432d6c3076 2bee95c5acb7c379a7ae98b71be2225dc132e023 Lin Jen-Shin <godfat@godfat.org> 1245513539 +0800 commit: no strange UL in sqlite3 now
13
+ 2bee95c5acb7c379a7ae98b71be2225dc132e023 36d64aea8f6b25c56810f56e8c65fdebd883bac6 Lin Jen-Shin <godfat@godfat.org> 1245514277 +0800 commit: eliminate warning with Serial and Boolean
14
+ 36d64aea8f6b25c56810f56e8c65fdebd883bac6 2a498826d2dd1fc2133798cddd0e33c65298e8f8 Lin Jen-Shin <godfat@godfat.org> 1245514350 +0800 commit: it's DateTime after all??? why it's Time in last unit test?
15
+ 2a498826d2dd1fc2133798cddd0e33c65298e8f8 b9864779690ae8ff83ef9a477058936cfb30c7c2 Lin Jen-Shin <godfat@godfat.org> 1245515851 +0800 commit: type_map is not needed anymore
16
+ b9864779690ae8ff83ef9a477058936cfb30c7c2 5860b0b01837db9aff8fa9c91bb7efae77da408b Lin Jen-Shin <godfat@godfat.org> 1245515893 +0800 commit: unify Serial and Boolean, reject Types::Object and Time...
17
+ 5860b0b01837db9aff8fa9c91bb7efae77da408b e33cfddd5ce171eb040199a01cbfa76ec6269580 Lin Jen-Shin <godfat@godfat.org> 1245516164 +0800 commit: Serial is not Integer anymore. foreign key is still Integer currently..
18
+ e33cfddd5ce171eb040199a01cbfa76ec6269580 2894a66ef8652f2267a7a3450c0b63960558ac70 Lin Jen-Shin <godfat@godfat.org> 1245516373 +0800 commit: require dm-core 0.10.0 and later now
19
+ 2894a66ef8652f2267a7a3450c0b63960558ac70 dee9cc4961ee065410cb8030800d80fb491bc3d3 Lin Jen-Shin <godfat@godfat.org> 1245517855 +0800 commit: bump to 0.8.0 with new name `dm-is-reflexible'
20
+ dee9cc4961ee065410cb8030800d80fb491bc3d3 1c34dfbdd6fe946cd81481a96b3aa7974a0be9f9 Lin Jen-Shin <godfat@godfat.org> 1245517913 +0800 commit: no DATETIME in default lookup now
21
+ 1c34dfbdd6fe946cd81481a96b3aa7974a0be9f9 ab6fa2c3175841744a0f07b6ef92310d9b6832bc Lin Jen-Shin <godfat@godfat.org> 1245517935 +0800 commit: yet another size => length
22
+ ab6fa2c3175841744a0f07b6ef92310d9b6832bc 1429dc439f1b4d4e2948558689c2a7dbf206ccdc Lin Jen-Shin <godfat@godfat.org> 1245517954 +0800 commit: use length for Text as well, now belongs_to has key as well
23
+ 1429dc439f1b4d4e2948558689c2a7dbf206ccdc 10792a9919a656092a5abdc1134ea1c0209d2480 Lin Jen-Shin <godfat@godfat.org> 1245517989 +0800 commit: but sqlite3 didn't support FK, so...
24
+ 10792a9919a656092a5abdc1134ea1c0209d2480 241d006070e267aac1675df504e121df5947db10 Lin Jen-Shin <godfat@godfat.org> 1245518006 +0800 commit: only mysql couldn't tell it's Boolean or Integer
25
+ 241d006070e267aac1675df504e121df5947db10 63fa4fb7af2cae0741a266fd470b319d706a6bf8 Lin Jen-Shin <godfat@godfat.org> 1245519309 +0800 commit: actually, i don't know what is a MUL in mysql, so just ignore it...
26
+ 63fa4fb7af2cae0741a266fd470b319d706a6bf8 c52a6bc70b6ab664d4e8f569bc139d27fbfe80e5 Lin Jen-Shin <godfat@godfat.org> 1245519358 +0800 commit: yet another size to length
27
+ c52a6bc70b6ab664d4e8f569bc139d27fbfe80e5 644347b12b0058329341b8b3e2e50172c7b9bda3 Lin Jen-Shin <godfat@godfat.org> 1245519371 +0800 commit: fix postgres sequence name
28
+ 644347b12b0058329341b8b3e2e50172c7b9bda3 21b697177cf0a6a5864e46ff02b5b89511f6107f Lin Jen-Shin <godfat@godfat.org> 1245519387 +0800 commit: more types for postgres
29
+ 21b697177cf0a6a5864e46ff02b5b89511f6107f a70749d79b68cb73c97dec0721542a8dc78bb030 Lin Jen-Shin <godfat@godfat.org> 1245521204 +0800 commit: talk more like a dm plugin, and update some document
30
+ a70749d79b68cb73c97dec0721542a8dc78bb030 d0e22ce41a0ee3d2fd4d07d3ddd9d36b4cf8b418 Lin Jen-Shin <godfat@godfat.org> 1245521378 +0800 commit: new gemspec
31
+ d0e22ce41a0ee3d2fd4d07d3ddd9d36b4cf8b418 dd097f7762a9919e474ccca014c92621e37158ec Lin Jen-Shin <godfat@godfat.org> 1245521839 +0800 commit: update gemspec and more name issue
32
+ ce5bef6bfc675042e852ca3a0b8008841abe3f3e 98f83544a720cc88a3cd88618520affaee2fb5b0 Lin Jen-Shin <godfat@godfat.org> 1245568280 +0800 commit: be consistent with dm-core
33
+ 98f83544a720cc88a3cd88618520affaee2fb5b0 225dc844c34320d836a5f7fe1df6408c6a6b66fe Lin Jen-Shin <godfat@godfat.org> 1245569199 +0800 commit: sorry but, dm-is-reflexible makes more sense?
34
+ 225dc844c34320d836a5f7fe1df6408c6a6b66fe e17d93b9d2210f1e4d8f52f2a712a17bc0eba943 Lin Jen-Shin <godfat@godfat.org> 1245571013 +0800 commit: remove comments
35
+ e17d93b9d2210f1e4d8f52f2a712a17bc0eba943 2f02042049b42419e09cbad69e0e1f113802319d Lin Jen-Shin <godfat@godfat.org> 1245593847 +0800 commit: no more Extlib::Hook, use abstract adapter to load curr adapter. more:
36
+ 82364c60113da13168b96e79db1a298b0f8bec6d ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 Lin Jen-Shin <godfat@godfat.org> 1245595431 +0800 commit: renamed all mapping to reflect
37
+ ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 3f756c209343909918f9a48c1e2298d9f49b4fd8 Lin Jen-Shin <godfat@godfat.org> 1245600781 +0800 commit: rearrange source code layout. try to update github HEAD
38
+ 3f756c209343909918f9a48c1e2298d9f49b4fd8 534b609e76ad0a3e36c9c38b632ae921e12f1b78 Lin Jen-Shin <godfat@godfat.org> 1248016707 +0800 commit: [sqlite3_adapter.rb] added type mapping for sqlite3
39
+ 534b609e76ad0a3e36c9c38b632ae921e12f1b78 9403c8d2a0050f25a50b94a6514086c256dea074 Lin Jen-Shin <godfat@godfat.org> 1252463489 +0800 commit: use Text.length instead of Text.size which is nil.. fixed for 0.10RC2
40
+ 9403c8d2a0050f25a50b94a6514086c256dea074 5c91380a1616b7c2d23e14eeb49d9edde58e1f47 Lin Jen-Shin <godfat@godfat.org> 1253105423 +0800 commit: [CHANGES] adapted to dm-core 0.10.0. first rubyforge gem release.
@@ -0,0 +1 @@
1
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 b263e1adc9f508780ee8f0e69154266e04ae5ee5 Lin Jen-Shin <godfat@godfat.org> 1245567071 +0800 Branch: renamed refs/heads/master to refs/heads/dm-mapping
@@ -0,0 +1,40 @@
1
+ 8e094d1a949e22a5dcf5421d147088013b61e5a3 2077f4eb2d345ca51d2406ed923d02b4da9745d1 Lin Jen-Shin <godfat@godfat.org> 1245509921 +0800 commit: fix Rakefile constant and remove diagram in rdoc
2
+ 2077f4eb2d345ca51d2406ed923d02b4da9745d1 9dbc29572cc3bc5c1b49255015fe42093ac9d511 Lin Jen-Shin <godfat@godfat.org> 1245510742 +0800 commit: :size is deprecated, use :length on String.
3
+ 9dbc29572cc3bc5c1b49255015fe42093ac9d511 7a1669e27923a8f2a5e3c01ecfc9b246943b582c Lin Jen-Shin <godfat@godfat.org> 1245510776 +0800 commit: print notice message if no adapter is installed
4
+ 7a1669e27923a8f2a5e3c01ecfc9b246943b582c 383fc204032b232171408a9fc55a48e7a5bc33e4 Lin Jen-Shin <godfat@godfat.org> 1245511233 +0800 merge master: Merge made by recursive.
5
+ 383fc204032b232171408a9fc55a48e7a5bc33e4 6432983652a43ee54f261c9d96f4e79a0958b868 Lin Jen-Shin <godfat@godfat.org> 1245512027 +0800 commit: no more DM::Text now, use DataMapper::Types::Text
6
+ 6432983652a43ee54f261c9d96f4e79a0958b868 c40d6850c12563bcfd7cc375a4344db682be7c22 Lin Jen-Shin <godfat@godfat.org> 1245512125 +0800 commit: TypeMap is plain Hash now.
7
+ c40d6850c12563bcfd7cc375a4344db682be7c22 304f97828d0e1063eff543c9ca3c032248690ef2 Lin Jen-Shin <godfat@godfat.org> 1245512286 +0800 commit: too many warnings in addressable, dm-core, extlib...
8
+ 304f97828d0e1063eff543c9ca3c032248690ef2 95f673d1c313d447a077b42ce928667c115b8214 Lin Jen-Shin <godfat@godfat.org> 1245513438 +0800 commit: more :size to :length
9
+ 95f673d1c313d447a077b42ce928667c115b8214 3a35b3111bae32316faaad0383b58a99d37ddad0 Lin Jen-Shin <godfat@godfat.org> 1245513476 +0800 commit: explicitly tell belongs_to need nullable
10
+ 3a35b3111bae32316faaad0383b58a99d37ddad0 0949f4d53f6c45546de300c9d364dc432d6c3076 Lin Jen-Shin <godfat@godfat.org> 1245513528 +0800 commit: no real DateTime now?
11
+ 0949f4d53f6c45546de300c9d364dc432d6c3076 2bee95c5acb7c379a7ae98b71be2225dc132e023 Lin Jen-Shin <godfat@godfat.org> 1245513539 +0800 commit: no strange UL in sqlite3 now
12
+ 2bee95c5acb7c379a7ae98b71be2225dc132e023 36d64aea8f6b25c56810f56e8c65fdebd883bac6 Lin Jen-Shin <godfat@godfat.org> 1245514277 +0800 commit: eliminate warning with Serial and Boolean
13
+ 36d64aea8f6b25c56810f56e8c65fdebd883bac6 2a498826d2dd1fc2133798cddd0e33c65298e8f8 Lin Jen-Shin <godfat@godfat.org> 1245514350 +0800 commit: it's DateTime after all??? why it's Time in last unit test?
14
+ 2a498826d2dd1fc2133798cddd0e33c65298e8f8 b9864779690ae8ff83ef9a477058936cfb30c7c2 Lin Jen-Shin <godfat@godfat.org> 1245515851 +0800 commit: type_map is not needed anymore
15
+ b9864779690ae8ff83ef9a477058936cfb30c7c2 5860b0b01837db9aff8fa9c91bb7efae77da408b Lin Jen-Shin <godfat@godfat.org> 1245515893 +0800 commit: unify Serial and Boolean, reject Types::Object and Time...
16
+ 5860b0b01837db9aff8fa9c91bb7efae77da408b e33cfddd5ce171eb040199a01cbfa76ec6269580 Lin Jen-Shin <godfat@godfat.org> 1245516164 +0800 commit: Serial is not Integer anymore. foreign key is still Integer currently..
17
+ e33cfddd5ce171eb040199a01cbfa76ec6269580 2894a66ef8652f2267a7a3450c0b63960558ac70 Lin Jen-Shin <godfat@godfat.org> 1245516373 +0800 commit: require dm-core 0.10.0 and later now
18
+ 2894a66ef8652f2267a7a3450c0b63960558ac70 dee9cc4961ee065410cb8030800d80fb491bc3d3 Lin Jen-Shin <godfat@godfat.org> 1245517855 +0800 commit: bump to 0.8.0 with new name `dm-is-reflexible'
19
+ dee9cc4961ee065410cb8030800d80fb491bc3d3 1c34dfbdd6fe946cd81481a96b3aa7974a0be9f9 Lin Jen-Shin <godfat@godfat.org> 1245517913 +0800 commit: no DATETIME in default lookup now
20
+ 1c34dfbdd6fe946cd81481a96b3aa7974a0be9f9 ab6fa2c3175841744a0f07b6ef92310d9b6832bc Lin Jen-Shin <godfat@godfat.org> 1245517935 +0800 commit: yet another size => length
21
+ ab6fa2c3175841744a0f07b6ef92310d9b6832bc 1429dc439f1b4d4e2948558689c2a7dbf206ccdc Lin Jen-Shin <godfat@godfat.org> 1245517954 +0800 commit: use length for Text as well, now belongs_to has key as well
22
+ 1429dc439f1b4d4e2948558689c2a7dbf206ccdc 10792a9919a656092a5abdc1134ea1c0209d2480 Lin Jen-Shin <godfat@godfat.org> 1245517989 +0800 commit: but sqlite3 didn't support FK, so...
23
+ 10792a9919a656092a5abdc1134ea1c0209d2480 241d006070e267aac1675df504e121df5947db10 Lin Jen-Shin <godfat@godfat.org> 1245518006 +0800 commit: only mysql couldn't tell it's Boolean or Integer
24
+ 241d006070e267aac1675df504e121df5947db10 63fa4fb7af2cae0741a266fd470b319d706a6bf8 Lin Jen-Shin <godfat@godfat.org> 1245519309 +0800 commit: actually, i don't know what is a MUL in mysql, so just ignore it...
25
+ 63fa4fb7af2cae0741a266fd470b319d706a6bf8 c52a6bc70b6ab664d4e8f569bc139d27fbfe80e5 Lin Jen-Shin <godfat@godfat.org> 1245519358 +0800 commit: yet another size to length
26
+ c52a6bc70b6ab664d4e8f569bc139d27fbfe80e5 644347b12b0058329341b8b3e2e50172c7b9bda3 Lin Jen-Shin <godfat@godfat.org> 1245519371 +0800 commit: fix postgres sequence name
27
+ 644347b12b0058329341b8b3e2e50172c7b9bda3 21b697177cf0a6a5864e46ff02b5b89511f6107f Lin Jen-Shin <godfat@godfat.org> 1245519387 +0800 commit: more types for postgres
28
+ 21b697177cf0a6a5864e46ff02b5b89511f6107f a70749d79b68cb73c97dec0721542a8dc78bb030 Lin Jen-Shin <godfat@godfat.org> 1245521204 +0800 commit: talk more like a dm plugin, and update some document
29
+ a70749d79b68cb73c97dec0721542a8dc78bb030 d0e22ce41a0ee3d2fd4d07d3ddd9d36b4cf8b418 Lin Jen-Shin <godfat@godfat.org> 1245521378 +0800 commit: new gemspec
30
+ d0e22ce41a0ee3d2fd4d07d3ddd9d36b4cf8b418 dd097f7762a9919e474ccca014c92621e37158ec Lin Jen-Shin <godfat@godfat.org> 1245521839 +0800 commit: update gemspec and more name issue
31
+ ce5bef6bfc675042e852ca3a0b8008841abe3f3e ce5bef6bfc675042e852ca3a0b8008841abe3f3e Lin Jen-Shin <godfat@godfat.org> 1245567083 +0800 Branch: renamed refs/heads/dm-is-reflexible to refs/heads/master
32
+ ce5bef6bfc675042e852ca3a0b8008841abe3f3e 98f83544a720cc88a3cd88618520affaee2fb5b0 Lin Jen-Shin <godfat@godfat.org> 1245568280 +0800 commit: be consistent with dm-core
33
+ 98f83544a720cc88a3cd88618520affaee2fb5b0 225dc844c34320d836a5f7fe1df6408c6a6b66fe Lin Jen-Shin <godfat@godfat.org> 1245569199 +0800 commit: sorry but, dm-is-reflexible makes more sense?
34
+ 225dc844c34320d836a5f7fe1df6408c6a6b66fe e17d93b9d2210f1e4d8f52f2a712a17bc0eba943 Lin Jen-Shin <godfat@godfat.org> 1245571013 +0800 commit: remove comments
35
+ e17d93b9d2210f1e4d8f52f2a712a17bc0eba943 2f02042049b42419e09cbad69e0e1f113802319d Lin Jen-Shin <godfat@godfat.org> 1245593847 +0800 commit: no more Extlib::Hook, use abstract adapter to load curr adapter. more:
36
+ 82364c60113da13168b96e79db1a298b0f8bec6d ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 Lin Jen-Shin <godfat@godfat.org> 1245595431 +0800 commit: renamed all mapping to reflect
37
+ ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 3f756c209343909918f9a48c1e2298d9f49b4fd8 Lin Jen-Shin <godfat@godfat.org> 1245600781 +0800 commit: rearrange source code layout. try to update github HEAD
38
+ 3f756c209343909918f9a48c1e2298d9f49b4fd8 534b609e76ad0a3e36c9c38b632ae921e12f1b78 Lin Jen-Shin <godfat@godfat.org> 1248016707 +0800 commit: [sqlite3_adapter.rb] added type mapping for sqlite3
39
+ 534b609e76ad0a3e36c9c38b632ae921e12f1b78 9403c8d2a0050f25a50b94a6514086c256dea074 Lin Jen-Shin <godfat@godfat.org> 1252463489 +0800 commit: use Text.length instead of Text.size which is nil.. fixed for 0.10RC2
40
+ 9403c8d2a0050f25a50b94a6514086c256dea074 5c91380a1616b7c2d23e14eeb49d9edde58e1f47 Lin Jen-Shin <godfat@godfat.org> 1253105423 +0800 commit: [CHANGES] adapted to dm-core 0.10.0. first rubyforge gem release.
File without changes
@@ -0,0 +1 @@
1
+ 0000000000000000000000000000000000000000 b263e1adc9f508780ee8f0e69154266e04ae5ee5 godfat <godfat@220-135-28-18.HINET-IP.hinet.net> 1245566936 +0800 update by push
@@ -0,0 +1,6 @@
1
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 ce5bef6bfc675042e852ca3a0b8008841abe3f3e godfat <godfat@220-135-28-18.HINET-IP.hinet.net> 1245566971 +0800 update by push
2
+ ce5bef6bfc675042e852ca3a0b8008841abe3f3e 225dc844c34320d836a5f7fe1df6408c6a6b66fe Lin Jen-Shin <godfat@godfat.org> 1245569275 +0800 update by push
3
+ 225dc844c34320d836a5f7fe1df6408c6a6b66fe ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 Lin Jen-Shin <godfat@godfat.org> 1245599237 +0800 update by push
4
+ ab10cdb7f3b3f16e877efe1f312ef62c1359b0d1 3f756c209343909918f9a48c1e2298d9f49b4fd8 Lin Jen-Shin <godfat@godfat.org> 1245600802 +0800 update by push
5
+ 3f756c209343909918f9a48c1e2298d9f49b4fd8 534b609e76ad0a3e36c9c38b632ae921e12f1b78 Lin Jen-Shin <godfat@godfat.org> 1248016733 +0800 update by push
6
+ 534b609e76ad0a3e36c9c38b632ae921e12f1b78 9403c8d2a0050f25a50b94a6514086c256dea074 Lin Jen-Shin <godfat@godfat.org> 1252463560 +0800 update by push
File without changes
@@ -0,0 +1,2 @@
1
+ x���J1F]�)�t����("���.��Mr3�LJ�.|{}W��'�e�;����� �:�B(i�d���)�Ϙ���|�,.�x� ��7�h�(Kc0�4�]R�e&��[?���
2
+ o�m�� ��? �M� ���Qv�E�-�����|z}�xy>~e�t��+�e�jc�A���];�[�.[�� 4>3]y?NV�
@@ -0,0 +1,2 @@
1
+ xe��
2
+ �0]�+�^R�l܉;� Mnc�&���oK������jp#yx�����g���:'���⠌7�=���:R���)VRW��h�i��jₔ5}ö+`�{Lp�D�N!����>M.� \hə#�#�Z�֘l�1��,X��m�>�
@@ -0,0 +1,5 @@
1
+ xe��
2
+ �0E]�+f/)������N��i3��H
3
+ ��-]��.�S��ꐆ��Q���ۡ����&jm5YKMO�ꎕ�`L�
4
+ +��N<�<�{���U_����"�(��s��O֙r٧Jٟe�P4Z"E/c�L���a����
5
+ �P�C���~mN>�
@@ -0,0 +1,5 @@
1
+ xe�A
2
+ � ��_ c�PJ���]O`�k-�#�޾ Yv��T�kq�� mi5���~l�Z��C;�4:�R!��@���`�4�J��p�3-�߫&.HY��] �c�&�x�p
3
+ �yS/�4��3�V
4
+ �d��b��kASc
5
+ ��}.X��1'�K?m�>�
@@ -0,0 +1,2 @@
1
+ P pack-c9156ef3406b98f5f12875b13643df7a5f41e42c.pack
2
+
data/.gita/packed-refs ADDED
@@ -0,0 +1,27 @@
1
+ # pack-refs with: peeled
2
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 refs/heads/dm-mapping
3
+ 9403c8d2a0050f25a50b94a6514086c256dea074 refs/heads/master
4
+ b2f24de5d89d74df621e11819f19ab8ba83c6478 refs/heads/return-symbol
5
+ b263e1adc9f508780ee8f0e69154266e04ae5ee5 refs/remotes/origin/dm-mapping
6
+ 9403c8d2a0050f25a50b94a6514086c256dea074 refs/remotes/origin/master
7
+ b2f24de5d89d74df621e11819f19ab8ba83c6478 refs/remotes/origin/return-symbol
8
+ 3cefb8e4f04b668c083312726625bc032987e998 refs/tags/dm-mapping-0.2.0
9
+ ^44c19de49ff25aa2a78dfe7e631a1cfc472c95d9
10
+ ee4ff6e640a41d0825935173380bc7579d19a1f7 refs/tags/dm-mapping-0.2.1
11
+ ^f51cd1ce442e5f77d6a36abfdd27b63bdac7bc2a
12
+ 4d421dc119b93722252e1cc275746da9d1b7c219 refs/tags/dm-mapping-0.3.0
13
+ ^c87eb23ab102203f336244381554ba01e25c2bf6
14
+ 1a44b98f3ee856158b79833ba75794bd27ab2154 refs/tags/dm-mapping-0.4.0
15
+ ^3db298d98c55c2a73d355dae47f446c0c9da37ba
16
+ 85d4af8ac14e16c48dfa5193e348b0231d20888f refs/tags/dm-mapping-0.4.1
17
+ ^c61ac215503302c51555c3fba87941d84b4da01b
18
+ aa0f320dc9fe46cb8a56429c01bfea2272df1fe2 refs/tags/dm-mapping-0.5.0
19
+ ^77bda6472cd95d1d3ca2c242cde290614aac2089
20
+ 6f345cbc6b64d03c4f99074b0388a1ad8a0ea148 refs/tags/dm-mapping-0.6.0
21
+ ^7c0c7f1cb3f26791d5fea369d4ef4dff87945a21
22
+ bb626b7e0e84544a8309a24fa4f99ba520001f2b refs/tags/dm-mapping-0.6.1
23
+ ^a1156b3678d8018c73e9e5132842cdf486102596
24
+ ee8d11361831fec5acf62c9f7db78e9d3262974d refs/tags/dm-mapping-0.6.2
25
+ ^00c25ab33d925777b982b2e467feefbd8fcc6799
26
+ fb4d3bc4aed297846605bb2fae1df713cd7a417f refs/tags/dm-mapping-0.7.0
27
+ ^bb8b0732858c8910258956c5c302971fcb90f14a
@@ -0,0 +1 @@
1
+ 5c91380a1616b7c2d23e14eeb49d9edde58e1f47
@@ -0,0 +1 @@
1
+ b29571a21e3bccb60079dfca630dac981f623489
data/CHANGES ADDED
@@ -0,0 +1,189 @@
1
+ = dm-mapper changes history
2
+
3
+ === dm-is-reflective 0.8.0, 2009-09-16
4
+ * require dm-core 0.10.0 and above now
5
+ * Serial would map to Serial not Integer now
6
+ * no more type_map now
7
+ * no more Extlib::Hook to load adapter
8
+
9
+ === dm-mapping 0.7.1, never released as a gem
10
+ don't open module Migration and edit it, instead, use include, more see:
11
+ * added DataMapper::Mapping::AbstractAdapter
12
+ * added DataMapper::Mapping::Sqlite3Adapter
13
+ * added DataMapper::Mapping::MysqlAdapter
14
+ * added DataMapper::Mapping::PostgresAdapter
15
+ * each adapter was included in related adapter in DataMapper.
16
+ * Model#fields now accept repository name as argument
17
+
18
+ there's differences between adapters,
19
+ Sqlite3 added default => 'UL' in Boolean type,
20
+ Mysql can't tell whether it's a Boolean or Tinyint,
21
+ and Postgres is fine. see test/abstract.rb: super_user_fields for detail.
22
+
23
+ === dm-mapping 0.7.0, 2008-09-01
24
+ * feature added
25
+ - added postgres support.
26
+ * bug fixed
27
+ - fixed key mapping in mysql adapter. PRI and MUL are all keys.
28
+ - use DM::Text.size as default text size in sqlite3.
29
+
30
+ === dm-mapping 0.6.2, 2008-08-30
31
+ * mapping more data types for mysql.
32
+ * don't map TINYINT to TrueClass with mysql, skip it in type_map.
33
+
34
+ === dm-mapping 0.6.1, 2008-08-22
35
+ * gem 'dm-core', '>=0.9.3' instead of '=0.9.3'
36
+
37
+ === dm-mapping 0.6.0, 2008-08-16
38
+ * mapping returns an array of properties indicating fields it mapped.
39
+ * performance boosted by refactored mapping implementation.
40
+ * changed the way using auto_genclass!, now accepts args like mapping!
41
+ * changed fields to return field name with Symbol instead of String.
42
+ this would make it be more consistent with DataMapper.
43
+ * storage names remain String.
44
+ * added more mysql data type to map
45
+ * use Extlib::Hook to setup dm-mapping instead of stupid alias_method.
46
+ * removed ensure_require in model. always setup DataMapper before define model.
47
+
48
+ === dm-mapping 0.5.0, 2008-08-14
49
+ * feature added
50
+ - added mysql support.
51
+ - reflect size 65535 in TEXT for sqlite3.
52
+ * bug fixed
53
+ - reflect VARCHAR(size) instead of default size in sqlite3.
54
+ * misc
55
+ - renamed sqlite3adapter to sqlite3_adapter.
56
+
57
+ === dm-mapping 0.4.1, 2008-08-14
58
+ * removed type hack, replaced with rejecting special type to lookup.
59
+
60
+ === dm-mapping 0.4.0, 2008-08-04
61
+ * added Migration#auto_genclass!.
62
+ * updated README.
63
+ * added more rdoc.
64
+
65
+ === dm-mapping 0.3.0, 2008-08-04
66
+ * added support of mapping Integer, DateTime, etc.
67
+ * renamed some internals.
68
+ * changed the way requiring adapter. no more setup first.
69
+ * added Migration#storages_and_fields
70
+ * added mapping :serial => true for primary key.
71
+ * added mapping :default, and :nullable.
72
+ * added support of mapping name. (through passing symbol or string)
73
+ * added support of multiple arguments.
74
+ * removed Mapping::All, use /.*/ instead.
75
+
76
+ === dm-mapping 0.2.1, 2008-08-03
77
+ * fixed a bug that type map should lookup for parent.
78
+ * fixed a bug that sql type could be lower case.
79
+ fixed by calling upcase.
80
+
81
+ === dm-mapping 0.2.0, 2008-08-02
82
+ * added Sqlite3Adapter::Migration#fields
83
+ * added DataMapper::Model#mapping
84
+ * added DataMapper::Model#fields
85
+ * added DataMapper::TypeMap#find_primitive for reversed lookup.
86
+ mapping SQL type back to Ruby type.
87
+ * added corresponded test.
88
+
89
+ === dm-mapping 0.1.0, 2008-07-27
90
+ * birthday!
91
+ * added DataMapper.repository.storages for sqlite3.
92
+ * please refer:
93
+ http://groups.google.com/group/datamapper/browse_thread/thread/b9ca41120c5c9389
94
+
95
+ original message:
96
+
97
+ from Lin Jen-Shin
98
+ to DataMapper
99
+ cc godfat
100
+ date Sun, Jul 27, 2008 at 5:40 PM
101
+ subject Manipulate an existing database.
102
+ mailed-by gmail.com
103
+
104
+ Greetings,
105
+
106
+ DataMapper looks very promising for me, so I am thinking of
107
+ using it in the near future. I hate separate my domain objects into
108
+ two parts in Rails, writing migration and switching to ActiveRecord,
109
+ vice versa, is very annoying to me.
110
+
111
+ But there's a very convenient feature to me in ActiveRecord,
112
+ that is ActiveRecord automatically mapping all fields in a table.
113
+ It makes me easily control an existing database without any domain object.
114
+
115
+ For example,
116
+
117
+ require 'active_record'
118
+
119
+ ActiveRecord::Base.establish_connection(
120
+ :adapter => 'sqlite3',
121
+ :database => 'db/development.sqlite3'
122
+ )
123
+
124
+ clsas User < ActiveRecord::Base
125
+ end
126
+
127
+ User.find 1
128
+ => #<User id: 1, account: "admin", created_at: "2008-05-18 20:08:37", etc.>
129
+
130
+ Some people would use database admin such as phpMyAdmin to
131
+ accomplish this kind of task, but I prefer anything in Ruby,
132
+ calling Ruby function, manipulating data without SQL and
133
+ any domain object. (i.e. I didn't have to load up entire environment.)
134
+
135
+ In DataMapper, I didn't find an easy way to accomplish this.
136
+ I am sorry if there's one but I didn't find it, please point out,
137
+ many thanks. In short, I would like to do this in DataMapper:
138
+
139
+ class User
140
+ include DataMapper::Resource
141
+ mapping :account, :created_at
142
+ end
143
+
144
+ or
145
+
146
+ class User
147
+ include DataMapper::Resource
148
+ mapping All
149
+ end
150
+
151
+ class User
152
+ include DataMapper::ResourceAll
153
+ end
154
+
155
+ or
156
+
157
+ class User
158
+ include DataMapper::Resource
159
+ mapping *storage_fields
160
+ end
161
+
162
+ The above User.storage_fields should return an Array,
163
+ telling all the fields in the table, e.g. [:account, :created_at, :etc]
164
+ or a Hash includes data type, e.g. {:account => String,
165
+ :created_at => DateTime}
166
+ then mapping *storage_fields should change to:
167
+
168
+ mapping *storage_fields.each_key.to_a
169
+
170
+ If it's possible, a feature returning the database schema as well:
171
+
172
+ DataMapper.repository.storages
173
+ # => [:users, :posts, :etc]
174
+
175
+ DataMapper.repository.storages_and_fields
176
+ # => {:users => {:account => String},
177
+ :posts => {:title => String, :content => Text}}
178
+
179
+ or returning DataObject::Field, DataObject::Storage, etc.
180
+
181
+ DataMapper.repository.storage
182
+ # => [#<DataObject::Storage @name='users' @fields=
183
+ [#<DataObject::Field @name='account' @type=String>]>]
184
+
185
+ If you feel this kind of feature is indeed needed or not bad for
186
+ adding it, I could try to provide a patch for it. Though I didn't
187
+ read the source code deeply, not knowning it's easy or not.
188
+
189
+ sincerely,
data/LICENSE ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.