sproutcore 0.9.23 → 1.0.1003

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1668) hide show
  1. data/Buildfile +125 -0
  2. data/History.txt +5 -569
  3. data/README.txt +99 -64
  4. data/Rakefile +236 -6
  5. data/Todo.txt +1 -0
  6. data/VERSION.yml +5 -0
  7. data/bin/sc-build +9 -210
  8. data/bin/sc-build-number +13 -0
  9. data/bin/sc-docs +14 -0
  10. data/bin/sc-gen +9 -23
  11. data/bin/sc-init +9 -34
  12. data/bin/sc-manifest +13 -0
  13. data/bin/sc-server +9 -82
  14. data/bin/sproutcore +10 -24
  15. data/buildtasks/build.rake +82 -0
  16. data/buildtasks/entry.rake +62 -0
  17. data/buildtasks/manifest.rake +565 -0
  18. data/buildtasks/render.rake +21 -0
  19. data/buildtasks/target.rake +61 -0
  20. data/design/Technical Notes.graffle/QuickLook/Preview.pdf +0 -0
  21. data/design/Technical Notes.graffle/QuickLook/Thumbnail.tiff +0 -0
  22. data/design/Technical Notes.graffle/data.plist +5534 -0
  23. data/design/Technical Notes.graffle/image8.png +0 -0
  24. data/doc_templates/jsdoc/publish.js +170 -0
  25. data/doc_templates/jsdoc/static/default.css +162 -0
  26. data/{jsdoc/templates/sproutcore → doc_templates/jsdoc}/static/header.html +0 -0
  27. data/doc_templates/jsdoc/static/index.html +19 -0
  28. data/doc_templates/sproutcore/publish.js +345 -0
  29. data/doc_templates/sproutcore/static/default.css +258 -0
  30. data/doc_templates/sproutcore/static/header.html +2 -0
  31. data/doc_templates/sproutcore/static/index.html +19 -0
  32. data/frameworks/sproutcore/Buildfile +88 -0
  33. data/frameworks/sproutcore/HISTORY +10 -10
  34. data/frameworks/sproutcore/README +8 -1
  35. data/frameworks/sproutcore/apps/docs/core.js +27 -0
  36. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Preview.pdf +0 -0
  37. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Thumbnail.tiff +0 -0
  38. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/data.plist +14378 -0
  39. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image10.png +0 -0
  40. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image11.png +0 -0
  41. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image13.png +0 -0
  42. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image14.png +0 -0
  43. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image8.png +0 -0
  44. data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image9.tiff +0 -0
  45. data/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +9 -0
  46. data/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +22 -0
  47. data/frameworks/sproutcore/apps/docs/english.lproj/strings.js +15 -0
  48. data/frameworks/sproutcore/apps/docs/main.js +30 -0
  49. data/frameworks/sproutcore/apps/tests/controllers/detail.js +25 -0
  50. data/frameworks/sproutcore/apps/tests/controllers/source.js +29 -0
  51. data/frameworks/sproutcore/apps/tests/controllers/target.js +26 -0
  52. data/frameworks/sproutcore/apps/tests/controllers/targets.js +86 -0
  53. data/frameworks/sproutcore/apps/tests/controllers/tests.js +33 -0
  54. data/frameworks/sproutcore/apps/tests/core.js +133 -0
  55. data/frameworks/sproutcore/apps/tests/english.lproj/loading.rhtml +9 -0
  56. data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +39 -0
  57. data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +232 -0
  58. data/frameworks/sproutcore/apps/tests/english.lproj/strings.js +26 -0
  59. data/frameworks/sproutcore/apps/tests/main.js +28 -0
  60. data/frameworks/sproutcore/apps/tests/states/no_targets.js +26 -0
  61. data/frameworks/sproutcore/apps/tests/states/ready.js +56 -0
  62. data/frameworks/sproutcore/apps/tests/states/ready_detail.js +41 -0
  63. data/frameworks/sproutcore/apps/tests/states/ready_empty.js +48 -0
  64. data/frameworks/sproutcore/apps/tests/states/ready_list.js +41 -0
  65. data/frameworks/sproutcore/apps/tests/states/ready_loading.js +44 -0
  66. data/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +31 -0
  67. data/frameworks/sproutcore/apps/tests/states/start.js +39 -0
  68. data/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +15 -0
  69. data/frameworks/sproutcore/apps/tests/tests/controllers/source.js +15 -0
  70. data/frameworks/sproutcore/apps/tests/tests/controllers/target.js +15 -0
  71. data/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +15 -0
  72. data/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +15 -0
  73. data/frameworks/sproutcore/apps/tests/tests/models/target.js +15 -0
  74. data/frameworks/sproutcore/apps/tests/tests/models/test.js +15 -0
  75. data/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +15 -0
  76. data/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +26 -0
  77. data/frameworks/sproutcore/apps/welcome/controllers/targets.js +49 -0
  78. data/frameworks/sproutcore/apps/welcome/core.js +30 -0
  79. data/frameworks/sproutcore/apps/welcome/english.lproj/loading.rhtml +10 -0
  80. data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +7 -0
  81. data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +77 -0
  82. data/frameworks/sproutcore/apps/welcome/english.lproj/strings.js +15 -0
  83. data/frameworks/sproutcore/apps/welcome/main.js +19 -0
  84. data/frameworks/sproutcore/apps/welcome/tests/controllers/targets.js +15 -0
  85. data/frameworks/sproutcore/design/CollectionView State Charts.graffle +4848 -0
  86. data/frameworks/sproutcore/design/Design Charts.graffle +18232 -0
  87. data/frameworks/sproutcore/design/Record State Table.numbers +0 -0
  88. data/frameworks/sproutcore/design/SproutCore Datastore Design.graffle/QuickLook/Preview.pdf +0 -0
  89. data/frameworks/sproutcore/design/SproutCore Datastore Design.graffle/QuickLook/Thumbnail.tiff +0 -0
  90. data/frameworks/sproutcore/design/SproutCore Datastore Design.graffle/data.plist +19588 -0
  91. data/frameworks/sproutcore/design/SproutCore Datastore Design.graffle/image8.png +0 -0
  92. data/frameworks/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Preview.pdf +0 -0
  93. data/frameworks/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Thumbnail.tiff +0 -0
  94. data/frameworks/sproutcore/design/SproutCore Design Template.graffle/data.plist +1452 -0
  95. data/frameworks/sproutcore/design/SproutCore Design Template.graffle/image8.png +0 -0
  96. data/frameworks/sproutcore/design/TestRunner Design.graffle/QuickLook/Preview.pdf +0 -0
  97. data/frameworks/sproutcore/design/TestRunner Design.graffle/QuickLook/Thumbnail.tiff +0 -0
  98. data/frameworks/sproutcore/design/TestRunner Design.graffle/data.plist +24187 -0
  99. data/frameworks/sproutcore/design/TestRunner Design.graffle/image10.png +0 -0
  100. data/frameworks/sproutcore/design/TestRunner Design.graffle/image11.png +0 -0
  101. data/frameworks/sproutcore/design/TestRunner Design.graffle/image13.png +0 -0
  102. data/frameworks/sproutcore/design/TestRunner Design.graffle/image15.png +0 -0
  103. data/frameworks/sproutcore/design/TestRunner Design.graffle/image16.png +0 -0
  104. data/frameworks/sproutcore/design/TestRunner Design.graffle/image17.png +0 -0
  105. data/frameworks/sproutcore/design/TestRunner Design.graffle/image18.png +0 -0
  106. data/frameworks/sproutcore/design/TestRunner Design.graffle/image19.png +0 -0
  107. data/frameworks/sproutcore/design/TestRunner Design.graffle/image22.tiff +0 -0
  108. data/frameworks/sproutcore/design/TestRunner Design.graffle/image23.png +0 -0
  109. data/frameworks/sproutcore/design/TestRunner Design.graffle/image24.png +0 -0
  110. data/frameworks/sproutcore/design/TestRunner Design.graffle/image25.png +0 -0
  111. data/frameworks/sproutcore/design/TestRunner Design.graffle/image30.png +0 -0
  112. data/frameworks/sproutcore/design/TestRunner Design.graffle/image31.png +0 -0
  113. data/frameworks/sproutcore/design/TestRunner Design.graffle/image8.png +0 -0
  114. data/frameworks/sproutcore/design/TestRunner Design.graffle/image9.png +0 -0
  115. data/frameworks/sproutcore/frameworks/core_tools/core.js +20 -0
  116. data/frameworks/sproutcore/frameworks/core_tools/data_source.js +99 -0
  117. data/frameworks/sproutcore/frameworks/core_tools/english.lproj/strings.js +15 -0
  118. data/frameworks/sproutcore/frameworks/core_tools/fixtures/target.js +87 -0
  119. data/frameworks/sproutcore/frameworks/core_tools/fixtures/test.js +44 -0
  120. data/frameworks/sproutcore/frameworks/core_tools/models/target.js +108 -0
  121. data/frameworks/sproutcore/frameworks/core_tools/models/test.js +48 -0
  122. data/frameworks/sproutcore/frameworks/datastore/core.js +8 -0
  123. data/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +180 -0
  124. data/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +340 -0
  125. data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +393 -0
  126. data/frameworks/sproutcore/frameworks/datastore/debug/json.js +71 -0
  127. data/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +96 -0
  128. data/frameworks/sproutcore/frameworks/datastore/fixtures/author_fixtures.js +2503 -0
  129. data/frameworks/sproutcore/frameworks/datastore/fixtures/sample.js +17 -0
  130. data/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +100 -0
  131. data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +152 -0
  132. data/frameworks/sproutcore/frameworks/datastore/models/record.js +898 -0
  133. data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +462 -0
  134. data/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +158 -0
  135. data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +411 -0
  136. data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +499 -0
  137. data/frameworks/sproutcore/frameworks/datastore/system/query.js +1488 -0
  138. data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +568 -0
  139. data/frameworks/sproutcore/frameworks/datastore/system/store.js +2407 -0
  140. data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +117 -0
  141. data/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +131 -0
  142. data/frameworks/sproutcore/frameworks/datastore/tests/integration/cyclical_relationship.js +119 -0
  143. data/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +91 -0
  144. data/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +56 -0
  145. data/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +384 -0
  146. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +55 -0
  147. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +81 -0
  148. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +245 -0
  149. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +53 -0
  150. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +48 -0
  151. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +169 -0
  152. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +51 -0
  153. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +97 -0
  154. data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +178 -0
  155. data/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +216 -0
  156. data/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +204 -0
  157. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +149 -0
  158. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +171 -0
  159. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +154 -0
  160. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +113 -0
  161. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +99 -0
  162. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +180 -0
  163. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +126 -0
  164. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +163 -0
  165. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +166 -0
  166. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +219 -0
  167. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +131 -0
  168. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/contains.js +131 -0
  169. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/containsRecordTypes.js +81 -0
  170. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/copy.js +30 -0
  171. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +185 -0
  172. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +92 -0
  173. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/expandedRecordTypes.js +64 -0
  174. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +202 -0
  175. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/queryWithScope.js +57 -0
  176. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +43 -0
  177. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +66 -0
  178. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +67 -0
  179. data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +177 -0
  180. data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +134 -0
  181. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +54 -0
  182. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +133 -0
  183. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +211 -0
  184. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +136 -0
  185. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +72 -0
  186. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +78 -0
  187. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +254 -0
  188. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +106 -0
  189. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +530 -0
  190. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +21 -0
  191. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +61 -0
  192. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +74 -0
  193. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +74 -0
  194. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +73 -0
  195. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +144 -0
  196. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +184 -0
  197. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +125 -0
  198. data/frameworks/sproutcore/frameworks/datejs/core.js +865 -0
  199. data/frameworks/sproutcore/frameworks/datejs/english.lproj/en-US.js +186 -0
  200. data/frameworks/sproutcore/frameworks/datejs/extras.js +332 -0
  201. data/frameworks/sproutcore/frameworks/datejs/license.js +25 -0
  202. data/frameworks/sproutcore/frameworks/datejs/parser.js +1116 -0
  203. data/frameworks/sproutcore/frameworks/datejs/spanish.lproj/es-CO.js +186 -0
  204. data/frameworks/sproutcore/frameworks/datejs/sugarpak.js +475 -0
  205. data/frameworks/sproutcore/frameworks/datejs/time.js +269 -0
  206. data/frameworks/sproutcore/frameworks/datejs/validators/datejs.js +34 -0
  207. data/frameworks/sproutcore/frameworks/debug/core.js +99 -0
  208. data/frameworks/sproutcore/frameworks/designer/coders/design.js +29 -0
  209. data/frameworks/sproutcore/frameworks/designer/coders/localization.js +27 -0
  210. data/frameworks/sproutcore/frameworks/designer/coders/object.js +347 -0
  211. data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +102 -0
  212. data/frameworks/sproutcore/frameworks/designer/css/css_rule.js +22 -0
  213. data/frameworks/sproutcore/frameworks/designer/css/css_style.js +29 -0
  214. data/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +201 -0
  215. data/frameworks/sproutcore/frameworks/designer/ext/page.js +86 -0
  216. data/frameworks/sproutcore/frameworks/designer/ext/view.js +38 -0
  217. data/frameworks/sproutcore/frameworks/designer/views/controls/button.js +17 -0
  218. data/frameworks/sproutcore/frameworks/designer/views/designer.js +569 -0
  219. data/frameworks/sproutcore/frameworks/designer/views/label.js +16 -0
  220. data/frameworks/sproutcore/frameworks/designer/views/mixins/button.js +11 -0
  221. data/frameworks/sproutcore/frameworks/designer/views/tab.js +16 -0
  222. data/frameworks/sproutcore/frameworks/desktop/core.js +6 -0
  223. data/frameworks/sproutcore/frameworks/desktop/debug/drag.js +41 -0
  224. data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +56 -0
  225. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/a_sample_image.jpg +0 -0
  226. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/apple-logo1.jpeg +0 -0
  227. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/iframe.html +23 -0
  228. data/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +78 -0
  229. data/frameworks/sproutcore/frameworks/desktop/english.lproj/drag.css +6 -0
  230. data/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +943 -0
  231. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_222222.png +0 -0
  232. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_454545.png +0 -0
  233. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_888888.png +0 -0
  234. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_ffffff.png +0 -0
  235. data/frameworks/sproutcore/{english.lproj/images/shared-icons.png → frameworks/desktop/english.lproj/images/icons/shared.png} +0 -0
  236. data/{clients/sc_test_runner → frameworks/sproutcore/frameworks/desktop}/english.lproj/images/indicator.gif +0 -0
  237. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-x.png +0 -0
  238. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-y.png +0 -0
  239. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sc-theme-sprite.png +0 -0
  240. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/000000.png +0 -0
  241. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/ffffff.png +0 -0
  242. data/frameworks/sproutcore/{english.lproj → frameworks/desktop/english.lproj}/images/sticky-note.png +0 -0
  243. data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +209 -0
  244. data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +113 -0
  245. data/frameworks/sproutcore/frameworks/desktop/english.lproj/modal.css +5 -0
  246. data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +95 -0
  247. data/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +39 -0
  248. data/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +31 -0
  249. data/frameworks/sproutcore/frameworks/desktop/english.lproj/radio.css +10 -0
  250. data/frameworks/sproutcore/frameworks/desktop/english.lproj/scroller.css +26 -0
  251. data/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +141 -0
  252. data/frameworks/sproutcore/frameworks/desktop/english.lproj/separator.css +19 -0
  253. data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +62 -0
  254. data/frameworks/sproutcore/frameworks/desktop/english.lproj/split.css +70 -0
  255. data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +9 -0
  256. data/frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js +14 -0
  257. data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +12 -0
  258. data/frameworks/sproutcore/frameworks/desktop/english.lproj/toolbar.css +6 -0
  259. data/frameworks/sproutcore/frameworks/desktop/mixins/border.js +53 -0
  260. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +22 -0
  261. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +61 -0
  262. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +292 -0
  263. data/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +247 -0
  264. data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +408 -0
  265. data/frameworks/sproutcore/frameworks/desktop/panes/drop_down.js +665 -0
  266. data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +680 -0
  267. data/frameworks/sproutcore/frameworks/desktop/panes/modal.js +68 -0
  268. data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +63 -0
  269. data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +184 -0
  270. data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +403 -0
  271. data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +46 -0
  272. data/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +39 -0
  273. data/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +81 -0
  274. data/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +175 -0
  275. data/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +290 -0
  276. data/frameworks/sproutcore/frameworks/desktop/system/drag.js +869 -0
  277. data/frameworks/sproutcore/frameworks/desktop/system/key_bindings.js +40 -0
  278. data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +647 -0
  279. data/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +187 -0
  280. data/frameworks/sproutcore/frameworks/desktop/tests/datetime_recordattribute.js +73 -0
  281. data/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +43 -0
  282. data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +10 -0
  283. data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +152 -0
  284. data/frameworks/sproutcore/frameworks/desktop/tests/panes/dropDown/methods.js +161 -0
  285. data/frameworks/sproutcore/frameworks/desktop/tests/panes/dropDown/ui.js +199 -0
  286. data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +55 -0
  287. data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +59 -0
  288. data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +10 -0
  289. data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +35 -0
  290. data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +10 -0
  291. data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +40 -0
  292. data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +10 -0
  293. data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +84 -0
  294. data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +10 -0
  295. data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +38 -0
  296. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +45 -0
  297. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +163 -0
  298. data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +144 -0
  299. data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +99 -0
  300. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +249 -0
  301. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +82 -0
  302. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +199 -0
  303. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/displayProperties.js +31 -0
  304. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +288 -0
  305. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +65 -0
  306. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +88 -0
  307. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +174 -0
  308. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +121 -0
  309. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +177 -0
  310. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +240 -0
  311. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +191 -0
  312. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +197 -0
  313. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +141 -0
  314. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +182 -0
  315. data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +10 -0
  316. data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +64 -0
  317. data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +10 -0
  318. data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +10 -0
  319. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +92 -0
  320. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +183 -0
  321. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +133 -0
  322. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +131 -0
  323. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +56 -0
  324. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +167 -0
  325. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +127 -0
  326. data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +284 -0
  327. data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +10 -0
  328. data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +44 -0
  329. data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +128 -0
  330. data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +240 -0
  331. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +113 -0
  332. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +200 -0
  333. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +142 -0
  334. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +169 -0
  335. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +72 -0
  336. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/ui.js +71 -0
  337. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +95 -0
  338. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +222 -0
  339. data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +132 -0
  340. data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +110 -0
  341. data/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +37 -0
  342. data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +10 -0
  343. data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +10 -0
  344. data/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +60 -0
  345. data/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +52 -0
  346. data/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +231 -0
  347. data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +54 -0
  348. data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +88 -0
  349. data/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +10 -0
  350. data/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +110 -0
  351. data/frameworks/sproutcore/frameworks/desktop/views/button.js +375 -0
  352. data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +126 -0
  353. data/frameworks/sproutcore/frameworks/desktop/views/collection.js +2775 -0
  354. data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +60 -0
  355. data/frameworks/sproutcore/frameworks/desktop/views/form.js +594 -0
  356. data/frameworks/sproutcore/frameworks/desktop/views/grid.js +201 -0
  357. data/frameworks/sproutcore/frameworks/desktop/views/list.js +549 -0
  358. data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +657 -0
  359. data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +608 -0
  360. data/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +20 -0
  361. data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +68 -0
  362. data/frameworks/sproutcore/frameworks/desktop/views/progress.js +233 -0
  363. data/frameworks/sproutcore/frameworks/desktop/views/radio.js +357 -0
  364. data/frameworks/sproutcore/frameworks/desktop/views/scene.js +204 -0
  365. data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +689 -0
  366. data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +227 -0
  367. data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +587 -0
  368. data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +311 -0
  369. data/frameworks/sproutcore/frameworks/desktop/views/separator.js +37 -0
  370. data/frameworks/sproutcore/frameworks/desktop/views/slider.js +261 -0
  371. data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +47 -0
  372. data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +169 -0
  373. data/frameworks/sproutcore/frameworks/desktop/views/split.js +684 -0
  374. data/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +55 -0
  375. data/frameworks/sproutcore/frameworks/desktop/views/stacked.js +101 -0
  376. data/frameworks/sproutcore/frameworks/desktop/views/tab.js +191 -0
  377. data/frameworks/sproutcore/frameworks/desktop/views/thumb.js +49 -0
  378. data/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +49 -0
  379. data/frameworks/sproutcore/frameworks/desktop/views/web.js +87 -0
  380. data/frameworks/sproutcore/frameworks/foundation/TESTING +46 -0
  381. data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +504 -0
  382. data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +44 -0
  383. data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +322 -0
  384. data/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +105 -0
  385. data/frameworks/sproutcore/frameworks/foundation/core.js +144 -0
  386. data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +194 -0
  387. data/frameworks/sproutcore/{english.lproj → frameworks/foundation/english.lproj}/blank.gif +0 -0
  388. data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +81 -0
  389. data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +33 -0
  390. data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +438 -0
  391. data/frameworks/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +9 -0
  392. data/frameworks/sproutcore/{english.lproj → frameworks/foundation/english.lproj}/images/sproutcore-logo.png +0 -0
  393. data/{clients/sc_test_runner/english.lproj/controls.css → frameworks/sproutcore/frameworks/foundation/english.lproj/inline_editor.css} +0 -0
  394. data/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +31 -0
  395. data/frameworks/sproutcore/frameworks/foundation/english.lproj/static_layout.css +5 -0
  396. data/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +15 -0
  397. data/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +133 -0
  398. data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +51 -0
  399. data/frameworks/sproutcore/frameworks/foundation/ext/object.js +83 -0
  400. data/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +161 -0
  401. data/frameworks/sproutcore/frameworks/foundation/fixtures/file_exists.json +1 -0
  402. data/frameworks/sproutcore/frameworks/foundation/license.js +19 -0
  403. data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +355 -0
  404. data/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +179 -0
  405. data/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +91 -0
  406. data/frameworks/sproutcore/frameworks/foundation/mixins/control.js +386 -0
  407. data/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +150 -0
  408. data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +491 -0
  409. data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +233 -0
  410. data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +148 -0
  411. data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +334 -0
  412. data/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +160 -0
  413. data/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +189 -0
  414. data/frameworks/sproutcore/frameworks/foundation/panes/main.js +51 -0
  415. data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +661 -0
  416. data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +887 -0
  417. data/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +84 -0
  418. data/frameworks/sproutcore/frameworks/foundation/system/application.js +36 -0
  419. data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +502 -0
  420. data/frameworks/sproutcore/frameworks/foundation/system/browser.js +64 -0
  421. data/frameworks/sproutcore/frameworks/foundation/system/builder.js +210 -0
  422. data/frameworks/sproutcore/frameworks/foundation/system/bundle.js +267 -0
  423. data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +2028 -0
  424. data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +129 -0
  425. data/frameworks/sproutcore/frameworks/foundation/system/datetime.js +915 -0
  426. data/frameworks/sproutcore/frameworks/foundation/system/event.js +849 -0
  427. data/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +432 -0
  428. data/frameworks/sproutcore/frameworks/foundation/system/json.js +440 -0
  429. data/frameworks/sproutcore/frameworks/foundation/system/locale.js +288 -0
  430. data/frameworks/sproutcore/frameworks/foundation/system/page.js +106 -0
  431. data/frameworks/sproutcore/frameworks/foundation/system/ready.js +195 -0
  432. data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +905 -0
  433. data/frameworks/sproutcore/frameworks/foundation/system/request.js +386 -0
  434. data/frameworks/sproutcore/frameworks/foundation/system/responder.js +120 -0
  435. data/frameworks/sproutcore/frameworks/foundation/system/responder_context.js +243 -0
  436. data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +391 -0
  437. data/frameworks/sproutcore/frameworks/foundation/system/routes.js +525 -0
  438. data/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +103 -0
  439. data/frameworks/sproutcore/frameworks/foundation/system/time.js +478 -0
  440. data/frameworks/sproutcore/frameworks/foundation/system/timer.js +549 -0
  441. data/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +233 -0
  442. data/frameworks/sproutcore/frameworks/foundation/system/utils.js +482 -0
  443. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +182 -0
  444. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +193 -0
  445. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +64 -0
  446. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +136 -0
  447. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +82 -0
  448. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +111 -0
  449. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +193 -0
  450. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +179 -0
  451. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +108 -0
  452. data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +10 -0
  453. data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +113 -0
  454. data/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +113 -0
  455. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +195 -0
  456. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +89 -0
  457. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +56 -0
  458. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +168 -0
  459. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +89 -0
  460. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +128 -0
  461. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +17 -0
  462. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +325 -0
  463. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +718 -0
  464. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +484 -0
  465. data/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +42 -0
  466. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +1323 -0
  467. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +387 -0
  468. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +405 -0
  469. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +49 -0
  470. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/within.js +66 -0
  471. data/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +252 -0
  472. data/frameworks/sproutcore/frameworks/foundation/tests/system/json.js +14 -0
  473. data/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +128 -0
  474. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +47 -0
  475. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +44 -0
  476. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +119 -0
  477. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +51 -0
  478. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +50 -0
  479. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +28 -0
  480. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +179 -0
  481. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +100 -0
  482. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +55 -0
  483. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +28 -0
  484. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +74 -0
  485. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +45 -0
  486. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +205 -0
  487. data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +127 -0
  488. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +124 -0
  489. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +68 -0
  490. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +101 -0
  491. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +238 -0
  492. data/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +33 -0
  493. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invalidate.js +38 -0
  494. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +201 -0
  495. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +71 -0
  496. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +67 -0
  497. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +170 -0
  498. data/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +24 -0
  499. data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js +18 -0
  500. data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js +62 -0
  501. data/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +35 -0
  502. data/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +23 -0
  503. data/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +47 -0
  504. data/frameworks/sproutcore/frameworks/foundation/tests/validators/password.js +13 -0
  505. data/frameworks/sproutcore/frameworks/foundation/tests/validators/validator.js +20 -0
  506. data/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +10 -0
  507. data/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +83 -0
  508. data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +52 -0
  509. data/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +148 -0
  510. data/frameworks/sproutcore/frameworks/foundation/tests/views/main_pane.js +31 -0
  511. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +113 -0
  512. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +148 -0
  513. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +133 -0
  514. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +165 -0
  515. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +76 -0
  516. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +446 -0
  517. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +133 -0
  518. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +246 -0
  519. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +122 -0
  520. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +97 -0
  521. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +85 -0
  522. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +52 -0
  523. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +50 -0
  524. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +200 -0
  525. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisible.js +51 -0
  526. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +116 -0
  527. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +150 -0
  528. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +162 -0
  529. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +127 -0
  530. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +328 -0
  531. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +67 -0
  532. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +166 -0
  533. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +189 -0
  534. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +83 -0
  535. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +29 -0
  536. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +146 -0
  537. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +194 -0
  538. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +223 -0
  539. data/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +125 -0
  540. data/frameworks/sproutcore/frameworks/foundation/validators/date.js +52 -0
  541. data/frameworks/sproutcore/frameworks/foundation/validators/email.js +45 -0
  542. data/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +33 -0
  543. data/frameworks/sproutcore/frameworks/foundation/validators/number.js +82 -0
  544. data/frameworks/sproutcore/frameworks/foundation/validators/password.js +86 -0
  545. data/frameworks/sproutcore/frameworks/foundation/validators/validator.js +314 -0
  546. data/frameworks/sproutcore/frameworks/foundation/views/container.js +136 -0
  547. data/frameworks/sproutcore/frameworks/foundation/views/field.js +347 -0
  548. data/frameworks/sproutcore/frameworks/foundation/views/image.js +178 -0
  549. data/frameworks/sproutcore/frameworks/foundation/views/label.js +285 -0
  550. data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +662 -0
  551. data/frameworks/sproutcore/frameworks/foundation/views/view.js +2521 -0
  552. data/frameworks/sproutcore/frameworks/mini/license.js +28 -0
  553. data/frameworks/sproutcore/frameworks/mobile/english.lproj/core.css +12 -0
  554. data/frameworks/sproutcore/frameworks/mobile/lib/index.rhtml +126 -0
  555. data/frameworks/sproutcore/frameworks/mobile/system/root_responder.js +109 -0
  556. data/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +9 -0
  557. data/frameworks/sproutcore/frameworks/mobile/views/button.js +190 -0
  558. data/frameworks/sproutcore/frameworks/runtime/README +12 -0
  559. data/frameworks/sproutcore/frameworks/runtime/core.js +950 -0
  560. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +238 -0
  561. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +33 -0
  562. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +121 -0
  563. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +34 -0
  564. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +50 -0
  565. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +46 -0
  566. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +371 -0
  567. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +100 -0
  568. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +49 -0
  569. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +94 -0
  570. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +50 -0
  571. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +47 -0
  572. data/frameworks/sproutcore/frameworks/runtime/license.js +28 -0
  573. data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +613 -0
  574. data/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +45 -0
  575. data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +64 -0
  576. data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +110 -0
  577. data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1238 -0
  578. data/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +110 -0
  579. data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1315 -0
  580. data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +141 -0
  581. data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +173 -0
  582. data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +172 -0
  583. data/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +40 -0
  584. data/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +131 -0
  585. data/frameworks/sproutcore/frameworks/runtime/system/binding.js +943 -0
  586. data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +106 -0
  587. data/frameworks/sproutcore/frameworks/runtime/system/error.js +157 -0
  588. data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +1193 -0
  589. data/frameworks/sproutcore/frameworks/runtime/system/object.js +834 -0
  590. data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +271 -0
  591. data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +245 -0
  592. data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +669 -0
  593. data/frameworks/sproutcore/frameworks/runtime/system/set.js +425 -0
  594. data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +379 -0
  595. data/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +56 -0
  596. data/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +23 -0
  597. data/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +84 -0
  598. data/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +44 -0
  599. data/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +16 -0
  600. data/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +147 -0
  601. data/frameworks/sproutcore/frameworks/runtime/tests/core/inspect.js +27 -0
  602. data/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +25 -0
  603. data/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +38 -0
  604. data/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +20 -0
  605. data/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +30 -0
  606. data/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +19 -0
  607. data/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +37 -0
  608. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +57 -0
  609. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/comparable.js +44 -0
  610. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +611 -0
  611. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +587 -0
  612. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +132 -0
  613. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +79 -0
  614. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +80 -0
  615. data/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +55 -0
  616. data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +265 -0
  617. data/frameworks/sproutcore/frameworks/runtime/tests/system/error.js +52 -0
  618. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +195 -0
  619. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js +49 -0
  620. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +43 -0
  621. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +74 -0
  622. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +42 -0
  623. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +38 -0
  624. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +38 -0
  625. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +74 -0
  626. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +40 -0
  627. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +40 -0
  628. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +36 -0
  629. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +189 -0
  630. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/removeEach.js +49 -0
  631. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +89 -0
  632. data/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +148 -0
  633. data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +339 -0
  634. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +59 -0
  635. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +75 -0
  636. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +117 -0
  637. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +110 -0
  638. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +65 -0
  639. data/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +120 -0
  640. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +92 -0
  641. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +17 -0
  642. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +85 -0
  643. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +60 -0
  644. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +87 -0
  645. data/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +292 -0
  646. data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +175 -0
  647. data/frameworks/sproutcore/frameworks/testing/core.js +196 -0
  648. data/frameworks/sproutcore/frameworks/testing/english.lproj/additions.css +8 -0
  649. data/frameworks/sproutcore/frameworks/testing/english.lproj/runner.css +128 -0
  650. data/frameworks/sproutcore/frameworks/testing/english.lproj/testsuite.css +131 -0
  651. data/frameworks/sproutcore/frameworks/testing/extras.js +17 -0
  652. data/frameworks/sproutcore/frameworks/testing/jquery.js +3559 -0
  653. data/frameworks/sproutcore/frameworks/testing/qunit.js +827 -0
  654. data/frameworks/sproutcore/frameworks/testing/system/dump.js +205 -0
  655. data/frameworks/sproutcore/frameworks/testing/system/equiv.js +201 -0
  656. data/frameworks/sproutcore/frameworks/testing/system/plan.js +695 -0
  657. data/frameworks/sproutcore/frameworks/testing/system/runner.js +209 -0
  658. data/frameworks/sproutcore/frameworks/testing/system/suite.js +228 -0
  659. data/frameworks/sproutcore/frameworks/testing/utils.js +62 -0
  660. data/frameworks/sproutcore/lib/index.rhtml +81 -33
  661. data/frameworks/sproutcore/license.js +28 -28
  662. data/frameworks/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +69 -0
  663. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/button.css +41 -0
  664. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +8 -0
  665. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/backButton.png +0 -0
  666. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/blueButton.png +0 -0
  667. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/cancel.png +0 -0
  668. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/grayButton.png +0 -0
  669. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/leftButton.png +0 -0
  670. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrow.png +0 -0
  671. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrowSel.png +0 -0
  672. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listGroup.png +0 -0
  673. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/loading.gif +0 -0
  674. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/pinstripes.png +0 -0
  675. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/rightButton.png +0 -0
  676. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/selection.png +0 -0
  677. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/thumb.png +0 -0
  678. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggle.png +0 -0
  679. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggleOn.png +0 -0
  680. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolButton.png +0 -0
  681. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolbar.png +0 -0
  682. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/whiteButton.png +0 -0
  683. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/strings.js +15 -0
  684. data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/Data +0 -0
  685. data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Preview.jpg +0 -0
  686. data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Thumbnail.jpg +0 -0
  687. data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/Data +0 -0
  688. data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Preview.jpg +0 -0
  689. data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Thumbnail.jpg +0 -0
  690. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/10.png +0 -0
  691. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/100.png +0 -0
  692. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/102.png +0 -0
  693. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/110.png +0 -0
  694. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/120.png +0 -0
  695. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/127.png +0 -0
  696. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/18.png +0 -0
  697. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/19.png +0 -0
  698. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/2.png +0 -0
  699. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/24.png +0 -0
  700. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/26.png +0 -0
  701. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/27.png +0 -0
  702. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/28.png +0 -0
  703. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/29.png +0 -0
  704. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/30.png +0 -0
  705. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/31.png +0 -0
  706. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/33.png +0 -0
  707. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/37.png +0 -0
  708. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/41.png +0 -0
  709. data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/99.png +0 -0
  710. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/10.png +0 -0
  711. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/100.png +0 -0
  712. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/102.png +0 -0
  713. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/110.png +0 -0
  714. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/120.png +0 -0
  715. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/127.png +0 -0
  716. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/18.png +0 -0
  717. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/19.png +0 -0
  718. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/2.png +0 -0
  719. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/24.png +0 -0
  720. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/26.png +0 -0
  721. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/27.png +0 -0
  722. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/28.png +0 -0
  723. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/29.png +0 -0
  724. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/30.png +0 -0
  725. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/31.png +0 -0
  726. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/33.png +0 -0
  727. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/37.png +0 -0
  728. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/41.png +0 -0
  729. data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/99.png +0 -0
  730. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/10.png +0 -0
  731. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/100.png +0 -0
  732. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/102.png +0 -0
  733. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/110.png +0 -0
  734. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/120.png +0 -0
  735. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/127.png +0 -0
  736. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/18.png +0 -0
  737. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/19.png +0 -0
  738. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/2.png +0 -0
  739. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/24.png +0 -0
  740. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/26.png +0 -0
  741. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/27.png +0 -0
  742. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/28.png +0 -0
  743. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/29.png +0 -0
  744. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/30.png +0 -0
  745. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/31.png +0 -0
  746. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/33.png +0 -0
  747. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/37.png +0 -0
  748. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/41.png +0 -0
  749. data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/99.png +0 -0
  750. data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/10.png +0 -0
  751. data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/18.png +0 -0
  752. data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/19.png +0 -0
  753. data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/2.png +0 -0
  754. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/Data +0 -0
  755. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Preview.jpg +0 -0
  756. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Thumbnail.jpg +0 -0
  757. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/Data +0 -0
  758. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Preview.jpg +0 -0
  759. data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Thumbnail.jpg +0 -0
  760. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x-2.psd +0 -0
  761. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
  762. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-sprite.psd +0 -0
  763. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-ysprite.psd +0 -0
  764. data/frameworks/sproutcore/themes/standard_theme/Source/shared-icons.psd +0 -0
  765. data/frameworks/sproutcore/themes/standard_theme/Source/sproutcore-logo.psd +0 -0
  766. data/frameworks/sproutcore/themes/standard_theme/Source/sticky-note.psd +0 -0
  767. data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +327 -0
  768. data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +93 -0
  769. data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +126 -0
  770. data/frameworks/sproutcore/themes/standard_theme/english.lproj/core.css +76 -0
  771. data/frameworks/sproutcore/themes/standard_theme/english.lproj/disclosure.css +57 -0
  772. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
  773. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-sprite.png +0 -0
  774. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/images/sc-theme-ysprite.png +0 -0
  775. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-toolbar-view.png +0 -0
  776. data/frameworks/sproutcore/themes/standard_theme/english.lproj/label.css +11 -0
  777. data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +30 -0
  778. data/frameworks/sproutcore/themes/standard_theme/english.lproj/menu_item_view.css +3 -0
  779. data/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +8 -0
  780. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/background-fat.jpg +0 -0
  781. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/background-thin.jpg +0 -0
  782. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/bottom-edge.png +0 -0
  783. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/bottom-left-corner.png +0 -0
  784. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/bottom-right-corner.png +0 -0
  785. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/left-edge.png +0 -0
  786. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/overlay.png +0 -0
  787. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/right-edge.png +0 -0
  788. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/top-edge.png +0 -0
  789. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/top-left-corner.png +0 -0
  790. data/frameworks/sproutcore/{english.lproj → themes/standard_theme/english.lproj}/panels/top-right-corner.png +0 -0
  791. data/frameworks/sproutcore/themes/standard_theme/english.lproj/progress.css +26 -0
  792. data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +149 -0
  793. data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +279 -0
  794. data/frameworks/sproutcore/themes/standard_theme/english.lproj/slider.css +94 -0
  795. data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +27 -0
  796. data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +19 -0
  797. data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +20 -0
  798. data/frameworks/sproutcore/themes/standard_theme/english.lproj/toolbar.css +7 -0
  799. data/gen/Buildfile +16 -0
  800. data/gen/app/Buildfile +36 -0
  801. data/gen/app/README +1 -0
  802. data/gen/app/USAGE +13 -0
  803. data/gen/app/templates/apps/@target_name@/core.js +27 -0
  804. data/gen/app/templates/apps/@target_name@/main.js +30 -0
  805. data/gen/app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
  806. data/gen/app/templates/apps/@target_name@/resources/main_page.js +24 -0
  807. data/gen/controller/Buildfile +18 -0
  808. data/gen/controller/README +1 -0
  809. data/gen/controller/USAGE +13 -0
  810. data/gen/controller/templates/controllers/@filename@.js +18 -0
  811. data/gen/controller/templates/tests/controllers/@filename@.js +15 -0
  812. data/gen/design/Buildfile +23 -0
  813. data/gen/design/README +1 -0
  814. data/gen/design/USAGE +10 -0
  815. data/gen/design/templates/resources/@filename@.js +16 -0
  816. data/gen/framework/Buildfile +36 -0
  817. data/gen/framework/README +1 -0
  818. data/gen/framework/USAGE +13 -0
  819. data/gen/framework/templates/frameworks/@target_name@/core.js +21 -0
  820. data/gen/framework/templates/frameworks/@target_name@/english.lproj/strings.js +15 -0
  821. data/gen/language/Buildfile +26 -0
  822. data/gen/language/README +1 -0
  823. data/gen/language/USAGE +13 -0
  824. data/gen/language/templates/@filename@/strings.js +14 -0
  825. data/gen/model/Buildfile +16 -0
  826. data/gen/model/README +1 -0
  827. data/gen/model/USAGE +15 -0
  828. data/gen/model/templates/fixtures/@filename@.js +35 -0
  829. data/gen/model/templates/models/@filename@.js +19 -0
  830. data/gen/model/templates/tests/models/@filename@.js +15 -0
  831. data/gen/page/Buildfile +36 -0
  832. data/gen/page/README +1 -0
  833. data/gen/page/USAGE +15 -0
  834. data/gen/page/templates/pages/@target_name@/Buildfile +16 -0
  835. data/gen/page/templates/pages/@target_name@/core.js +22 -0
  836. data/gen/page/templates/pages/@target_name@/en.lproj/strings.js +14 -0
  837. data/gen/page/templates/pages/@target_name@/resources/body.css +1 -0
  838. data/gen/page/templates/pages/@target_name@/resources/body.rhtml +7 -0
  839. data/gen/project/Buildfile +45 -0
  840. data/gen/project/INIT +3 -0
  841. data/gen/project/README +1 -0
  842. data/gen/project/USAGE +2 -0
  843. data/gen/project/templates/@filename@/Buildfile +7 -0
  844. data/gen/project/templates/@filename@/README +7 -0
  845. data/gen/test/Buildfile +25 -0
  846. data/gen/test/README +1 -0
  847. data/gen/test/USAGE +12 -0
  848. data/gen/test/templates/tests/@filename@.js +15 -0
  849. data/gen/theme/Buildfile +36 -0
  850. data/gen/theme/README +1 -0
  851. data/gen/theme/USAGE +13 -0
  852. data/gen/theme/templates/themes/@target_name@/resources/theme_styles.css +11 -0
  853. data/gen/view/Buildfile +18 -0
  854. data/gen/view/README +1 -0
  855. data/gen/view/USAGE +13 -0
  856. data/gen/view/templates/tests/views/@filename@.js +15 -0
  857. data/gen/view/templates/views/@filename@.js +18 -0
  858. data/lib/sproutcore/builders/base.rb +91 -0
  859. data/lib/sproutcore/builders/bundle.rb +63 -0
  860. data/lib/sproutcore/builders/combine.rb +37 -0
  861. data/lib/sproutcore/builders/html.rb +205 -0
  862. data/lib/sproutcore/builders/javascript.rb +62 -0
  863. data/lib/sproutcore/builders/minify.rb +133 -0
  864. data/lib/sproutcore/builders/sass.rb +55 -0
  865. data/lib/sproutcore/builders/strings.rb +44 -0
  866. data/lib/sproutcore/builders/stylesheet.rb +40 -0
  867. data/lib/sproutcore/builders/test.rb +59 -0
  868. data/lib/sproutcore/builders/test_index.rb +26 -0
  869. data/lib/sproutcore/buildfile/build_task.rb +33 -0
  870. data/lib/sproutcore/buildfile/buildfile_dsl.rb +162 -0
  871. data/lib/sproutcore/buildfile/cloneable.rb +34 -0
  872. data/lib/sproutcore/buildfile/early_time.rb +30 -0
  873. data/lib/sproutcore/buildfile/invocation_chain.rb +64 -0
  874. data/lib/sproutcore/buildfile/namespace.rb +33 -0
  875. data/lib/sproutcore/buildfile/string_ext.rb +198 -0
  876. data/lib/sproutcore/buildfile/task.rb +304 -0
  877. data/lib/sproutcore/buildfile/task_arguments.rb +86 -0
  878. data/lib/sproutcore/buildfile/task_manager.rb +193 -0
  879. data/lib/sproutcore/buildfile.rb +484 -0
  880. data/lib/sproutcore/deprecated/view_helper.rb +662 -0
  881. data/lib/sproutcore/helpers/capture_helper.rb +9 -1
  882. data/lib/sproutcore/helpers/cssmin.rb +202 -0
  883. data/lib/sproutcore/helpers/dom_id_helper.rb +8 -1
  884. data/lib/sproutcore/helpers/entry_sorter.rb +139 -0
  885. data/lib/sproutcore/helpers/packed_optimizer.rb +102 -0
  886. data/lib/sproutcore/helpers/static_helper.rb +223 -41
  887. data/lib/sproutcore/helpers/tag_helper.rb +73 -1
  888. data/lib/sproutcore/helpers/text_helper.rb +24 -57
  889. data/lib/sproutcore/models/generator.rb +493 -0
  890. data/lib/sproutcore/models/hash_struct.rb +109 -0
  891. data/lib/sproutcore/models/manifest.rb +376 -0
  892. data/lib/sproutcore/models/manifest_entry.rb +252 -0
  893. data/lib/sproutcore/models/project.rb +267 -0
  894. data/lib/sproutcore/models/target.rb +664 -0
  895. data/lib/sproutcore/rack/builder.rb +331 -0
  896. data/lib/sproutcore/rack/dev.rb +51 -0
  897. data/lib/sproutcore/rack/docs.rb +24 -0
  898. data/lib/sproutcore/rack/filesystem.rb +265 -0
  899. data/lib/sproutcore/rack/proxy.rb +100 -0
  900. data/lib/sproutcore/rack/service.rb +155 -0
  901. data/lib/sproutcore/rack/test_runner.rb +24 -0
  902. data/lib/sproutcore/render_engines/erubis.rb +55 -0
  903. data/lib/sproutcore/render_engines/haml.rb +39 -0
  904. data/lib/sproutcore/tools/build.rb +80 -0
  905. data/lib/sproutcore/tools/build_number.rb +23 -0
  906. data/lib/sproutcore/tools/docs.rb +53 -0
  907. data/lib/sproutcore/tools/gen.rb +99 -0
  908. data/lib/sproutcore/tools/init.rb +40 -0
  909. data/lib/sproutcore/tools/manifest.rb +85 -0
  910. data/lib/sproutcore/tools/server.rb +48 -0
  911. data/lib/sproutcore/tools.rb +341 -0
  912. data/lib/sproutcore.rb +141 -18
  913. data/lib/thor/CHANGELOG.rdoc +52 -0
  914. data/lib/thor/LICENSE +20 -0
  915. data/lib/thor/README.markdown +76 -0
  916. data/lib/thor/Rakefile +6 -0
  917. data/lib/thor/Thorfile +45 -0
  918. data/lib/thor/bin/rake2thor +83 -0
  919. data/lib/thor/bin/thor +7 -0
  920. data/lib/thor/lib/thor/error.rb +3 -0
  921. data/lib/thor/lib/thor/options.rb +267 -0
  922. data/lib/thor/lib/thor/ordered_hash.rb +64 -0
  923. data/lib/thor/lib/thor/runner.rb +305 -0
  924. data/lib/thor/lib/thor/task.rb +83 -0
  925. data/lib/thor/lib/thor/task_hash.rb +22 -0
  926. data/lib/thor/lib/thor/tasks/package.rb +18 -0
  927. data/lib/thor/lib/thor/tasks.rb +77 -0
  928. data/lib/thor/lib/thor/util.rb +75 -0
  929. data/lib/thor/lib/thor.rb +170 -0
  930. data/lib/thor/script/destroy +14 -0
  931. data/lib/thor/script/generate +14 -0
  932. data/lib/thor/spec/fixtures/task.thor +10 -0
  933. data/lib/thor/spec/options_spec.rb +271 -0
  934. data/lib/thor/spec/ordered_hash_spec.rb +84 -0
  935. data/lib/thor/spec/spec.opts +1 -0
  936. data/lib/thor/spec/spec_helper.rb +30 -0
  937. data/lib/thor/spec/task_spec.rb +11 -0
  938. data/lib/thor/spec/tasks_spec.rb +28 -0
  939. data/lib/thor/spec/thor_runner_spec.rb +194 -0
  940. data/lib/thor/spec/thor_spec.rb +206 -0
  941. data/lib/thor/spec/util_spec.rb +99 -0
  942. data/lib/thor/task.thor +15 -0
  943. data/lib/thor/thor.gemspec +29 -0
  944. data/spec/buildtasks/build/copy_spec.rb +60 -0
  945. data/spec/buildtasks/build/spec_helper.rb +36 -0
  946. data/spec/buildtasks/manifest/catalog_spec.rb +48 -0
  947. data/spec/buildtasks/manifest/hide_buildfiles_spec.rb +126 -0
  948. data/spec/buildtasks/manifest/localize_spec.rb +97 -0
  949. data/spec/buildtasks/manifest/prepare_build_tasks/bundle_spec.rb +254 -0
  950. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +246 -0
  951. data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +87 -0
  952. data/spec/buildtasks/manifest/prepare_build_tasks/html_spec.rb +175 -0
  953. data/spec/buildtasks/manifest/prepare_build_tasks/javascript_spec.rb +65 -0
  954. data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +70 -0
  955. data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +152 -0
  956. data/spec/buildtasks/manifest/prepare_build_tasks/sass_spec.rb +98 -0
  957. data/spec/buildtasks/manifest/prepare_build_tasks/strings_spec.rb +64 -0
  958. data/spec/buildtasks/manifest/prepare_build_tasks/tests_spec.rb +163 -0
  959. data/spec/buildtasks/manifest/prepare_spec.rb +43 -0
  960. data/spec/buildtasks/manifest/spec_helper.rb +35 -0
  961. data/spec/buildtasks/target_spec.rb +270 -0
  962. data/spec/fixtures/builder_tests/Buildfile +20 -0
  963. data/spec/fixtures/builder_tests/apps/bundle_test/bundle.js +1 -0
  964. data/spec/fixtures/builder_tests/apps/combine_test/a.js +1 -0
  965. data/spec/fixtures/builder_tests/apps/combine_test/b.js +1 -0
  966. data/spec/fixtures/builder_tests/apps/combine_test/c.js +1 -0
  967. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/a.css +1 -0
  968. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/b.css +1 -0
  969. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/c.css +1 -0
  970. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/bar1_sample.rhtml +2 -0
  971. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/erb_sample.html.erb +1 -0
  972. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/icons/image.png +0 -0
  973. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/image.jpg +0 -0
  974. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/rhtml_sample.rhtml +1 -0
  975. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/strings.js +4 -0
  976. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/style.css +0 -0
  977. data/spec/fixtures/builder_tests/apps/html_test/french.lproj/french-icons/fr.png +0 -0
  978. data/spec/fixtures/builder_tests/apps/html_test/french.lproj/strings.js +4 -0
  979. data/spec/fixtures/builder_tests/apps/html_test/lib/layout_template.rhtml +1 -0
  980. data/spec/fixtures/builder_tests/apps/html_test/scripts.js +0 -0
  981. data/spec/fixtures/builder_tests/apps/javascript_test/sc_static.js +15 -0
  982. data/spec/fixtures/builder_tests/apps/javascript_test/sc_super.js +4 -0
  983. data/spec/fixtures/builder_tests/apps/javascript_test/strings.js +7 -0
  984. data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +3 -0
  985. data/spec/fixtures/builder_tests/apps/strings_test/lproj/strings.js +8 -0
  986. data/spec/fixtures/builder_tests/apps/stylesheet_test/build_directives.css +9 -0
  987. data/spec/fixtures/builder_tests/apps/stylesheet_test/sc_static.css +12 -0
  988. data/spec/fixtures/builder_tests/apps/test_test/lib/alt_layout.rhtml +1 -0
  989. data/spec/fixtures/builder_tests/apps/test_test/lib/test_layout.rhtml +3 -0
  990. data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test.js +1 -0
  991. data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test2.js +1 -0
  992. data/spec/fixtures/builder_tests/apps/test_test/tests/rhtml_test.rhtml +4 -0
  993. data/spec/fixtures/builder_tests/frameworks/debug/core.js +0 -0
  994. data/spec/fixtures/builder_tests/frameworks/debug/english.lproj/dummy.css +0 -0
  995. data/spec/fixtures/builder_tests/frameworks/dynamic_req_target_1/dynamic_req_js_1.js +0 -0
  996. data/spec/fixtures/builder_tests/frameworks/dynamic_req_target_1/english.lproj/dynamic_req_style_1.css +0 -0
  997. data/spec/fixtures/builder_tests/frameworks/qunit/core.js +0 -0
  998. data/spec/fixtures/builder_tests/frameworks/qunit/english.lproj/dummy.css +0 -0
  999. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/req_style_1.css +0 -0
  1000. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/strings.js +4 -0
  1001. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/test.rhtml +1 -0
  1002. data/spec/fixtures/builder_tests/frameworks/req_target_1/req_js_1.js +0 -0
  1003. data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/req_style_2.css +0 -0
  1004. data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/test.rhtml +1 -0
  1005. data/spec/fixtures/builder_tests/frameworks/req_target_2/javascript.js +1 -0
  1006. data/spec/fixtures/builder_tests/frameworks/req_target_2/lib/alt_layout.rhtml +0 -0
  1007. data/spec/fixtures/builder_tests/frameworks/req_target_2/req_js_2.js +0 -0
  1008. data/spec/fixtures/builder_tests/themes/sample_theme/Buildfile +1 -0
  1009. data/spec/fixtures/buildfiles/basic/Buildfile +16 -0
  1010. data/spec/fixtures/buildfiles/basic/task_module.rake +6 -0
  1011. data/spec/fixtures/buildfiles/installed/Buildfile +7 -0
  1012. data/spec/fixtures/buildfiles/installed/Buildfile2 +5 -0
  1013. data/spec/fixtures/buildfiles/project_test/Buildfile +4 -0
  1014. data/spec/fixtures/buildfiles/project_test/not_project/Buildfile +2 -0
  1015. data/spec/fixtures/buildfiles/project_test/not_project/child/PLACEHOLDER +0 -0
  1016. data/spec/fixtures/entry_for_project/Buildfile +1 -0
  1017. data/spec/fixtures/entry_for_project/apps/test_app/entry.txt +0 -0
  1018. data/spec/fixtures/entry_for_project/apps/test_app/frameworks/nested/PLACEHOLDER +0 -0
  1019. data/spec/fixtures/entry_for_project/frameworks/shared/PLACEHOLDER +0 -0
  1020. data/spec/fixtures/find_targets/custom/Buildfile +8 -0
  1021. data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar1/PLACEHOLDER +0 -0
  1022. data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar2/PLACEHOLDER +0 -0
  1023. data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo1/PLACEHOLDER +0 -0
  1024. data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo2/PLACEHOLDER +0 -0
  1025. data/spec/fixtures/find_targets/custom/foos/custom_foos/Buildfile +5 -0
  1026. data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo1/PLACEHOLDER +0 -0
  1027. data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo2/PLACEHOLDER +0 -0
  1028. data/spec/fixtures/find_targets/custom/foos/custom_foos/foos/not_foo1/PLACEHOLDER +0 -0
  1029. data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar1/PLACEHOLDER +0 -0
  1030. data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar2/PLACEHOLDER +0 -0
  1031. data/spec/fixtures/find_targets/nested/Buildfile +8 -0
  1032. data/spec/fixtures/find_targets/nested/apps/app1/Buildfile +1 -0
  1033. data/spec/fixtures/find_targets/nested/apps/app1/apps/nested_app/PLACEHOLDER +0 -0
  1034. data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework1/PLACEHOLDER +0 -0
  1035. data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework2/PLACEHOLDER +0 -0
  1036. data/spec/fixtures/find_targets/standard/clients/client1/PLACEHOLDER +0 -0
  1037. data/spec/fixtures/find_targets/standard/frameworks/framework1/frameworks/framework1/PLACEHOLDER +0 -0
  1038. data/spec/fixtures/find_targets/standard/frameworks/framework2/PLACEHOLDER +0 -0
  1039. data/spec/fixtures/find_targets/standard/themes/theme1/PLACEHOLDER +0 -0
  1040. data/spec/fixtures/find_targets/standard/themes/theme2/PLACEHOLDER +0 -0
  1041. data/spec/fixtures/languages/apps/caps_long_names/English.lproj/PLACEHOLDER +0 -0
  1042. data/spec/fixtures/languages/apps/caps_long_names/FreNCH.lproj/PLACEHOLDER +0 -0
  1043. data/spec/fixtures/languages/apps/caps_long_names/UnknOWN.lproj/PLACEHOLDER +0 -0
  1044. data/spec/fixtures/languages/apps/long_names/english.lproj/PLACEHOLDER +0 -0
  1045. data/spec/fixtures/languages/apps/long_names/french.lproj/PLACEHOLDER +0 -0
  1046. data/spec/fixtures/languages/apps/long_names/german.lproj/PLACEHOLDER +0 -0
  1047. data/spec/fixtures/languages/apps/long_names/italian.lproj/PLACEHOLDER +0 -0
  1048. data/spec/fixtures/languages/apps/long_names/japanese.lproj/PLACEHOLDER +0 -0
  1049. data/spec/fixtures/languages/apps/long_names/spanish.lproj/PLACEHOLDER +0 -0
  1050. data/spec/fixtures/languages/apps/long_names/unknown.lproj/PLACEHOLDER +0 -0
  1051. data/spec/fixtures/languages/apps/no_names/PLACEHOLDER +0 -0
  1052. data/spec/fixtures/languages/apps/short_names/de.lproj/PLACEHOLDER +0 -0
  1053. data/spec/fixtures/languages/apps/short_names/en-CA.lproj/PLACEHOLDER +0 -0
  1054. data/spec/fixtures/languages/apps/short_names/en-GB.lproj/PLACEHOLDER +0 -0
  1055. data/spec/fixtures/languages/apps/short_names/en-US.lproj/PLACEHOLDER +0 -0
  1056. data/spec/fixtures/languages/apps/short_names/en.lproj/PLACEHOLDER +0 -0
  1057. data/spec/fixtures/languages/apps/short_names/es.lproj/PLACEHOLDER +0 -0
  1058. data/spec/fixtures/languages/apps/short_names/foo.lproj/PLACEHOLDER +0 -0
  1059. data/spec/fixtures/languages/apps/short_names/fr.lproj/PLACEHOLDER +0 -0
  1060. data/spec/fixtures/languages/apps/short_names/it.lproj/PLACEHOLDER +0 -0
  1061. data/spec/fixtures/languages/apps/short_names/ja.lproj/PLACEHOLDER +0 -0
  1062. data/spec/fixtures/ordered_entries/apps/no_requires/1.js +1 -0
  1063. data/spec/fixtures/ordered_entries/apps/no_requires/B.js +1 -0
  1064. data/spec/fixtures/ordered_entries/apps/no_requires/a/a.js +1 -0
  1065. data/spec/fixtures/ordered_entries/apps/no_requires/a/b.js +1 -0
  1066. data/spec/fixtures/ordered_entries/apps/no_requires/a.js +1 -0
  1067. data/spec/fixtures/ordered_entries/apps/no_requires/b/a.js +1 -0
  1068. data/spec/fixtures/ordered_entries/apps/no_requires/c.js +1 -0
  1069. data/spec/fixtures/ordered_entries/apps/no_requires/core.js +1 -0
  1070. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/B.css +0 -0
  1071. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/a.css +0 -0
  1072. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/b.css +0 -0
  1073. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a.css +0 -0
  1074. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/b/a.css +0 -0
  1075. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/c.css +0 -0
  1076. data/spec/fixtures/ordered_entries/apps/no_requires/lproj/strings.js +1 -0
  1077. data/spec/fixtures/ordered_entries/apps/no_requires/utils.js +1 -0
  1078. data/spec/fixtures/ordered_entries/apps/with_requires/a.js +2 -0
  1079. data/spec/fixtures/ordered_entries/apps/with_requires/b.js +3 -0
  1080. data/spec/fixtures/ordered_entries/apps/with_requires/c.js +2 -0
  1081. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/a.css +2 -0
  1082. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/b.css +2 -0
  1083. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/c.css +2 -0
  1084. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/d.js +1 -0
  1085. data/spec/fixtures/real_world/Buildfile +12 -0
  1086. data/spec/fixtures/real_world/apps/account/README +1 -0
  1087. data/spec/fixtures/real_world/apps/calendar/README +1 -0
  1088. data/spec/fixtures/real_world/apps/contacts/README_BEFORE_EDITING +1 -0
  1089. data/spec/fixtures/real_world/apps/files/README +1 -0
  1090. data/spec/fixtures/real_world/apps/mail/README +1 -0
  1091. data/spec/fixtures/real_world/apps/mobile_photos/README +1 -0
  1092. data/spec/fixtures/real_world/apps/photos/README +1 -0
  1093. data/spec/fixtures/real_world/apps/uploader/README +1 -0
  1094. data/spec/fixtures/real_world/frameworks/core_files/PLACEHOLDER +0 -0
  1095. data/spec/fixtures/real_world/frameworks/core_photos/PLACEHOLDER +0 -0
  1096. data/spec/fixtures/real_world/frameworks/shared/PLACEHOLDER +0 -0
  1097. data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +26 -0
  1098. data/spec/fixtures/real_world/frameworks/sproutcore/README +1 -0
  1099. data/spec/fixtures/real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER +0 -0
  1100. data/spec/fixtures/real_world/frameworks/sproutcore/apps/test_runner/PLACEHOLDER +0 -0
  1101. data/spec/fixtures/real_world/frameworks/sproutcore/core.js +0 -0
  1102. data/spec/fixtures/real_world/frameworks/sproutcore/debug/debug-resource.html +0 -0
  1103. data/spec/fixtures/real_world/frameworks/sproutcore/debug/sample_debug.js +0 -0
  1104. data/spec/fixtures/real_world/frameworks/sproutcore/demo2.js +0 -0
  1105. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/debug/sample_debug-loc.js +0 -0
  1106. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.css +4 -0
  1107. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.html +1 -0
  1108. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo2.sass +0 -0
  1109. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.haml +0 -0
  1110. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.html.erb +1 -0
  1111. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.rhtml +0 -0
  1112. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/fixtures/sample_fixtures-loc.js +0 -0
  1113. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/has_require.css +4 -0
  1114. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_require.css +1 -0
  1115. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_sc_resource.rhtml +1 -0
  1116. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/protocols/sample-loc.js +0 -0
  1117. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.css +6 -0
  1118. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.rhtml +3 -0
  1119. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/strings.js +1 -0
  1120. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/tests/sample-loc.js +0 -0
  1121. data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample-json-fixture.json +1 -0
  1122. data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample_fixtures.js +0 -0
  1123. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/application/PLACEHOLDER +0 -0
  1124. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/costello/core.js +0 -0
  1125. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/data_store/PLACEHOLDER +0 -0
  1126. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/debug/PLACEHOLDER +0 -0
  1127. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/desktop/PLACEHOLDER +0 -0
  1128. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/empty_theme/PLACEHOLDER +0 -0
  1129. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/foundation/PLACEHOLDER +0 -0
  1130. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/mobile/PLACEHOLDER +0 -0
  1131. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/qunit/PLACEHOLDER +0 -0
  1132. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/uploader/PLACEHOLDER +0 -0
  1133. data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/french-resource.js +0 -0
  1134. data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/strings.js +1 -0
  1135. data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/german-resource.js +0 -0
  1136. data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/strings.js +0 -0
  1137. data/spec/fixtures/real_world/frameworks/sproutcore/has_require.js +4 -0
  1138. data/spec/fixtures/real_world/frameworks/sproutcore/lib/index.html +1 -0
  1139. data/spec/fixtures/real_world/frameworks/sproutcore/no_require.js +1 -0
  1140. data/spec/fixtures/real_world/frameworks/sproutcore/protocols/sample.js +0 -0
  1141. data/spec/fixtures/real_world/frameworks/sproutcore/resources/boo.png +0 -0
  1142. data/spec/fixtures/real_world/frameworks/sproutcore/sc_resource.js +6 -0
  1143. data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample1.js +0 -0
  1144. data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample2.js +0 -0
  1145. data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.js +0 -0
  1146. data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.rhtml +1 -0
  1147. data/spec/fixtures/real_world/frameworks/sproutcore/themes/standard_theme/README +0 -0
  1148. data/spec/fixtures/real_world/frameworks/sproutcore/views/view.js +1 -0
  1149. data/spec/fixtures/real_world/generators/sample_custom/Buildfile +0 -0
  1150. data/spec/fixtures/recursive_project/Buildfile +8 -0
  1151. data/spec/fixtures/recursive_project/frameworks/sproutcore/frameworks/costello/PLACEHOLDER +0 -0
  1152. data/spec/lib/builders/bundle_spec.rb +294 -0
  1153. data/spec/lib/builders/combine_spec.rb +67 -0
  1154. data/spec/lib/builders/html_spec.rb +579 -0
  1155. data/spec/lib/builders/javascript_spec.rb +81 -0
  1156. data/spec/lib/builders/sass_spec.rb +43 -0
  1157. data/spec/lib/builders/spec_helper.rb +30 -0
  1158. data/spec/lib/builders/strings_spec.rb +52 -0
  1159. data/spec/lib/builders/stylesheet_spec.rb +63 -0
  1160. data/spec/lib/builders/test_index_spec.rb +44 -0
  1161. data/spec/lib/builders/test_spec.rb +136 -0
  1162. data/spec/lib/buildfile/config_for_spec.rb +81 -0
  1163. data/spec/lib/buildfile/define_spec.rb +59 -0
  1164. data/spec/lib/buildfile/dup_spec.rb +65 -0
  1165. data/spec/lib/buildfile/invoke_spec.rb +130 -0
  1166. data/spec/lib/buildfile/load_spec.rb +49 -0
  1167. data/spec/lib/buildfile/task/dup_spec.rb +55 -0
  1168. data/spec/lib/buildfile/task_defined_spec.rb +17 -0
  1169. data/spec/lib/buildfile_commands/build_task_spec.rb +19 -0
  1170. data/spec/lib/buildfile_commands/config_spec.rb +97 -0
  1171. data/spec/lib/buildfile_commands/import_spec.rb +17 -0
  1172. data/spec/lib/buildfile_commands/namespace_spec.rb +18 -0
  1173. data/spec/lib/buildfile_commands/proxies_spec.rb +38 -0
  1174. data/spec/lib/buildfile_commands/replace_task_spec.rb +29 -0
  1175. data/spec/lib/buildfile_commands/task_spec.rb +36 -0
  1176. data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +26 -0
  1177. data/spec/lib/models/hash_struct/deep_clone_spec.rb +27 -0
  1178. data/spec/lib/models/hash_struct/has_options_spec.rb +32 -0
  1179. data/spec/lib/models/hash_struct/hash_spec.rb +64 -0
  1180. data/spec/lib/models/hash_struct/merge_spec.rb +26 -0
  1181. data/spec/lib/models/hash_struct/method_missing.rb +41 -0
  1182. data/spec/lib/models/manifest/add_entry_spec.rb +36 -0
  1183. data/spec/lib/models/manifest/add_transform_spec.rb +91 -0
  1184. data/spec/lib/models/manifest/build_spec.rb +78 -0
  1185. data/spec/lib/models/manifest/entry_for_spec.rb +94 -0
  1186. data/spec/lib/models/manifest/find_entry.rb +97 -0
  1187. data/spec/lib/models/manifest/prepare_spec.rb +62 -0
  1188. data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +31 -0
  1189. data/spec/lib/models/manifest_entry/prepare_spec.rb +54 -0
  1190. data/spec/lib/models/project/add_target_spec.rb +44 -0
  1191. data/spec/lib/models/project/buildfile_spec.rb +35 -0
  1192. data/spec/lib/models/project/find_targets_for_spec.rb +78 -0
  1193. data/spec/lib/models/project/load_nearest_project_spec.rb +23 -0
  1194. data/spec/lib/models/project/target_for_spec.rb +33 -0
  1195. data/spec/lib/models/project/targets_spec.rb +62 -0
  1196. data/spec/lib/models/target/compute_build_number_spec.rb +125 -0
  1197. data/spec/lib/models/target/config_spec.rb +30 -0
  1198. data/spec/lib/models/target/expand_required_targets_spec.rb +48 -0
  1199. data/spec/lib/models/target/installed_languages_spec.rb +47 -0
  1200. data/spec/lib/models/target/lproj_for_spec.rb +38 -0
  1201. data/spec/lib/models/target/manifest_for_spec.rb +42 -0
  1202. data/spec/lib/models/target/parent_target_spec.rb +21 -0
  1203. data/spec/lib/models/target/prepare_spec.rb +53 -0
  1204. data/spec/lib/models/target/required_targets_spec.rb +119 -0
  1205. data/spec/lib/models/target/target_for_spec.rb +56 -0
  1206. data/spec/lib/tools/build_number_spec.rb +28 -0
  1207. data/spec/lib/tools/gen_spec.rb +207 -0
  1208. data/spec/lib/tools/tools_spec.rb +78 -0
  1209. data/spec/spec.opts +3 -0
  1210. data/spec/spec_helper.rb +137 -6
  1211. data/sproutcore-abbot.gemspec +1582 -0
  1212. data/vendor/github_gem_lint.rb +22 -0
  1213. data/{jsdoc → vendor/jsdoc}/README.txt +0 -0
  1214. data/vendor/jsdoc/app/frame/Chain.js +102 -0
  1215. data/vendor/jsdoc/app/frame/Dumper.js +144 -0
  1216. data/vendor/jsdoc/app/frame/Hash.js +47 -0
  1217. data/vendor/jsdoc/app/frame/Link.js +142 -0
  1218. data/vendor/jsdoc/app/frame/Namespace.js +10 -0
  1219. data/vendor/jsdoc/app/frame/Opt.js +134 -0
  1220. data/vendor/jsdoc/app/frame/Reflection.js +26 -0
  1221. data/vendor/jsdoc/app/frame/String.js +93 -0
  1222. data/vendor/jsdoc/app/frame/Testrun.js +129 -0
  1223. data/vendor/jsdoc/app/frame.js +33 -0
  1224. data/vendor/jsdoc/app/handlers/FOODOC.js +26 -0
  1225. data/{jsdoc → vendor/jsdoc}/app/handlers/XMLDOC/DomReader.js +0 -0
  1226. data/{jsdoc → vendor/jsdoc}/app/handlers/XMLDOC/XMLDoc.js +0 -0
  1227. data/{jsdoc → vendor/jsdoc}/app/handlers/XMLDOC/XMLParse.js +0 -0
  1228. data/vendor/jsdoc/app/handlers/XMLDOC.js +26 -0
  1229. data/vendor/jsdoc/app/lib/JSDOC/DocComment.js +200 -0
  1230. data/vendor/jsdoc/app/lib/JSDOC/DocTag.js +294 -0
  1231. data/vendor/jsdoc/app/lib/JSDOC/JsDoc.js +162 -0
  1232. data/vendor/jsdoc/app/lib/JSDOC/JsPlate.js +100 -0
  1233. data/vendor/jsdoc/app/lib/JSDOC/Lang.js +144 -0
  1234. data/vendor/jsdoc/app/lib/JSDOC/Parser.js +109 -0
  1235. data/vendor/jsdoc/app/lib/JSDOC/PluginManager.js +33 -0
  1236. data/vendor/jsdoc/app/lib/JSDOC/Symbol.js +681 -0
  1237. data/vendor/jsdoc/app/lib/JSDOC/SymbolSet.js +226 -0
  1238. data/vendor/jsdoc/app/lib/JSDOC/TextStream.js +41 -0
  1239. data/vendor/jsdoc/app/lib/JSDOC/Token.js +18 -0
  1240. data/vendor/jsdoc/app/lib/JSDOC/TokenReader.js +332 -0
  1241. data/vendor/jsdoc/app/lib/JSDOC/TokenStream.js +133 -0
  1242. data/vendor/jsdoc/app/lib/JSDOC/Util.js +32 -0
  1243. data/vendor/jsdoc/app/lib/JSDOC/Walker.js +453 -0
  1244. data/vendor/jsdoc/app/lib/JSDOC.js +98 -0
  1245. data/vendor/jsdoc/app/main.js +74 -0
  1246. data/vendor/jsdoc/app/plugins/commentSrcJson.js +19 -0
  1247. data/vendor/jsdoc/app/plugins/frameworkPrototype.js +16 -0
  1248. data/vendor/jsdoc/app/plugins/functionCall.js +10 -0
  1249. data/vendor/jsdoc/app/plugins/publishSrcHilite.js +62 -0
  1250. data/{jsdoc → vendor/jsdoc}/app/plugins/sproutcoreTags.js +0 -0
  1251. data/vendor/jsdoc/app/plugins/symbolLink.js +9 -0
  1252. data/vendor/jsdoc/app/plugins/tagParamConfig.js +31 -0
  1253. data/vendor/jsdoc/app/plugins/tagSynonyms.js +43 -0
  1254. data/vendor/jsdoc/app/run.js +346 -0
  1255. data/vendor/jsdoc/app/t/TestDoc.js +144 -0
  1256. data/{jsdoc → vendor/jsdoc/app}/t/runner.js +0 -0
  1257. data/{jsdoc → vendor/jsdoc/app}/test/addon.js +0 -0
  1258. data/{jsdoc → vendor/jsdoc/app}/test/anon_inner.js +0 -0
  1259. data/vendor/jsdoc/app/test/augments.js +31 -0
  1260. data/vendor/jsdoc/app/test/augments2.js +26 -0
  1261. data/vendor/jsdoc/app/test/borrows.js +41 -0
  1262. data/vendor/jsdoc/app/test/borrows2.js +23 -0
  1263. data/{jsdoc → vendor/jsdoc/app}/test/config.js +0 -0
  1264. data/vendor/jsdoc/app/test/constructs.js +18 -0
  1265. data/{jsdoc → vendor/jsdoc/app}/test/encoding.js +0 -0
  1266. data/{jsdoc → vendor/jsdoc/app}/test/encoding_other.js +0 -0
  1267. data/vendor/jsdoc/app/test/functions_anon.js +39 -0
  1268. data/vendor/jsdoc/app/test/functions_nested.js +33 -0
  1269. data/vendor/jsdoc/app/test/global.js +13 -0
  1270. data/vendor/jsdoc/app/test/globals.js +25 -0
  1271. data/vendor/jsdoc/app/test/ignore.js +10 -0
  1272. data/{jsdoc → vendor/jsdoc/app}/test/inner.js +0 -0
  1273. data/vendor/jsdoc/app/test/jsdoc_test.js +477 -0
  1274. data/vendor/jsdoc/app/test/lend.js +33 -0
  1275. data/vendor/jsdoc/app/test/memberof.js +20 -0
  1276. data/vendor/jsdoc/app/test/memberof_constructor.js +15 -0
  1277. data/vendor/jsdoc/app/test/name.js +19 -0
  1278. data/vendor/jsdoc/app/test/namespace_nested.js +23 -0
  1279. data/{jsdoc → vendor/jsdoc/app}/test/nocode.js +0 -0
  1280. data/vendor/jsdoc/app/test/oblit_anon.js +20 -0
  1281. data/vendor/jsdoc/app/test/overview.js +20 -0
  1282. data/vendor/jsdoc/app/test/param_inline.js +37 -0
  1283. data/{jsdoc → vendor/jsdoc/app}/test/params_optional.js +0 -0
  1284. data/vendor/jsdoc/app/test/prototype.js +17 -0
  1285. data/{jsdoc → vendor/jsdoc/app}/test/prototype_nested.js +0 -0
  1286. data/vendor/jsdoc/app/test/prototype_oblit.js +13 -0
  1287. data/vendor/jsdoc/app/test/prototype_oblit_constructor.js +24 -0
  1288. data/vendor/jsdoc/app/test/public.js +10 -0
  1289. data/{jsdoc → vendor/jsdoc/app}/test/shared.js +0 -0
  1290. data/{jsdoc → vendor/jsdoc/app}/test/shared2.js +0 -0
  1291. data/vendor/jsdoc/app/test/shortcuts.js +22 -0
  1292. data/vendor/jsdoc/app/test/static_this.js +13 -0
  1293. data/vendor/jsdoc/app/test/synonyms.js +23 -0
  1294. data/{jsdoc → vendor/jsdoc/app}/test/tosource.js +0 -0
  1295. data/vendor/jsdoc/app/test/variable_redefine.js +14 -0
  1296. data/vendor/jsdoc/app/test.js +304 -0
  1297. data/{jsdoc → vendor/jsdoc}/changes.txt +0 -0
  1298. data/{jsdoc → vendor/jsdoc}/conf/sample.conf +0 -0
  1299. data/{jsdoc → vendor/jsdoc}/java/build.xml +0 -0
  1300. data/{jsdoc → vendor/jsdoc}/java/build_1.4.xml +0 -0
  1301. data/{jsdoc → vendor/jsdoc}/java/classes/js.jar +0 -0
  1302. data/{jsdoc → vendor/jsdoc}/java/src/JsDebugRun.java +0 -0
  1303. data/{jsdoc → vendor/jsdoc}/java/src/JsRun.java +0 -0
  1304. data/{jsdoc → vendor/jsdoc}/jsdebug.jar +0 -0
  1305. data/{jsdoc → vendor/jsdoc}/jsrun.jar +0 -0
  1306. data/{jsdoc → vendor/jsdoc}/t/TestDoc.js +0 -0
  1307. data/vendor/jsdoc/t/runner.js +13 -0
  1308. data/vendor/jsdoc/test/addon.js +24 -0
  1309. data/vendor/jsdoc/test/anon_inner.js +14 -0
  1310. data/{jsdoc → vendor/jsdoc}/test/augments.js +0 -0
  1311. data/{jsdoc → vendor/jsdoc}/test/augments2.js +0 -0
  1312. data/{jsdoc → vendor/jsdoc}/test/borrows.js +0 -0
  1313. data/{jsdoc → vendor/jsdoc}/test/borrows2.js +0 -0
  1314. data/vendor/jsdoc/test/config.js +22 -0
  1315. data/{jsdoc → vendor/jsdoc}/test/constructs.js +0 -0
  1316. data/vendor/jsdoc/test/encoding.js +10 -0
  1317. data/vendor/jsdoc/test/encoding_other.js +12 -0
  1318. data/{jsdoc → vendor/jsdoc}/test/functions_anon.js +0 -0
  1319. data/{jsdoc → vendor/jsdoc}/test/functions_nested.js +0 -0
  1320. data/{jsdoc → vendor/jsdoc}/test/global.js +0 -0
  1321. data/{jsdoc → vendor/jsdoc}/test/globals.js +0 -0
  1322. data/{jsdoc → vendor/jsdoc}/test/ignore.js +0 -0
  1323. data/vendor/jsdoc/test/inner.js +16 -0
  1324. data/{jsdoc → vendor/jsdoc}/test/jsdoc_test.js +0 -0
  1325. data/{jsdoc → vendor/jsdoc}/test/lend.js +0 -0
  1326. data/{jsdoc → vendor/jsdoc}/test/memberof.js +0 -0
  1327. data/{jsdoc → vendor/jsdoc}/test/memberof_constructor.js +0 -0
  1328. data/{jsdoc → vendor/jsdoc}/test/name.js +0 -0
  1329. data/{jsdoc → vendor/jsdoc}/test/namespace_nested.js +0 -0
  1330. data/vendor/jsdoc/test/nocode.js +13 -0
  1331. data/{jsdoc → vendor/jsdoc}/test/oblit_anon.js +0 -0
  1332. data/{jsdoc → vendor/jsdoc}/test/overview.js +0 -0
  1333. data/{jsdoc → vendor/jsdoc}/test/param_inline.js +0 -0
  1334. data/vendor/jsdoc/test/params_optional.js +8 -0
  1335. data/{jsdoc → vendor/jsdoc}/test/prototype.js +0 -0
  1336. data/vendor/jsdoc/test/prototype_nested.js +9 -0
  1337. data/{jsdoc → vendor/jsdoc}/test/prototype_oblit.js +0 -0
  1338. data/{jsdoc → vendor/jsdoc}/test/prototype_oblit_constructor.js +0 -0
  1339. data/{jsdoc → vendor/jsdoc}/test/public.js +0 -0
  1340. data/vendor/jsdoc/test/shared.js +42 -0
  1341. data/vendor/jsdoc/test/shared2.js +2 -0
  1342. data/{jsdoc → vendor/jsdoc}/test/shortcuts.js +0 -0
  1343. data/{jsdoc → vendor/jsdoc}/test/static_this.js +0 -0
  1344. data/{jsdoc → vendor/jsdoc}/test/synonyms.js +0 -0
  1345. data/vendor/jsdoc/test/tosource.js +23 -0
  1346. data/{jsdoc → vendor/jsdoc}/test/variable_redefine.js +0 -0
  1347. data/{jsdoc → vendor/jsdoc}/test.js +0 -0
  1348. data/{yui_compressor → vendor/yui-compressor}/yuicompressor-2.4.2.jar +0 -0
  1349. metadata +1537 -431
  1350. data/License.txt +0 -20
  1351. data/Manifest.txt +0 -415
  1352. data/app_generators/sproutcore/USAGE +0 -4
  1353. data/app_generators/sproutcore/sproutcore_generator.rb +0 -68
  1354. data/app_generators/sproutcore/templates/README +0 -80
  1355. data/app_generators/sproutcore/templates/sc-config +0 -93
  1356. data/bin/sc-ide +0 -278
  1357. data/bin/sc-install +0 -101
  1358. data/bin/sc-remove +0 -99
  1359. data/bin/sc-update +0 -99
  1360. data/clients/sc_docs/HISTORY +0 -3
  1361. data/clients/sc_docs/README +0 -6
  1362. data/clients/sc_docs/controllers/docs.js +0 -150
  1363. data/clients/sc_docs/core.js +0 -19
  1364. data/clients/sc_docs/english.lproj/body.css +0 -112
  1365. data/clients/sc_docs/english.lproj/body.rhtml +0 -58
  1366. data/clients/sc_docs/english.lproj/no_docs.rhtml +0 -8
  1367. data/clients/sc_docs/english.lproj/strings.js +0 -14
  1368. data/clients/sc_docs/english.lproj/tabs.rhtml +0 -16
  1369. data/clients/sc_docs/fixtures/doc.js +0 -11
  1370. data/clients/sc_docs/main.js +0 -26
  1371. data/clients/sc_docs/models/doc.js +0 -15
  1372. data/clients/sc_docs/tests/controllers/docs.rhtml +0 -20
  1373. data/clients/sc_docs/tests/models/doc.rhtml +0 -20
  1374. data/clients/sc_docs/tests/views/doc_frame.rhtml +0 -20
  1375. data/clients/sc_docs/tests/views/doc_label_view.rhtml +0 -20
  1376. data/clients/sc_docs/views/doc_frame.js +0 -33
  1377. data/clients/sc_docs/views/doc_label.js +0 -20
  1378. data/clients/sc_test_runner/HISTORY +0 -3
  1379. data/clients/sc_test_runner/README +0 -4
  1380. data/clients/sc_test_runner/controllers/runner.js +0 -203
  1381. data/clients/sc_test_runner/core.js +0 -19
  1382. data/clients/sc_test_runner/english.lproj/body.css +0 -91
  1383. data/clients/sc_test_runner/english.lproj/body.rhtml +0 -76
  1384. data/clients/sc_test_runner/english.lproj/icons/small/next.png +0 -0
  1385. data/clients/sc_test_runner/english.lproj/icons/small/reset.png +0 -0
  1386. data/clients/sc_test_runner/english.lproj/images/gradients.png +0 -0
  1387. data/clients/sc_test_runner/english.lproj/images/toolbar.png +0 -0
  1388. data/clients/sc_test_runner/english.lproj/no_tests.rhtml +0 -5
  1389. data/clients/sc_test_runner/english.lproj/strings.js +0 -14
  1390. data/clients/sc_test_runner/fixtures/test.js +0 -12
  1391. data/clients/sc_test_runner/main.js +0 -21
  1392. data/clients/sc_test_runner/models/test.js +0 -27
  1393. data/clients/sc_test_runner/views/runner_frame.js +0 -74
  1394. data/clients/sc_test_runner/views/test_label.js +0 -20
  1395. data/config/hoe.rb +0 -72
  1396. data/config/requirements.rb +0 -17
  1397. data/frameworks/prototype/HISTORY +0 -3
  1398. data/frameworks/prototype/README +0 -2
  1399. data/frameworks/prototype/prototype.js +0 -4223
  1400. data/frameworks/sproutcore/controllers/array.js +0 -409
  1401. data/frameworks/sproutcore/controllers/collection.js +0 -203
  1402. data/frameworks/sproutcore/controllers/controller.js +0 -323
  1403. data/frameworks/sproutcore/controllers/object.js +0 -401
  1404. data/frameworks/sproutcore/core.js +0 -636
  1405. data/frameworks/sproutcore/debug/trace.js +0 -81
  1406. data/frameworks/sproutcore/debug/unittest.js +0 -626
  1407. data/frameworks/sproutcore/drag/drag.js +0 -788
  1408. data/frameworks/sproutcore/drag/drag_data_source.js +0 -40
  1409. data/frameworks/sproutcore/drag/drag_source.js +0 -75
  1410. data/frameworks/sproutcore/drag/drop_target.js +0 -160
  1411. data/frameworks/sproutcore/english.lproj/buttons.css +0 -694
  1412. data/frameworks/sproutcore/english.lproj/core.css +0 -145
  1413. data/frameworks/sproutcore/english.lproj/detect-browser +0 -44
  1414. data/frameworks/sproutcore/english.lproj/icons.css +0 -227
  1415. data/frameworks/sproutcore/english.lproj/images/indicator.gif +0 -0
  1416. data/frameworks/sproutcore/english.lproj/images/sc-theme-sprite.png +0 -0
  1417. data/frameworks/sproutcore/english.lproj/menu.css +0 -122
  1418. data/frameworks/sproutcore/english.lproj/panes.css +0 -136
  1419. data/frameworks/sproutcore/english.lproj/picker.css +0 -22
  1420. data/frameworks/sproutcore/english.lproj/splitview.css +0 -83
  1421. data/frameworks/sproutcore/english.lproj/strings.js +0 -20
  1422. data/frameworks/sproutcore/english.lproj/tab.css +0 -23
  1423. data/frameworks/sproutcore/english.lproj/tests.css +0 -67
  1424. data/frameworks/sproutcore/english.lproj/theme.css +0 -502
  1425. data/frameworks/sproutcore/foundation/animator.js +0 -679
  1426. data/frameworks/sproutcore/foundation/application.js +0 -228
  1427. data/frameworks/sproutcore/foundation/benchmark.js +0 -244
  1428. data/frameworks/sproutcore/foundation/binding.js +0 -385
  1429. data/frameworks/sproutcore/foundation/date.js +0 -357
  1430. data/frameworks/sproutcore/foundation/enumerator.js +0 -105
  1431. data/frameworks/sproutcore/foundation/error.js +0 -84
  1432. data/frameworks/sproutcore/foundation/input_manager.js +0 -165
  1433. data/frameworks/sproutcore/foundation/json.js +0 -296
  1434. data/frameworks/sproutcore/foundation/mock.js +0 -42
  1435. data/frameworks/sproutcore/foundation/node_descriptor.js +0 -71
  1436. data/frameworks/sproutcore/foundation/object.js +0 -875
  1437. data/frameworks/sproutcore/foundation/page.js +0 -67
  1438. data/frameworks/sproutcore/foundation/path_module.js +0 -431
  1439. data/frameworks/sproutcore/foundation/responder.js +0 -313
  1440. data/frameworks/sproutcore/foundation/routes.js +0 -375
  1441. data/frameworks/sproutcore/foundation/run_loop.js +0 -322
  1442. data/frameworks/sproutcore/foundation/set.js +0 -222
  1443. data/frameworks/sproutcore/foundation/string.js +0 -319
  1444. data/frameworks/sproutcore/foundation/timer.js +0 -405
  1445. data/frameworks/sproutcore/foundation/undo_manager.js +0 -186
  1446. data/frameworks/sproutcore/foundation/utils.js +0 -320
  1447. data/frameworks/sproutcore/globals/panels.js +0 -182
  1448. data/frameworks/sproutcore/globals/popups.js +0 -61
  1449. data/frameworks/sproutcore/globals/window.js +0 -498
  1450. data/frameworks/sproutcore/lib/button_views.rb +0 -330
  1451. data/frameworks/sproutcore/lib/collection_view.rb +0 -83
  1452. data/frameworks/sproutcore/lib/core_views.rb +0 -326
  1453. data/frameworks/sproutcore/lib/form_views.rb +0 -253
  1454. data/frameworks/sproutcore/lib/menu_views.rb +0 -93
  1455. data/frameworks/sproutcore/mixins/array.js +0 -265
  1456. data/frameworks/sproutcore/mixins/collection_view_delegate.js +0 -201
  1457. data/frameworks/sproutcore/mixins/control.js +0 -265
  1458. data/frameworks/sproutcore/mixins/delegate_support.js +0 -66
  1459. data/frameworks/sproutcore/mixins/editable.js +0 -144
  1460. data/frameworks/sproutcore/mixins/enumerable.js +0 -1002
  1461. data/frameworks/sproutcore/mixins/inline_editor_delegate.js +0 -82
  1462. data/frameworks/sproutcore/mixins/observable.js +0 -1060
  1463. data/frameworks/sproutcore/mixins/scrollable.js +0 -246
  1464. data/frameworks/sproutcore/mixins/selection_support.js +0 -160
  1465. data/frameworks/sproutcore/mixins/validatable.js +0 -152
  1466. data/frameworks/sproutcore/models/collection.js +0 -421
  1467. data/frameworks/sproutcore/models/record.js +0 -811
  1468. data/frameworks/sproutcore/models/store.js +0 -352
  1469. data/frameworks/sproutcore/panes/dialog.js +0 -16
  1470. data/frameworks/sproutcore/panes/manager.js +0 -164
  1471. data/frameworks/sproutcore/panes/menu.js +0 -45
  1472. data/frameworks/sproutcore/panes/overlay.js +0 -235
  1473. data/frameworks/sproutcore/panes/pane.js +0 -117
  1474. data/frameworks/sproutcore/panes/panel.js +0 -19
  1475. data/frameworks/sproutcore/panes/picker.js +0 -46
  1476. data/frameworks/sproutcore/server/rails_server.js +0 -79
  1477. data/frameworks/sproutcore/server/rest_server.js +0 -177
  1478. data/frameworks/sproutcore/server/server.js +0 -629
  1479. data/frameworks/sproutcore/tests/controllers/array.rhtml +0 -126
  1480. data/frameworks/sproutcore/tests/controllers/controller.rhtml +0 -273
  1481. data/frameworks/sproutcore/tests/controllers/object.rhtml +0 -353
  1482. data/frameworks/sproutcore/tests/core/guidFor.rhtml +0 -114
  1483. data/frameworks/sproutcore/tests/foundation/application.rhtml +0 -125
  1484. data/frameworks/sproutcore/tests/foundation/array.rhtml +0 -220
  1485. data/frameworks/sproutcore/tests/foundation/object.rhtml +0 -69
  1486. data/frameworks/sproutcore/tests/foundation/set.rhtml +0 -254
  1487. data/frameworks/sproutcore/tests/foundation/timer/invalidate.rhtml +0 -33
  1488. data/frameworks/sproutcore/tests/foundation/timer/invokeLater.rhtml +0 -145
  1489. data/frameworks/sproutcore/tests/foundation/timer/isPaused.rhtml +0 -70
  1490. data/frameworks/sproutcore/tests/foundation/timer/schedule.rhtml +0 -145
  1491. data/frameworks/sproutcore/tests/globals/window.rhtml +0 -45
  1492. data/frameworks/sproutcore/tests/mixins/enumerable.rhtml +0 -421
  1493. data/frameworks/sproutcore/tests/mixins/observable.rhtml +0 -127
  1494. data/frameworks/sproutcore/tests/models/collection.rhtml +0 -160
  1495. data/frameworks/sproutcore/tests/models/model.rhtml +0 -373
  1496. data/frameworks/sproutcore/tests/panes/pane.rhtml +0 -88
  1497. data/frameworks/sproutcore/tests/views/checkbox.rhtml +0 -21
  1498. data/frameworks/sproutcore/tests/views/collection/base.rhtml +0 -211
  1499. data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +0 -260
  1500. data/frameworks/sproutcore/tests/views/collection/source_list_rendering.rhtml +0 -232
  1501. data/frameworks/sproutcore/tests/views/image_cell.rhtml +0 -19
  1502. data/frameworks/sproutcore/tests/views/label_item.rhtml +0 -19
  1503. data/frameworks/sproutcore/tests/views/list.rhtml +0 -20
  1504. data/frameworks/sproutcore/tests/views/list_item.rhtml +0 -20
  1505. data/frameworks/sproutcore/tests/views/popup_button.rhtml +0 -116
  1506. data/frameworks/sproutcore/tests/views/slider.rhtml +0 -20
  1507. data/frameworks/sproutcore/tests/views/text_cell.rhtml +0 -19
  1508. data/frameworks/sproutcore/tests/views/text_field.rhtml +0 -37
  1509. data/frameworks/sproutcore/tests/views/view/clippingFrame.rhtml +0 -401
  1510. data/frameworks/sproutcore/tests/views/view/frame.rhtml +0 -357
  1511. data/frameworks/sproutcore/tests/views/view/innerFrame.rhtml +0 -366
  1512. data/frameworks/sproutcore/tests/views/view/isVisibleInWindow.rhtml +0 -148
  1513. data/frameworks/sproutcore/tests/views/view/scrollFrame.rhtml +0 -467
  1514. data/frameworks/sproutcore/validators/credit_card.js +0 -112
  1515. data/frameworks/sproutcore/validators/date.js +0 -50
  1516. data/frameworks/sproutcore/validators/email.js +0 -47
  1517. data/frameworks/sproutcore/validators/not_empty.js +0 -34
  1518. data/frameworks/sproutcore/validators/number.js +0 -69
  1519. data/frameworks/sproutcore/validators/password.js +0 -89
  1520. data/frameworks/sproutcore/validators/validator.js +0 -314
  1521. data/frameworks/sproutcore/views/button/button.js +0 -478
  1522. data/frameworks/sproutcore/views/button/checkbox.js +0 -29
  1523. data/frameworks/sproutcore/views/button/disclosure.js +0 -42
  1524. data/frameworks/sproutcore/views/button/radio.js +0 -29
  1525. data/frameworks/sproutcore/views/collection/collection.js +0 -2764
  1526. data/frameworks/sproutcore/views/collection/grid.js +0 -251
  1527. data/frameworks/sproutcore/views/collection/image_cell.js +0 -125
  1528. data/frameworks/sproutcore/views/collection/list.js +0 -162
  1529. data/frameworks/sproutcore/views/collection/source_list.js +0 -458
  1530. data/frameworks/sproutcore/views/collection/table.js +0 -118
  1531. data/frameworks/sproutcore/views/container.js +0 -67
  1532. data/frameworks/sproutcore/views/error_explanation.js +0 -58
  1533. data/frameworks/sproutcore/views/field/checkbox_field.js +0 -40
  1534. data/frameworks/sproutcore/views/field/field.js +0 -218
  1535. data/frameworks/sproutcore/views/field/radio_field.js +0 -122
  1536. data/frameworks/sproutcore/views/field/select_field.js +0 -307
  1537. data/frameworks/sproutcore/views/field/text_field.js +0 -251
  1538. data/frameworks/sproutcore/views/field/textarea_field.js +0 -32
  1539. data/frameworks/sproutcore/views/filter_button.js +0 -29
  1540. data/frameworks/sproutcore/views/form.js +0 -597
  1541. data/frameworks/sproutcore/views/image.js +0 -255
  1542. data/frameworks/sproutcore/views/inline_text_field.js +0 -427
  1543. data/frameworks/sproutcore/views/label.js +0 -243
  1544. data/frameworks/sproutcore/views/list_item.js +0 -516
  1545. data/frameworks/sproutcore/views/menu_item.js +0 -97
  1546. data/frameworks/sproutcore/views/pagination.js +0 -62
  1547. data/frameworks/sproutcore/views/popup_button.js +0 -90
  1548. data/frameworks/sproutcore/views/popup_menu.js +0 -139
  1549. data/frameworks/sproutcore/views/progress.js +0 -125
  1550. data/frameworks/sproutcore/views/radio_group.js +0 -48
  1551. data/frameworks/sproutcore/views/scroll.js +0 -74
  1552. data/frameworks/sproutcore/views/segmented.js +0 -105
  1553. data/frameworks/sproutcore/views/slider.js +0 -134
  1554. data/frameworks/sproutcore/views/source_list_group.js +0 -130
  1555. data/frameworks/sproutcore/views/spinner.js +0 -11
  1556. data/frameworks/sproutcore/views/split.js +0 -312
  1557. data/frameworks/sproutcore/views/split_divider.js +0 -112
  1558. data/frameworks/sproutcore/views/tab.js +0 -128
  1559. data/frameworks/sproutcore/views/toolbar.js +0 -29
  1560. data/frameworks/sproutcore/views/view.js +0 -2301
  1561. data/jsdoc/app/frame/Chain.js +0 -102
  1562. data/jsdoc/app/frame/Dumper.js +0 -144
  1563. data/jsdoc/app/frame/Hash.js +0 -47
  1564. data/jsdoc/app/frame/Link.js +0 -142
  1565. data/jsdoc/app/frame/Namespace.js +0 -10
  1566. data/jsdoc/app/frame/Opt.js +0 -134
  1567. data/jsdoc/app/frame/Reflection.js +0 -26
  1568. data/jsdoc/app/frame/String.js +0 -93
  1569. data/jsdoc/app/frame/Testrun.js +0 -129
  1570. data/jsdoc/app/frame.js +0 -33
  1571. data/jsdoc/app/handlers/FOODOC.js +0 -26
  1572. data/jsdoc/app/handlers/XMLDOC.js +0 -26
  1573. data/jsdoc/app/lib/JSDOC/DocComment.js +0 -200
  1574. data/jsdoc/app/lib/JSDOC/DocTag.js +0 -294
  1575. data/jsdoc/app/lib/JSDOC/JsDoc.js +0 -180
  1576. data/jsdoc/app/lib/JSDOC/JsPlate.js +0 -100
  1577. data/jsdoc/app/lib/JSDOC/Lang.js +0 -144
  1578. data/jsdoc/app/lib/JSDOC/Parser.js +0 -109
  1579. data/jsdoc/app/lib/JSDOC/PluginManager.js +0 -33
  1580. data/jsdoc/app/lib/JSDOC/Symbol.js +0 -600
  1581. data/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -220
  1582. data/jsdoc/app/lib/JSDOC/TextStream.js +0 -41
  1583. data/jsdoc/app/lib/JSDOC/Token.js +0 -18
  1584. data/jsdoc/app/lib/JSDOC/TokenReader.js +0 -323
  1585. data/jsdoc/app/lib/JSDOC/TokenStream.js +0 -133
  1586. data/jsdoc/app/lib/JSDOC/Util.js +0 -32
  1587. data/jsdoc/app/lib/JSDOC/Walker.js +0 -416
  1588. data/jsdoc/app/lib/JSDOC.js +0 -97
  1589. data/jsdoc/app/main.js +0 -74
  1590. data/jsdoc/app/plugins/commentSrcJson.js +0 -19
  1591. data/jsdoc/app/plugins/frameworkPrototype.js +0 -16
  1592. data/jsdoc/app/plugins/functionCall.js +0 -10
  1593. data/jsdoc/app/plugins/publishSrcHilite.js +0 -62
  1594. data/jsdoc/app/plugins/symbolLink.js +0 -9
  1595. data/jsdoc/app/plugins/tagParamConfig.js +0 -31
  1596. data/jsdoc/app/plugins/tagSynonyms.js +0 -43
  1597. data/jsdoc/app/run.js +0 -346
  1598. data/jsdoc/templates/sproutcore/allclasses.tmpl +0 -17
  1599. data/jsdoc/templates/sproutcore/allfiles.tmpl +0 -56
  1600. data/jsdoc/templates/sproutcore/class.tmpl +0 -423
  1601. data/jsdoc/templates/sproutcore/index.tmpl +0 -55
  1602. data/jsdoc/templates/sproutcore/publish.js +0 -333
  1603. data/jsdoc/templates/sproutcore/static/default.css +0 -191
  1604. data/jsdoc/templates/sproutcore/static/index.html +0 -19
  1605. data/jsdoc/templates/sproutcore/symbol.tmpl +0 -35
  1606. data/lib/sproutcore/build_tools/html_builder.rb +0 -163
  1607. data/lib/sproutcore/build_tools/resource_builder.rb +0 -256
  1608. data/lib/sproutcore/build_tools/test_template.rhtml +0 -12
  1609. data/lib/sproutcore/build_tools.rb +0 -44
  1610. data/lib/sproutcore/bundle.rb +0 -802
  1611. data/lib/sproutcore/bundle_installer.rb +0 -270
  1612. data/lib/sproutcore/bundle_manifest.rb +0 -574
  1613. data/lib/sproutcore/cssmin.rb +0 -195
  1614. data/lib/sproutcore/generator_helper.rb +0 -185
  1615. data/lib/sproutcore/helpers.rb +0 -3
  1616. data/lib/sproutcore/jsdoc.rb +0 -45
  1617. data/lib/sproutcore/jsmin.rb +0 -247
  1618. data/lib/sproutcore/library.rb +0 -479
  1619. data/lib/sproutcore/merb/bundle_controller.rb +0 -297
  1620. data/lib/sproutcore/merb/router.rb +0 -50
  1621. data/lib/sproutcore/merb.rb +0 -22
  1622. data/lib/sproutcore/renderers/erubis.rb +0 -43
  1623. data/lib/sproutcore/renderers/haml.rb +0 -28
  1624. data/lib/sproutcore/renderers/sass.rb +0 -42
  1625. data/lib/sproutcore/version.rb +0 -9
  1626. data/lib/sproutcore/view_helpers.rb +0 -656
  1627. data/sc-config +0 -16
  1628. data/sc_generators/client/README +0 -3
  1629. data/sc_generators/client/USAGE +0 -11
  1630. data/sc_generators/client/client_generator.rb +0 -45
  1631. data/sc_generators/client/templates/core.js +0 -16
  1632. data/sc_generators/client/templates/english.lproj/body.css +0 -147
  1633. data/sc_generators/client/templates/english.lproj/body.rhtml +0 -18
  1634. data/sc_generators/client/templates/english.lproj/strings.js +0 -13
  1635. data/sc_generators/client/templates/main.js +0 -35
  1636. data/sc_generators/controller/USAGE +0 -15
  1637. data/sc_generators/controller/controller_generator.rb +0 -51
  1638. data/sc_generators/controller/templates/controller.js +0 -21
  1639. data/sc_generators/controller/templates/test.rhtml +0 -22
  1640. data/sc_generators/framework/README +0 -6
  1641. data/sc_generators/framework/USAGE +0 -11
  1642. data/sc_generators/framework/framework_generator.rb +0 -53
  1643. data/sc_generators/framework/templates/core.js +0 -20
  1644. data/sc_generators/framework/templates/english.lproj/strings.js +0 -13
  1645. data/sc_generators/language/USAGE +0 -13
  1646. data/sc_generators/language/language_generator.rb +0 -47
  1647. data/sc_generators/language/templates/strings.js +0 -13
  1648. data/sc_generators/model/USAGE +0 -23
  1649. data/sc_generators/model/model_generator.rb +0 -55
  1650. data/sc_generators/model/templates/fixture.js +0 -43
  1651. data/sc_generators/model/templates/model.js +0 -20
  1652. data/sc_generators/model/templates/test.rhtml +0 -21
  1653. data/sc_generators/test/USAGE +0 -15
  1654. data/sc_generators/test/templates/test.rhtml +0 -21
  1655. data/sc_generators/test/test_generator.rb +0 -47
  1656. data/sc_generators/view/USAGE +0 -15
  1657. data/sc_generators/view/templates/test.rhtml +0 -21
  1658. data/sc_generators/view/templates/view.js +0 -20
  1659. data/sc_generators/view/view_generator.rb +0 -51
  1660. data/script/destroy +0 -14
  1661. data/script/generate +0 -14
  1662. data/script/txt2html +0 -74
  1663. data/setup.rb +0 -1585
  1664. data/spec/sproutcore_spec.rb +0 -11
  1665. data/tasks/deployment.rake +0 -47
  1666. data/tasks/environment.rake +0 -7
  1667. data/tasks/rspec.rake +0 -21
  1668. data/tasks/website.rake +0 -17
@@ -1,811 +0,0 @@
1
- // ========================================================================
2
- // SproutCore
3
- // copyright 2006-2008 Sprout Systems, Inc.
4
- // ========================================================================
5
-
6
- require('foundation/object') ;
7
-
8
- /**
9
- @class
10
-
11
- A Record is the core model class in SproutCore. It is analogous to
12
- NSManagedObject in Core Data and EOEnterpriseObject in the Enterprise
13
- Objects Framework (aka WebObjects), or ActiveRecord::Base in Rails.
14
-
15
- To create a new model class, in your SproutCore workspace, do:
16
-
17
- {{{
18
- $ sc-gen model my_app/my_model
19
- }}}
20
-
21
- This will create MyApp.MyModel in clients/my_app/models/my_model.js.
22
-
23
- The core attributes hash is used to store the values of a record in a
24
- format that can be easily passed to/from the server. The values should
25
- generally be stored in their raw string form. References to external
26
- records should be stored as primary keys.
27
-
28
- Normally you do not need to work with the attributes hash directly.
29
- Instead you should use get/set on normal record properties. If the
30
- property is not defined on the object, then the record will check the
31
- attributes hash instead.
32
-
33
- You can bulk update attributes from the server using the
34
- updateAttributes() method.
35
-
36
- @extends SC.Object
37
- @since SproutCore 1.0
38
- */
39
- SC.Record = SC.Object.extend(
40
- /** @scope SC.Record.prototype */ {
41
-
42
- // ...............................
43
- // PROPERTIES
44
- //
45
-
46
- /**
47
- Override this with the properties you want the record to manage.
48
-
49
- @field
50
- @type {Array}
51
- */
52
- properties: ['guid'],
53
-
54
- /**
55
- This is the primary key used to distinguish records. If the keys
56
- match, the records are assumed to be identical.
57
-
58
- @field
59
- @type {String}
60
- */
61
- primaryKey: 'guid',
62
-
63
- /**
64
- When a new empty record is created, this will be set to true. It will be
65
- set to false again the first time the record is committed.
66
-
67
- @field
68
- @type {Boolean}
69
- */
70
- newRecord: false,
71
-
72
- /**
73
- Set to non-zero whenever the record has uncommitted changes.
74
-
75
- @field
76
- @type {Number}
77
- */
78
- changeCount: 0,
79
-
80
- /**
81
- Set to true when the record is deleted. Will cause it to be removed
82
- from any member collections. Once no more objects hold references to it,
83
- the property will be disabled.
84
-
85
- @field
86
- @type {Boolean}
87
- */
88
- isDeleted: false,
89
-
90
- // ...............................
91
- // CRUD OPERATIONS
92
- //
93
-
94
- /**
95
- Set this URL to point to the type of resource this record is.
96
-
97
- If you are using SC.Server, then put a '%@' where you expect the
98
- primaryKey to be inserted to identify the record.
99
-
100
- @field
101
- @type {String}
102
- */
103
- resourceURL: null,
104
-
105
- /**
106
- The item providing the data for this. Set to either the store or a
107
- Server. Setting it to the Store will make refresh and commit effectively
108
- null-ops.
109
-
110
- @field
111
- @type {SC.Store or SC.Server}
112
- */
113
- dataSource: SC.Store,
114
-
115
- /**
116
- The URL where this record can be refreshed. Usually you would send the value
117
- for this URL from the server in response to requests from Sproutcore.
118
-
119
- @field
120
- @type {String}
121
- */
122
- refreshURL: null,
123
-
124
- /**
125
- The URL where this record can be updated. Usually you would send the value
126
- for this URL from the server in response to requests from Sproutcore.
127
-
128
- @field
129
- @type {String}
130
- */
131
- updateURL: null,
132
-
133
- /**
134
- The URL where this record can be destroyed. Usually you would send the value
135
- for this URL from the server in response to requests from Sproutcore.
136
-
137
- @field
138
- @type {String}
139
- */
140
- destroyURL: null,
141
-
142
-
143
- init: function()
144
- {
145
- sc_super();
146
-
147
- var primaryKeyName = this.get('primaryKey');
148
- if (!this.get(primaryKeyName))
149
- {
150
- // no primary key passed for a new record.
151
- // we'll need to create one so that it can be cached in SC.Store
152
- // if this isn't desired behavior, override generateTempPrimaryKey to return false.
153
- var value = this.generateTempPrimaryKey();
154
- if (value) this.set(primaryKeyName, value);
155
- }
156
- },
157
-
158
- generateTempPrimaryKey: function()
159
- {
160
- return "@" + SC.getGUID(this);
161
- },
162
-
163
- /**
164
- Invoked by the UI to request the model object be updated from the server.
165
-
166
- Override to actually support server changes.
167
- */
168
- refresh: function() {
169
- if (!this.get('newRecord')) this.dataSource.refreshRecords([this]);
170
- },
171
-
172
- /**
173
- Invoked by the UI to tell the model this record should be saved. Override
174
- to support server changes. Note that this is used to support both the
175
- create and update components of CRUD.
176
- */
177
- commit: function() {
178
- // no longer a new record once changes have been committed.
179
- if (this.get('newRecord')) {
180
- this.dataSource.createRecords([this]) ;
181
- } else {
182
- this.dataSource.commitRecords([this]) ;
183
- }
184
- },
185
-
186
- /**
187
- This can delete the record. The non-server version just sets isDeleted.
188
- */
189
- destroy: function() { this.dataSource.destroyRecords([this]) ; },
190
-
191
- // ...............................
192
- // ATTRIBUTES
193
- //
194
- // The core attributes hash is used to store the values of a record in a
195
- // format that can be easily passed to/from the server. The values should
196
- // generally be stored in their raw string form. References to external
197
- // records should be stored as primary keys.
198
- //
199
- // Normally you do not need to work with the attributes hash directly.
200
- // Instead you should use get/set on normal record properties. If the
201
- // property is not defined on the object, then the record will check the
202
- // attributes hash instead.
203
- //
204
- // You can bulk update attributes from the server using the
205
- // updateAttributes() method.
206
-
207
- /**
208
- Gets an attribute, converting it to the proper format.
209
-
210
- @param {string} key the attribute you want to read
211
- @returns {value} the value of the key, or null if it doesn't exist
212
- **/
213
- readAttribute: function(key) {
214
- if (!this._cachedAttributes) this._cachedAttributes = {} ;
215
- var ret = this._cachedAttributes[key] ;
216
- if (ret === undefined) {
217
- var attr = this._attributes ;
218
- ret = (attr) ? attr[key] : undefined ;
219
- ret = ret || this[key] ; // also check properties...
220
- if (ret !== undefined) {
221
- var recordType = this._getRecordType(key+'Type') ;
222
- ret = this._propertyFromAttribute(ret, recordType) ;
223
- }
224
- this._cachedAttributes[key] = ret ;
225
- }
226
- return (ret === undefined) ? null : ret;
227
- },
228
-
229
- /**
230
- Updates the attribute, converting it back to the property format.
231
-
232
- @param {String} key the attribute you want to read
233
- @param {Object} value the attribute you want to read
234
- @returns {Object} the value of the key, or null if it doesn't exist
235
- **/
236
- writeAttribute: function(key, value) {
237
- var recordType = this._getRecordType(key+'Type') ;
238
- var ret = this._attributeFromProperty(value, recordType) ;
239
- if (!this._attributes) this._attributes = {} ;
240
- this._attributes[key] = ret ;
241
- if (this._cachedAttributes) delete this._cachedAttributes[key]; // clear cache.
242
- this.recordDidChange() ;
243
- return value ;
244
- },
245
-
246
- /**
247
- You can invoke this method anytime you need to make the record as dirty
248
- and needing a commit to the server.
249
- */
250
- recordDidChange: function() {
251
- this.incrementProperty('changeCount') ;
252
- },
253
-
254
- /**
255
- This will take the incoming set of attributes and update internal set.
256
-
257
- Note that if the attributes have never been set, then the object you pass
258
- in may become the new set of attribute. This assumes the attrs you pass
259
- in will not be modified later. This method also assumes it is coming from
260
- the server, so the change count will be reset.
261
-
262
- @param {Object} newAttrs the new attributes for the object
263
- @param {Boolean} replace should the overwrite the in-place attributes, or replace them entirely
264
- @returns {Boolean} isLoaded is the object loaded?
265
- **/
266
- updateAttributes: function(newAttrs, replace, isLoaded) {
267
- var changed = false ;
268
- if (this._attributes && (replace !== true)) {
269
- for(var key in newAttrs) {
270
- if (!newAttrs.hasOwnProperty(key)) continue ;
271
- if (!changed) changed = (this._attributes[key] != newAttrs[key]) ;
272
- this._attributes[key] = newAttrs[key] ;
273
- }
274
- } else {
275
- this._attributes = newAttrs ;
276
- changed = true ;
277
- }
278
-
279
- this._cachedAttributes = {} ; // reset cache.
280
-
281
- if (changed) {
282
- this.beginPropertyChanges() ;
283
- this.set('changeCount',0) ;
284
- this.set('isLoaded',isLoaded) ;
285
- this.allPropertiesDidChange() ;
286
- this.endPropertyChanges() ;
287
-
288
- if (SC.Store) SC.Store.recordDidChange(this) ;
289
- }
290
- },
291
-
292
- /**
293
- This will return the current set of attributes as a hash you can send back to the server.
294
-
295
- @returns {Object} the current attributes of the receiver
296
- **/
297
- attributes: function() {
298
- return Object.clone(this._attributes) ;
299
- }.property(),
300
-
301
- /**
302
- If you try to get/set a property not defined by the record, then this
303
- method will be called. It will try to get the value from the set of
304
- attributes.
305
-
306
- @param {String} key the attribute being get/set
307
- @param {Object} value the value to set the key to, if present
308
- @returns {Object} the value
309
- **/
310
- unknownProperty: function( key, value )
311
- {
312
- if (value !== undefined) {
313
-
314
- // if we're modifying the PKEY, then SC.Store needs to relocate where
315
- // this record is cached. store the old key, update the value, then let
316
- // the store do the housekeeping...
317
- var primaryKeyName = this.get('primaryKey');
318
- if (key == primaryKeyName)
319
- {
320
- var oldPrimaryKey = this.get(key);
321
- var newPrimaryKey = value;
322
- }
323
-
324
- this.writeAttribute(key,value);
325
-
326
- // no need to relocate if there wasn't an old key...
327
- if ((key == primaryKeyName) && oldPrimaryKey) SC.Store.relocateRecord( oldPrimaryKey, newPrimaryKey, this );
328
-
329
- } else {
330
- value = this.readAttribute(key);
331
- }
332
- return value;
333
- },
334
-
335
- _attributeFromProperty: function(value,recordType) {
336
- if (value && value instanceof Array) {
337
- var that = this;
338
- return value.map(function(v) {
339
- return that._attributeFromProperty(v,recordType);
340
- }) ;
341
- } else {
342
- var typeConverter = this._pickTypeConverter(recordType) ;
343
- if (typeConverter) return typeConverter(value,'out') ;
344
- if (recordType) {
345
- return (value) ? value.get(recordType.primaryKey()) : null ;
346
- } else return value ;
347
- }
348
- },
349
-
350
- _propertyFromAttribute: function(value,recordType) {
351
- if (value && value instanceof Array) {
352
- var max = value.get('length') ;
353
- var ret = new Array(max) ;
354
- for(var idx=0;idx<max;idx++) {
355
- var v = value.objectAt(idx) ;
356
- ret[idx] = this._propertyFromAttribute(v, recordType) ;
357
- }
358
- ret.ownerRecord = this ;
359
- return ret ;
360
-
361
- } else {
362
- var typeConverter = this._pickTypeConverter(recordType) ;
363
- if (typeConverter) return typeConverter(value,'in') ;
364
- if (recordType) {
365
- if (!value) return null ;
366
- return SC.Store.getRecordFor(value,recordType) ;
367
- } else return value ;
368
- }
369
- },
370
-
371
- _getRecordType: function(recordTypeKey) {
372
- var type = this[recordTypeKey] ;
373
- if (type && (typeof(type) == "string")) {
374
- type = eval(type) ; // look up type.
375
- if (type) this[recordTypeKey] = type ;
376
- }
377
- return type ;
378
- },
379
-
380
- // ...............................
381
- // SORTING AND COMPARING RECORDS
382
- //
383
-
384
- valueForSortKey: function(key) { return this.get(key); },
385
-
386
- /**
387
- Compares the receiver to the passed object, using the array of keys to
388
- determine the order. You can use this method as part of a call to sort()
389
- on an array.
390
-
391
- @param object {SC.Record} the other record
392
- @param orderBy {Array} array of one or more keys. Optional.
393
- @returns {Number} -1, 0, 1
394
- */
395
- compareTo: function(object, orderBy) {
396
- if (!orderBy) orderBy = [this.get('primaryKey')] ;
397
- var ret = SC.Record.SORT_SAME ; var loc ;
398
- for(loc=0; (ret == SC.Record.SORT_SAME && loc<orderBy.length); loc++) {
399
- var key = orderBy[loc] ;
400
-
401
- // determine order
402
- var asc = true ;
403
- if (key.match(/ DESC$/)) {
404
- asc = false; key = key.slice(0,-5);
405
- } else if (key.match(/ ASC$/)) {
406
- asc = true; key = key.slice(0,-4);
407
- }
408
-
409
- // if key contains a .dot then we need to get the value for the key.
410
- var keys = key.split('.') ;
411
- key = keys.shift() ;
412
-
413
- // get values for key.
414
- var a = this.valueForSortKey(key) ;
415
- var b = object.valueForSortKey(key) ;
416
-
417
- // convert the values to comparable values.
418
- a = this._comparableValueFor(a,keys) ;
419
- b = this._comparableValueFor(b,keys) ;
420
-
421
- // compare values
422
- if (asc) {
423
- ret = (a<b) ? SC.Record.SORT_BEFORE : ((a>b) ? SC.Record.SORT_AFTER : SC.Record.SORT_SAME) ;
424
- } else {
425
- ret = (a>b) ? SC.Record.SORT_BEFORE : ((a<b) ? SC.Record.SORT_AFTER : SC.Record.SORT_SAME) ;
426
- }
427
- }
428
- return ret ;
429
- },
430
-
431
- _comparableValueFor: function(value, keys) {
432
- if (keys && keys.length > 0) {
433
- var key ; var loc = 0 ;
434
- while(value && (loc < keys.length)) {
435
- key = keys[loc];
436
- value = (value.get) ? value.get(key) : value[key] ;
437
- loc++ ;
438
- }
439
-
440
- // handle records.
441
- } else value = (value && value._guid) ? value._guid : value ;
442
- return value ;
443
- },
444
-
445
- /**
446
- Used to match records to a set of conditions. By default, this will
447
- call matchCondition on each condition.
448
-
449
- @param conditions {Hash} hash of conditions
450
- @returns {Boolean} true if the receiver matches the hash of conditions.
451
- */
452
- matchConditions: function(conditions) {
453
- for(var key in conditions) {
454
- var value = conditions[key] ;
455
- if (value instanceof Array) {
456
- var loc = value.length ; var isMatch = false ;
457
- while(--loc >= 0) {
458
- if (this.matchCondition(key,value[loc])) isMatch = true ;
459
- }
460
- if (!isMatch) return false ;
461
- } else if (!this.matchCondition(key,value)) return false ;
462
- }
463
- return true ;
464
- },
465
-
466
- /**
467
- Returns true if the value of key matches the passed value. This is used
468
- by matchConditions().
469
-
470
- @param key {String} the key name
471
- @param value {Object} the value to match agains
472
- @returns {Boolean} true if matched
473
- */
474
- matchCondition: function(key, value) {
475
- var recValue = this.get(key) ;
476
- var isMatch ;
477
- var loc ;
478
-
479
- // The passed in value appears to be another record instance.
480
- // just check for equality with the record as an optimization.
481
- if (value && value.primaryKey) {
482
- if ($type(recValue) === T_ARRAY) {
483
- loc = recValue.length ;
484
- while(--loc >= 0) {
485
- if (recValue === value) return true;
486
- }
487
- } else return recValue === value ;
488
-
489
- // Otherwise, do a more in-depth compare
490
- } else {
491
- if ($type(recValue) === T_ARRAY) {
492
- loc = recValue.length ;
493
- while(--loc >= 0) {
494
- if (this._matchValue(recValue[loc],value)) return true;
495
- }
496
- } else return this._matchValue(recValue,value) ;
497
- }
498
- return false ;
499
- },
500
-
501
- _matchValue: function(recValue,value) {
502
- // if we get here with recValue as a record, we must compare by guid, so grab it
503
- if (recValue && recValue.primaryKey) recValue = recValue.get(recValue.get('primaryKey')) ;
504
- var stringify = (value instanceof RegExp);
505
- if (stringify) {
506
- if (recValue == null) return false ;
507
- return recValue.toString().match(value) ;
508
- } else {
509
- return recValue==value ;
510
- }
511
- },
512
-
513
- // ...............................
514
- // PRIVATE
515
- //
516
-
517
- toString: function() {
518
- var that = this ;
519
- var ret = this.get('properties').map(function(key) {
520
- var value = that.get(key) ;
521
- if (typeof(value) == "string") value = '"' + value + '"' ;
522
- if (value === undefined) value = "(undefined)" ;
523
- if (value === null) value = "(null)" ;
524
- return [key,value].join('=') ;
525
- }) ;
526
- return this._type.toString() + '({ ' + ret.join(', ') + ' })' ;
527
- },
528
-
529
- propertyObserver: function(observing,target,key,value) {
530
- //if ((target == this) && this.properties.include(key)) this.incrementProperty('changeCount') ;
531
- },
532
-
533
- _cprops: ['properties'],
534
-
535
- /**
536
- This method should be used by the server to push updated data into a
537
- record. The data should be a hash with strings and arrays. This will
538
- use any types you define to convert the values into their correct type.
539
- Note that references to external objects should be a string with the
540
- primaryKey value of the record.
541
-
542
- @param data {Hash} the data hash
543
- @param isLoaded {Boolean} true if the hash contains a full set of data for the record vs just a summary.
544
- @returns {void}
545
- */
546
- updateProperties: function(data,isLoaded) {
547
- var rec = this ;
548
-
549
- // for each property, if there is a value in the passed data, convert it to
550
- // the configured type.
551
- this.beginPropertyChanges() ;
552
- if (isLoaded) this.set('isLoaded',true) ;
553
- try {
554
- var loc = this.properties.length ;
555
- while(--loc >= 0) {
556
- var prop = this.properties[loc] ;
557
- var newValue = data[prop] ;
558
-
559
- //if (prop == 'tags') debugger ;
560
-
561
- // handle null values
562
- if (newValue === null) {
563
- if (rec.get(prop) != null) rec.set(prop,null) ;
564
-
565
- // handle defined, non-null values
566
- } else if (newValue !== undefined) {
567
-
568
- var oldValue = rec.get(prop) ;
569
-
570
- // get type information
571
- var recordType = rec.get(prop + 'Type') ;
572
- var typeConverter = this._pickTypeConverter(recordType) ;
573
- if (typeConverter) recordType = null ;
574
-
575
- // if array, convert each object.
576
- var isSame ; var rec = this ;
577
- if (newValue instanceof Array) {
578
- newValue = newValue.map(function(nv) {
579
- return rec._convertValueIn(nv,typeConverter,recordType) ;
580
- }) ;
581
- isSame = newValue.isEqual(oldValue) ;
582
- } else {
583
- newValue = this._convertValueIn(newValue,typeConverter,recordType);
584
- isSame = newValue == oldValue ;
585
- }
586
-
587
- // set value
588
- if (!isSame) this.set(prop,newValue) ;
589
-
590
- }
591
- }
592
- }
593
-
594
- catch(e) {
595
- console.log(this._guid + ': Exception raised on UPDATE: ' + e) ;
596
- }
597
-
598
- this.endPropertyChanges() ;
599
- this.set('changeCount',0) ;
600
- },
601
-
602
- // this is used for the update. It should return a hash with current state
603
- // of the record. This uses the types to automatically marshall properties.
604
- getPropertyData: function() {
605
- var ret = {} ;
606
- var properties = this.get('properties') || []; var loc = properties.length;
607
- while(--loc >= 0) {
608
- var key = properties[loc] ;
609
- var value = this.get(key) ;
610
- var recordType = this[key + 'Type'] ;
611
- var typeConverter = this._pickTypeConverter(recordType) ;
612
- if (typeConverter) recordType = null ;
613
-
614
- // if there is a type, use that to make the conversion.
615
- if (value instanceof Array) {
616
- var ary = [] ;
617
- for(var vloc=0;vloc<value.length;vloc++) {
618
- var v = value[vloc] ;
619
- ary.push(this._convertValueOut(v,typeConverter,recordType));
620
- }
621
- value = ary ;
622
- } else value = this._convertValueOut(value,typeConverter,recordType);
623
-
624
- // set key
625
- ret[key] = value ;
626
- }
627
- return ret ;
628
- },
629
-
630
- _pickTypeConverter: function(recordType) {
631
- var typeConverter = null ;
632
- if (recordType && recordType.isTypeConverter) {
633
- typeConverter = recordType; recordType = null ;
634
- } else if(recordType) switch(recordType) {
635
- case Date:
636
- typeConverter = SC.Record.Date; recordType = null ;
637
- break ;
638
- case Number:
639
- typeConverter = SC.Record.Number; recordType = null;
640
- break;
641
- case String:
642
- typeConverter = null; recordType = null ;
643
- break ;
644
- }
645
- return typeConverter;
646
- },
647
-
648
- _convertValueOut: function(value,typeConverter,recordType) {
649
- if (typeConverter) return typeConverter(value,'out') ;
650
- if (recordType) {
651
- return (value) ? value.get(recordType.primaryKey()) : null ;
652
- } else return value ;
653
- },
654
-
655
- _convertValueIn: function(value,typeConverter,recordType) {
656
- if (typeConverter) return typeConverter(value,'in') ;
657
- if (recordType) {
658
- return SC.Store.getRecordFor(value,recordType) ;
659
- } else return value ;
660
- },
661
-
662
- // used by the store
663
- _storeKey: function() { return this._type._storeKey(); }
664
-
665
-
666
- }) ;
667
-
668
- // Class Methods
669
- SC.Record.mixin(
670
- /** @static SC.Record */ {
671
-
672
- // Constants for sorting
673
- SORT_BEFORE: -1, SORT_AFTER: 1, SORT_SAME: 0,
674
-
675
- /**
676
- Used to find the first object matching the specified conditions. You can
677
- pass in either a simple guid or one or more hashes of conditions.
678
- */
679
- find: function(guid) {
680
- var args ;
681
- if (typeof(guid) == 'object') {
682
- args = SC.$A(arguments) ;
683
- args.push(this) ;
684
- var ret = SC.Store.findRecords.apply(SC.Store,args) ;
685
- return (ret && ret.length > 0) ? ret[0] : null ;
686
- } else return SC.Store._getRecordFor(guid,this) ;
687
- },
688
-
689
- findOrCreate: function(guid) {
690
- var ret = this.find(guid) ;
691
- if (!ret) {
692
- var opts = (typeof(guid) == "object") ? guid : { guid: guid } ;
693
- ret = this.create(opts) ;
694
- SC.Store.addRecord(ret) ;
695
- }
696
- return ret ;
697
- },
698
-
699
- // Same as find except returns all records matching the passed conditions.
700
- findAll: function(filter) {
701
- if (!filter) filter = {} ;
702
- args = SC.$A(arguments) ; args.push(this) ; // add type
703
- return SC.Store.findRecords.apply(SC.Store,args) ;
704
- },
705
-
706
- // Returns a collection with any passed settings and the receiver as a
707
- // record type.
708
- collection: function(opts) {
709
- if (!opts) opts = {} ;
710
- opts.recordType = this;
711
- return SC.Collection.create(opts) ;
712
- },
713
-
714
- /// POSSIBLY REMOVE?
715
-
716
- // defines coreRecordType as the first level of extension from SC.Record.
717
- // e.g. for SC.Record > Contact > Person, the core record type is Contact.
718
- extend: function() {
719
- var ret = SC.Object.extend.apply(this,arguments) ;
720
- if (ret.coreRecordType == null) ret.coreRecordType = ret ;
721
- return ret ;
722
- },
723
-
724
- // used by the store
725
- _storeKey: function() {
726
- return (this.coreRecordType) ? this.coreRecordType._guid : this._guid ;
727
- },
728
-
729
- primaryKey: function() { return this.prototype.primaryKey; },
730
-
731
- // this is set by extend to point to the core record type used to store
732
- // the record in the pool. The coreRecordType is always the first record
733
- // type created.
734
- coreRecordType: null,
735
-
736
- resourceURL: function() { return this.prototype.resourceURL; },
737
-
738
- // This will add a property function for your record with a collection
739
- // of records with the given type that belong to your record.
740
- hasMany: function(recordTypeString,conditionKey,opts) {
741
- opts = (opts === undefined) ? {} : Object.clone(opts) ;
742
- var conditions = opts.conditions || {} ;
743
- opts.conditions = conditions ;
744
-
745
- var privateKey = '_' + conditionKey + SC.generateGuid() ;
746
- return function() {
747
- if (!this[privateKey]) {
748
- var recordType = eval(recordTypeString);
749
- conditions[conditionKey] = this ;
750
- this[privateKey] = recordType.collection(opts) ;
751
- this[privateKey].refresh() ; // get the initial data set.
752
- }
753
- return this[privateKey] ;
754
- }.property();
755
- },
756
-
757
- // This will create a new record with the type. Include the data and an
758
- // optional data source.
759
- newRecord: function(attrs,dataSource) {
760
- if (!dataSource) dataSource = SC.Store ;
761
- var rec = this.create({ dataSource: dataSource }) ;
762
- rec.beginPropertyChanges();
763
- rec.set('newRecord',true);
764
- for(var key in attrs) {
765
- if (attrs.hasOwnProperty(key)) rec.set(key,attrs[key]) ;
766
- }
767
- rec.endPropertyChanges() ;
768
- SC.Store.addRecord(rec) ;
769
- return rec;
770
- }
771
-
772
- }) ;
773
-
774
- SC.Record.newObject = SC.Record.newRecord; // clone method
775
-
776
- // Built in Type Converters. You can also use an SC.Record.
777
- SC.Record.Date = function(value,direction) {
778
- if (direction == 'out') {
779
- if (value instanceof Date) value = value.utcFormat() ;
780
-
781
- } else if (typeof(value) == "string") {
782
- // try to parse date. trim any decimal numbers at end since Rails sends
783
- // this sometimes.
784
- var ret = Date.parseDate(value.replace(/\.\d+$/,'')) ;
785
- if (!ret) ret = new Date(value);
786
- if (ret) value = ret ;
787
- }
788
- return value ;
789
- }.typeConverter() ;
790
-
791
- SC.Record.Number = function(value,direction) {
792
- if (direction == 'out') {
793
- if (typeof(value) == "number") value = value.toString() ;
794
-
795
- } else if (typeof(value) == "string") {
796
- var ret = (value.match('.')) ? parseFloat(value) : parseInt(value,0) ;
797
- if (ret) value = ret ;
798
- }
799
- return value ;
800
- }.typeConverter() ;
801
-
802
- SC.Record.Flag = function(value, direction) {
803
- if (direction == 'out') {
804
- return value = (value) ? 't' : 'f' ;
805
- } else if (typeof(value) == "string") {
806
- return !('false0'.match(value.toLowerCase())) ;
807
- } else return (value) ? true : false ;
808
- }.typeConverter() ;
809
-
810
- SC.Record.Bool = SC.Record.Flag ;
811
-