sproutit-sproutcore 1.0.203 → 1.0.20090721145236

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. data/Rakefile +54 -189
  2. data/VERSION +1 -0
  3. data/lib/sproutcore/tools/build.rb +1 -1
  4. data/lib/sproutcore.rb +1 -9
  5. data/spec/buildtasks/build/copy_spec.rb +60 -0
  6. data/spec/buildtasks/build/spec_helper.rb +36 -0
  7. data/spec/buildtasks/manifest/catalog_spec.rb +48 -0
  8. data/spec/buildtasks/manifest/hide_buildfiles_spec.rb +125 -0
  9. data/spec/buildtasks/manifest/localize_spec.rb +97 -0
  10. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +246 -0
  11. data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +87 -0
  12. data/spec/buildtasks/manifest/prepare_build_tasks/html_spec.rb +175 -0
  13. data/spec/buildtasks/manifest/prepare_build_tasks/javascript_spec.rb +65 -0
  14. data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +70 -0
  15. data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +152 -0
  16. data/spec/buildtasks/manifest/prepare_build_tasks/sass_spec.rb +98 -0
  17. data/spec/buildtasks/manifest/prepare_build_tasks/strings_spec.rb +64 -0
  18. data/spec/buildtasks/manifest/prepare_build_tasks/tests_spec.rb +163 -0
  19. data/spec/buildtasks/manifest/prepare_spec.rb +43 -0
  20. data/spec/buildtasks/manifest/spec_helper.rb +35 -0
  21. data/spec/buildtasks/target_spec.rb +214 -0
  22. data/spec/fixtures/builder_tests/Buildfile +15 -0
  23. data/spec/fixtures/builder_tests/apps/combine_test/a.js +1 -0
  24. data/spec/fixtures/builder_tests/apps/combine_test/b.js +1 -0
  25. data/spec/fixtures/builder_tests/apps/combine_test/c.js +1 -0
  26. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/a.css +1 -0
  27. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/b.css +1 -0
  28. data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/c.css +1 -0
  29. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/bar1_sample.rhtml +2 -0
  30. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/erb_sample.html.erb +1 -0
  31. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/icons/image.png +0 -0
  32. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/image.jpg +0 -0
  33. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/rhtml_sample.rhtml +1 -0
  34. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/strings.js +4 -0
  35. data/spec/fixtures/builder_tests/apps/html_test/english.lproj/style.css +0 -0
  36. data/spec/fixtures/builder_tests/apps/html_test/french.lproj/french-icons/fr.png +0 -0
  37. data/spec/fixtures/builder_tests/apps/html_test/french.lproj/strings.js +4 -0
  38. data/spec/fixtures/builder_tests/apps/html_test/lib/layout_template.rhtml +1 -0
  39. data/spec/fixtures/builder_tests/apps/html_test/scripts.js +0 -0
  40. data/spec/fixtures/builder_tests/apps/javascript_test/sc_static.js +15 -0
  41. data/spec/fixtures/builder_tests/apps/javascript_test/sc_super.js +4 -0
  42. data/spec/fixtures/builder_tests/apps/javascript_test/strings.js +7 -0
  43. data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +3 -0
  44. data/spec/fixtures/builder_tests/apps/strings_test/lproj/strings.js +8 -0
  45. data/spec/fixtures/builder_tests/apps/stylesheet_test/build_directives.css +9 -0
  46. data/spec/fixtures/builder_tests/apps/stylesheet_test/sc_static.css +12 -0
  47. data/spec/fixtures/builder_tests/apps/test_test/lib/alt_layout.rhtml +1 -0
  48. data/spec/fixtures/builder_tests/apps/test_test/lib/test_layout.rhtml +3 -0
  49. data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test.js +1 -0
  50. data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test2.js +1 -0
  51. data/spec/fixtures/builder_tests/apps/test_test/tests/rhtml_test.rhtml +4 -0
  52. data/spec/fixtures/builder_tests/frameworks/debug/core.js +0 -0
  53. data/spec/fixtures/builder_tests/frameworks/debug/english.lproj/dummy.css +0 -0
  54. data/spec/fixtures/builder_tests/frameworks/qunit/core.js +0 -0
  55. data/spec/fixtures/builder_tests/frameworks/qunit/english.lproj/dummy.css +0 -0
  56. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/req_style_1.css +0 -0
  57. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/strings.js +4 -0
  58. data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/test.rhtml +1 -0
  59. data/spec/fixtures/builder_tests/frameworks/req_target_1/req_js_1.js +0 -0
  60. data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/req_style_2.css +0 -0
  61. data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/test.rhtml +1 -0
  62. data/spec/fixtures/builder_tests/frameworks/req_target_2/javascript.js +1 -0
  63. data/spec/fixtures/builder_tests/frameworks/req_target_2/lib/alt_layout.rhtml +0 -0
  64. data/spec/fixtures/builder_tests/frameworks/req_target_2/req_js_2.js +0 -0
  65. data/spec/fixtures/builder_tests/themes/sample_theme/Buildfile +1 -0
  66. data/spec/fixtures/buildfiles/basic/Buildfile +16 -0
  67. data/spec/fixtures/buildfiles/basic/task_module.rake +6 -0
  68. data/spec/fixtures/buildfiles/installed/Buildfile +7 -0
  69. data/spec/fixtures/buildfiles/installed/Buildfile2 +5 -0
  70. data/spec/fixtures/buildfiles/project_test/Buildfile +4 -0
  71. data/spec/fixtures/buildfiles/project_test/not_project/Buildfile +2 -0
  72. data/spec/fixtures/buildfiles/project_test/not_project/child/PLACEHOLDER +0 -0
  73. data/spec/fixtures/entry_for_project/Buildfile +1 -0
  74. data/spec/fixtures/entry_for_project/apps/test_app/entry.txt +0 -0
  75. data/spec/fixtures/entry_for_project/apps/test_app/frameworks/nested/PLACEHOLDER +0 -0
  76. data/spec/fixtures/entry_for_project/frameworks/shared/PLACEHOLDER +0 -0
  77. data/spec/fixtures/find_targets/custom/Buildfile +8 -0
  78. data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar1/PLACEHOLDER +0 -0
  79. data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar2/PLACEHOLDER +0 -0
  80. data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo1/PLACEHOLDER +0 -0
  81. data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo2/PLACEHOLDER +0 -0
  82. data/spec/fixtures/find_targets/custom/foos/custom_foos/Buildfile +5 -0
  83. data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo1/PLACEHOLDER +0 -0
  84. data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo2/PLACEHOLDER +0 -0
  85. data/spec/fixtures/find_targets/custom/foos/custom_foos/foos/not_foo1/PLACEHOLDER +0 -0
  86. data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar1/PLACEHOLDER +0 -0
  87. data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar2/PLACEHOLDER +0 -0
  88. data/spec/fixtures/find_targets/nested/Buildfile +8 -0
  89. data/spec/fixtures/find_targets/nested/apps/app1/Buildfile +1 -0
  90. data/spec/fixtures/find_targets/nested/apps/app1/apps/nested_app/PLACEHOLDER +0 -0
  91. data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework1/PLACEHOLDER +0 -0
  92. data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework2/PLACEHOLDER +0 -0
  93. data/spec/fixtures/find_targets/standard/clients/client1/PLACEHOLDER +0 -0
  94. data/spec/fixtures/find_targets/standard/frameworks/framework1/frameworks/framework1/PLACEHOLDER +0 -0
  95. data/spec/fixtures/find_targets/standard/frameworks/framework2/PLACEHOLDER +0 -0
  96. data/spec/fixtures/find_targets/standard/themes/theme1/PLACEHOLDER +0 -0
  97. data/spec/fixtures/find_targets/standard/themes/theme2/PLACEHOLDER +0 -0
  98. data/spec/fixtures/languages/apps/caps_long_names/English.lproj/PLACEHOLDER +0 -0
  99. data/spec/fixtures/languages/apps/caps_long_names/FreNCH.lproj/PLACEHOLDER +0 -0
  100. data/spec/fixtures/languages/apps/caps_long_names/UnknOWN.lproj/PLACEHOLDER +0 -0
  101. data/spec/fixtures/languages/apps/long_names/english.lproj/PLACEHOLDER +0 -0
  102. data/spec/fixtures/languages/apps/long_names/french.lproj/PLACEHOLDER +0 -0
  103. data/spec/fixtures/languages/apps/long_names/german.lproj/PLACEHOLDER +0 -0
  104. data/spec/fixtures/languages/apps/long_names/italian.lproj/PLACEHOLDER +0 -0
  105. data/spec/fixtures/languages/apps/long_names/japanese.lproj/PLACEHOLDER +0 -0
  106. data/spec/fixtures/languages/apps/long_names/spanish.lproj/PLACEHOLDER +0 -0
  107. data/spec/fixtures/languages/apps/long_names/unknown.lproj/PLACEHOLDER +0 -0
  108. data/spec/fixtures/languages/apps/no_names/PLACEHOLDER +0 -0
  109. data/spec/fixtures/languages/apps/short_names/de.lproj/PLACEHOLDER +0 -0
  110. data/spec/fixtures/languages/apps/short_names/en-CA.lproj/PLACEHOLDER +0 -0
  111. data/spec/fixtures/languages/apps/short_names/en-GB.lproj/PLACEHOLDER +0 -0
  112. data/spec/fixtures/languages/apps/short_names/en-US.lproj/PLACEHOLDER +0 -0
  113. data/spec/fixtures/languages/apps/short_names/en.lproj/PLACEHOLDER +0 -0
  114. data/spec/fixtures/languages/apps/short_names/es.lproj/PLACEHOLDER +0 -0
  115. data/spec/fixtures/languages/apps/short_names/foo.lproj/PLACEHOLDER +0 -0
  116. data/spec/fixtures/languages/apps/short_names/fr.lproj/PLACEHOLDER +0 -0
  117. data/spec/fixtures/languages/apps/short_names/it.lproj/PLACEHOLDER +0 -0
  118. data/spec/fixtures/languages/apps/short_names/ja.lproj/PLACEHOLDER +0 -0
  119. data/spec/fixtures/ordered_entries/apps/no_requires/1.js +1 -0
  120. data/spec/fixtures/ordered_entries/apps/no_requires/B.js +1 -0
  121. data/spec/fixtures/ordered_entries/apps/no_requires/a/a.js +1 -0
  122. data/spec/fixtures/ordered_entries/apps/no_requires/a/b.js +1 -0
  123. data/spec/fixtures/ordered_entries/apps/no_requires/a.js +1 -0
  124. data/spec/fixtures/ordered_entries/apps/no_requires/b/a.js +1 -0
  125. data/spec/fixtures/ordered_entries/apps/no_requires/c.js +1 -0
  126. data/spec/fixtures/ordered_entries/apps/no_requires/core.js +1 -0
  127. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/B.css +0 -0
  128. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/a.css +0 -0
  129. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/b.css +0 -0
  130. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a.css +0 -0
  131. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/b/a.css +0 -0
  132. data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/c.css +0 -0
  133. data/spec/fixtures/ordered_entries/apps/no_requires/lproj/strings.js +1 -0
  134. data/spec/fixtures/ordered_entries/apps/no_requires/utils.js +1 -0
  135. data/spec/fixtures/ordered_entries/apps/with_requires/a.js +2 -0
  136. data/spec/fixtures/ordered_entries/apps/with_requires/b.js +3 -0
  137. data/spec/fixtures/ordered_entries/apps/with_requires/c.js +2 -0
  138. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/a.css +2 -0
  139. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/b.css +2 -0
  140. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/c.css +2 -0
  141. data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/d.js +1 -0
  142. data/spec/fixtures/real_world/Buildfile +12 -0
  143. data/spec/fixtures/real_world/apps/account/README +1 -0
  144. data/spec/fixtures/real_world/apps/calendar/README +1 -0
  145. data/spec/fixtures/real_world/apps/contacts/README_BEFORE_EDITING +1 -0
  146. data/spec/fixtures/real_world/apps/files/README +1 -0
  147. data/spec/fixtures/real_world/apps/mail/README +1 -0
  148. data/spec/fixtures/real_world/apps/mobile_photos/README +1 -0
  149. data/spec/fixtures/real_world/apps/photos/README +1 -0
  150. data/spec/fixtures/real_world/apps/uploader/README +1 -0
  151. data/spec/fixtures/real_world/frameworks/core_files/PLACEHOLDER +0 -0
  152. data/spec/fixtures/real_world/frameworks/core_photos/PLACEHOLDER +0 -0
  153. data/spec/fixtures/real_world/frameworks/shared/PLACEHOLDER +0 -0
  154. data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +26 -0
  155. data/spec/fixtures/real_world/frameworks/sproutcore/README +1 -0
  156. data/spec/fixtures/real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER +0 -0
  157. data/spec/fixtures/real_world/frameworks/sproutcore/apps/test_runner/PLACEHOLDER +0 -0
  158. data/spec/fixtures/real_world/frameworks/sproutcore/core.js +0 -0
  159. data/spec/fixtures/real_world/frameworks/sproutcore/debug/debug-resource.html +0 -0
  160. data/spec/fixtures/real_world/frameworks/sproutcore/debug/sample_debug.js +0 -0
  161. data/spec/fixtures/real_world/frameworks/sproutcore/demo2.js +0 -0
  162. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/debug/sample_debug-loc.js +0 -0
  163. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.css +4 -0
  164. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.html +1 -0
  165. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo2.sass +0 -0
  166. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.haml +0 -0
  167. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.html.erb +1 -0
  168. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.rhtml +0 -0
  169. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/fixtures/sample_fixtures-loc.js +0 -0
  170. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/has_require.css +4 -0
  171. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_require.css +1 -0
  172. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_sc_resource.rhtml +1 -0
  173. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/protocols/sample-loc.js +0 -0
  174. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.css +6 -0
  175. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.rhtml +3 -0
  176. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/strings.js +1 -0
  177. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/tests/sample-loc.js +0 -0
  178. data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample-json-fixture.json +1 -0
  179. data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample_fixtures.js +0 -0
  180. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/application/PLACEHOLDER +0 -0
  181. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/costello/core.js +0 -0
  182. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/data_store/PLACEHOLDER +0 -0
  183. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/debug/PLACEHOLDER +0 -0
  184. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/desktop/PLACEHOLDER +0 -0
  185. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/empty_theme/PLACEHOLDER +0 -0
  186. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/foundation/PLACEHOLDER +0 -0
  187. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/mobile/PLACEHOLDER +0 -0
  188. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/qunit/PLACEHOLDER +0 -0
  189. data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/uploader/PLACEHOLDER +0 -0
  190. data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/french-resource.js +0 -0
  191. data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/strings.js +1 -0
  192. data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/german-resource.js +0 -0
  193. data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/strings.js +0 -0
  194. data/spec/fixtures/real_world/frameworks/sproutcore/has_require.js +4 -0
  195. data/spec/fixtures/real_world/frameworks/sproutcore/lib/index.html +1 -0
  196. data/spec/fixtures/real_world/frameworks/sproutcore/no_require.js +1 -0
  197. data/spec/fixtures/real_world/frameworks/sproutcore/protocols/sample.js +0 -0
  198. data/spec/fixtures/real_world/frameworks/sproutcore/sc_resource.js +6 -0
  199. data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample1.js +0 -0
  200. data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample2.js +0 -0
  201. data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.js +0 -0
  202. data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.rhtml +1 -0
  203. data/spec/fixtures/real_world/frameworks/sproutcore/themes/standard_theme/README +0 -0
  204. data/spec/fixtures/real_world/frameworks/sproutcore/views/view.js +1 -0
  205. data/spec/fixtures/real_world/generators/sample_custom/Buildfile +0 -0
  206. data/spec/fixtures/recursive_project/Buildfile +8 -0
  207. data/spec/fixtures/recursive_project/frameworks/sproutcore/frameworks/costello/PLACEHOLDER +0 -0
  208. data/spec/lib/builders/combine_spec.rb +67 -0
  209. data/spec/lib/builders/html_spec.rb +577 -0
  210. data/spec/lib/builders/javascript_spec.rb +81 -0
  211. data/spec/lib/builders/sass_spec.rb +43 -0
  212. data/spec/lib/builders/spec_helper.rb +30 -0
  213. data/spec/lib/builders/strings_spec.rb +52 -0
  214. data/spec/lib/builders/stylesheet_spec.rb +63 -0
  215. data/spec/lib/builders/test_index_spec.rb +44 -0
  216. data/spec/lib/builders/test_spec.rb +135 -0
  217. data/spec/lib/buildfile/config_for_spec.rb +81 -0
  218. data/spec/lib/buildfile/define_spec.rb +59 -0
  219. data/spec/lib/buildfile/dup_spec.rb +65 -0
  220. data/spec/lib/buildfile/invoke_spec.rb +130 -0
  221. data/spec/lib/buildfile/load_spec.rb +49 -0
  222. data/spec/lib/buildfile/task/dup_spec.rb +55 -0
  223. data/spec/lib/buildfile/task_defined_spec.rb +17 -0
  224. data/spec/lib/buildfile_commands/build_task_spec.rb +19 -0
  225. data/spec/lib/buildfile_commands/config_spec.rb +97 -0
  226. data/spec/lib/buildfile_commands/import_spec.rb +17 -0
  227. data/spec/lib/buildfile_commands/namespace_spec.rb +18 -0
  228. data/spec/lib/buildfile_commands/proxies_spec.rb +38 -0
  229. data/spec/lib/buildfile_commands/replace_task_spec.rb +29 -0
  230. data/spec/lib/buildfile_commands/task_spec.rb +36 -0
  231. data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +26 -0
  232. data/spec/lib/models/hash_struct/deep_clone_spec.rb +27 -0
  233. data/spec/lib/models/hash_struct/has_options_spec.rb +32 -0
  234. data/spec/lib/models/hash_struct/hash_spec.rb +64 -0
  235. data/spec/lib/models/hash_struct/merge_spec.rb +26 -0
  236. data/spec/lib/models/hash_struct/method_missing.rb +41 -0
  237. data/spec/lib/models/manifest/add_entry_spec.rb +36 -0
  238. data/spec/lib/models/manifest/add_transform_spec.rb +90 -0
  239. data/spec/lib/models/manifest/build_spec.rb +78 -0
  240. data/spec/lib/models/manifest/entry_for_spec.rb +94 -0
  241. data/spec/lib/models/manifest/find_entry.rb +84 -0
  242. data/spec/lib/models/manifest/prepare_spec.rb +62 -0
  243. data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +31 -0
  244. data/spec/lib/models/manifest_entry/prepare_spec.rb +54 -0
  245. data/spec/lib/models/project/add_target_spec.rb +44 -0
  246. data/spec/lib/models/project/buildfile_spec.rb +35 -0
  247. data/spec/lib/models/project/find_targets_for_spec.rb +77 -0
  248. data/spec/lib/models/project/load_nearest_project_spec.rb +23 -0
  249. data/spec/lib/models/project/target_for_spec.rb +33 -0
  250. data/spec/lib/models/project/targets_spec.rb +62 -0
  251. data/spec/lib/models/target/compute_build_number_spec.rb +125 -0
  252. data/spec/lib/models/target/config_spec.rb +30 -0
  253. data/spec/lib/models/target/expand_required_targets_spec.rb +48 -0
  254. data/spec/lib/models/target/installed_languages_spec.rb +47 -0
  255. data/spec/lib/models/target/lproj_for_spec.rb +38 -0
  256. data/spec/lib/models/target/manifest_for_spec.rb +42 -0
  257. data/spec/lib/models/target/parent_target_spec.rb +21 -0
  258. data/spec/lib/models/target/prepare_spec.rb +53 -0
  259. data/spec/lib/models/target/required_targets_spec.rb +119 -0
  260. data/spec/lib/models/target/target_for_spec.rb +56 -0
  261. data/spec/lib/tools/build_number_spec.rb +28 -0
  262. data/spec/lib/tools/gen_spec.rb +207 -0
  263. data/spec/lib/tools/tools_spec.rb +78 -0
  264. data/spec/spec_helper.rb +138 -0
  265. data/sproutcore-abbot.gemspec +640 -0
  266. data/vendor/jsdoc/templates/jsdoc/allclasses.tmpl +17 -0
  267. data/vendor/jsdoc/templates/jsdoc/allfiles.tmpl +56 -0
  268. data/vendor/jsdoc/templates/jsdoc/class.tmpl +487 -0
  269. data/vendor/jsdoc/templates/jsdoc/index.tmpl +38 -0
  270. data/vendor/jsdoc/templates/jsdoc/symbol.tmpl +35 -0
  271. data/vendor/jsdoc/templates/sproutcore/allclasses.tmpl +0 -0
  272. data/vendor/jsdoc/templates/sproutcore/allfiles.tmpl +56 -0
  273. data/vendor/jsdoc/templates/sproutcore/class.tmpl +674 -0
  274. data/vendor/jsdoc/templates/sproutcore/index.tmpl +55 -0
  275. data/vendor/jsdoc/templates/sproutcore/symbol.tmpl +35 -0
  276. metadata +351 -664
  277. data/VERSION.yml +0 -5
  278. data/frameworks/sproutcore/Buildfile +0 -64
  279. data/frameworks/sproutcore/HISTORY +0 -682
  280. data/frameworks/sproutcore/README +0 -23
  281. data/frameworks/sproutcore/apps/docs/core.js +0 -27
  282. data/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +0 -9
  283. data/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +0 -22
  284. data/frameworks/sproutcore/apps/docs/english.lproj/strings.js +0 -15
  285. data/frameworks/sproutcore/apps/docs/main.js +0 -30
  286. data/frameworks/sproutcore/apps/tests/controllers/detail.js +0 -16
  287. data/frameworks/sproutcore/apps/tests/controllers/source.js +0 -29
  288. data/frameworks/sproutcore/apps/tests/controllers/target.js +0 -26
  289. data/frameworks/sproutcore/apps/tests/controllers/targets.js +0 -86
  290. data/frameworks/sproutcore/apps/tests/controllers/tests.js +0 -33
  291. data/frameworks/sproutcore/apps/tests/core.js +0 -133
  292. data/frameworks/sproutcore/apps/tests/data_source.js +0 -96
  293. data/frameworks/sproutcore/apps/tests/english.lproj/loading.rhtml +0 -9
  294. data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +0 -39
  295. data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +0 -232
  296. data/frameworks/sproutcore/apps/tests/english.lproj/strings.js +0 -26
  297. data/frameworks/sproutcore/apps/tests/fixtures/target.js +0 -87
  298. data/frameworks/sproutcore/apps/tests/fixtures/test.js +0 -44
  299. data/frameworks/sproutcore/apps/tests/main.js +0 -28
  300. data/frameworks/sproutcore/apps/tests/models/target.js +0 -92
  301. data/frameworks/sproutcore/apps/tests/models/test.js +0 -48
  302. data/frameworks/sproutcore/apps/tests/states/no_targets.js +0 -26
  303. data/frameworks/sproutcore/apps/tests/states/ready.js +0 -56
  304. data/frameworks/sproutcore/apps/tests/states/ready_detail.js +0 -41
  305. data/frameworks/sproutcore/apps/tests/states/ready_empty.js +0 -48
  306. data/frameworks/sproutcore/apps/tests/states/ready_list.js +0 -41
  307. data/frameworks/sproutcore/apps/tests/states/ready_loading.js +0 -44
  308. data/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +0 -31
  309. data/frameworks/sproutcore/apps/tests/states/start.js +0 -39
  310. data/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +0 -15
  311. data/frameworks/sproutcore/apps/tests/tests/controllers/source.js +0 -15
  312. data/frameworks/sproutcore/apps/tests/tests/controllers/target.js +0 -15
  313. data/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +0 -15
  314. data/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +0 -15
  315. data/frameworks/sproutcore/apps/tests/tests/models/target.js +0 -15
  316. data/frameworks/sproutcore/apps/tests/tests/models/test.js +0 -15
  317. data/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +0 -15
  318. data/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +0 -26
  319. data/frameworks/sproutcore/apps/welcome/core.js +0 -23
  320. data/frameworks/sproutcore/apps/welcome/english.lproj/loading.rhtml +0 -8
  321. data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +0 -43
  322. data/frameworks/sproutcore/apps/welcome/english.lproj/strings.js +0 -15
  323. data/frameworks/sproutcore/apps/welcome/main.js +0 -36
  324. data/frameworks/sproutcore/design/Record State Table.numbers +0 -0
  325. data/frameworks/sproutcore/frameworks/datastore/core.js +0 -14
  326. data/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +0 -113
  327. data/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +0 -273
  328. data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +0 -311
  329. data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures_with_queries.js +0 -238
  330. data/frameworks/sproutcore/frameworks/datastore/debug/json.js +0 -71
  331. data/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +0 -96
  332. data/frameworks/sproutcore/frameworks/datastore/fixtures/author_fixtures.js +0 -2503
  333. data/frameworks/sproutcore/frameworks/datastore/fixtures/sample.js +0 -17
  334. data/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +0 -92
  335. data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +0 -54
  336. data/frameworks/sproutcore/frameworks/datastore/models/record.js +0 -561
  337. data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +0 -423
  338. data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +0 -158
  339. data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +0 -488
  340. data/frameworks/sproutcore/frameworks/datastore/system/query.js +0 -979
  341. data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +0 -287
  342. data/frameworks/sproutcore/frameworks/datastore/system/store.js +0 -2007
  343. data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +0 -121
  344. data/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +0 -114
  345. data/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +0 -91
  346. data/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +0 -56
  347. data/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +0 -94
  348. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +0 -30
  349. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +0 -73
  350. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +0 -238
  351. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +0 -48
  352. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +0 -42
  353. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +0 -138
  354. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +0 -46
  355. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +0 -71
  356. data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +0 -204
  357. data/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +0 -178
  358. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +0 -40
  359. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +0 -117
  360. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +0 -135
  361. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +0 -110
  362. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +0 -99
  363. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +0 -180
  364. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +0 -126
  365. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +0 -163
  366. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +0 -166
  367. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare_records.js +0 -126
  368. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +0 -165
  369. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +0 -82
  370. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/find_all.js +0 -362
  371. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/parsing.js +0 -170
  372. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +0 -43
  373. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +0 -60
  374. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +0 -67
  375. data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +0 -164
  376. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +0 -54
  377. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +0 -126
  378. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +0 -126
  379. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +0 -73
  380. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +0 -72
  381. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +0 -78
  382. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +0 -249
  383. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +0 -106
  384. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +0 -21
  385. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +0 -61
  386. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +0 -74
  387. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +0 -74
  388. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +0 -74
  389. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +0 -144
  390. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +0 -137
  391. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +0 -130
  392. data/frameworks/sproutcore/frameworks/debug/core.js +0 -61
  393. data/frameworks/sproutcore/frameworks/deprecated/core.js +0 -59
  394. data/frameworks/sproutcore/frameworks/deprecated/lib/button_views.rb +0 -330
  395. data/frameworks/sproutcore/frameworks/deprecated/lib/collection_view.rb +0 -83
  396. data/frameworks/sproutcore/frameworks/deprecated/lib/core_views.rb +0 -326
  397. data/frameworks/sproutcore/frameworks/deprecated/lib/form_views.rb +0 -253
  398. data/frameworks/sproutcore/frameworks/deprecated/lib/index.rhtml +0 -75
  399. data/frameworks/sproutcore/frameworks/deprecated/lib/menu_views.rb +0 -93
  400. data/frameworks/sproutcore/frameworks/deprecated/server/rails_server.js +0 -80
  401. data/frameworks/sproutcore/frameworks/deprecated/server/rest_server.js +0 -178
  402. data/frameworks/sproutcore/frameworks/deprecated/server/server.js +0 -673
  403. data/frameworks/sproutcore/frameworks/deprecated/system/animator.js +0 -679
  404. data/frameworks/sproutcore/frameworks/deprecated/system/binding.js +0 -36
  405. data/frameworks/sproutcore/frameworks/deprecated/system/browser.js +0 -75
  406. data/frameworks/sproutcore/frameworks/deprecated/system/classic_responder.js +0 -312
  407. data/frameworks/sproutcore/frameworks/deprecated/system/event.js +0 -58
  408. data/frameworks/sproutcore/frameworks/deprecated/system/globals.js +0 -20
  409. data/frameworks/sproutcore/frameworks/deprecated/system/misc.js +0 -58
  410. data/frameworks/sproutcore/frameworks/deprecated/system/node_descriptor.js +0 -72
  411. data/frameworks/sproutcore/frameworks/deprecated/system/object.js +0 -122
  412. data/frameworks/sproutcore/frameworks/deprecated/system/path_module.js +0 -432
  413. data/frameworks/sproutcore/frameworks/deprecated/system/string.js +0 -107
  414. data/frameworks/sproutcore/frameworks/deprecated/tests/application/application.rhtml +0 -125
  415. data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/clippingFrame.rhtml +0 -401
  416. data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/frame.rhtml +0 -357
  417. data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/isVisibleInWindow.rhtml +0 -147
  418. data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/base.rhtml +0 -298
  419. data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/incremental_rendering.rhtml +0 -260
  420. data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/source_list_rendering.rhtml +0 -143
  421. data/frameworks/sproutcore/frameworks/deprecated/tests/views/popup_button.rhtml +0 -128
  422. data/frameworks/sproutcore/frameworks/deprecated/tests/views/text_field.rhtml +0 -37
  423. data/frameworks/sproutcore/frameworks/deprecated/views/collection.js +0 -24
  424. data/frameworks/sproutcore/frameworks/designer/coders/design.js +0 -29
  425. data/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -27
  426. data/frameworks/sproutcore/frameworks/designer/coders/object.js +0 -347
  427. data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +0 -102
  428. data/frameworks/sproutcore/frameworks/designer/css/css_rule.js +0 -22
  429. data/frameworks/sproutcore/frameworks/designer/css/css_style.js +0 -29
  430. data/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +0 -201
  431. data/frameworks/sproutcore/frameworks/designer/ext/page.js +0 -86
  432. data/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -38
  433. data/frameworks/sproutcore/frameworks/designer/views/controls/button.js +0 -17
  434. data/frameworks/sproutcore/frameworks/designer/views/designer.js +0 -569
  435. data/frameworks/sproutcore/frameworks/designer/views/label.js +0 -16
  436. data/frameworks/sproutcore/frameworks/designer/views/mixins/button.js +0 -11
  437. data/frameworks/sproutcore/frameworks/designer/views/tab.js +0 -16
  438. data/frameworks/sproutcore/frameworks/desktop/core.js +0 -6
  439. data/frameworks/sproutcore/frameworks/desktop/debug/drag.js +0 -41
  440. data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +0 -56
  441. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/a_sample_image.jpg +0 -0
  442. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/apple-logo1.jpeg +0 -0
  443. data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/iframe.html +0 -23
  444. data/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -71
  445. data/frameworks/sproutcore/frameworks/desktop/english.lproj/drag.css +0 -6
  446. data/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -943
  447. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_222222.png +0 -0
  448. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_454545.png +0 -0
  449. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_888888.png +0 -0
  450. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_ffffff.png +0 -0
  451. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png +0 -0
  452. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/indicator.gif +0 -0
  453. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-x.png +0 -0
  454. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-y.png +0 -0
  455. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sc-theme-sprite.png +0 -0
  456. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/000000.png +0 -0
  457. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/ffffff.png +0 -0
  458. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sticky-note.png +0 -0
  459. data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -209
  460. data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +0 -100
  461. data/frameworks/sproutcore/frameworks/desktop/english.lproj/modal.css +0 -5
  462. data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +0 -95
  463. data/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +0 -39
  464. data/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +0 -31
  465. data/frameworks/sproutcore/frameworks/desktop/english.lproj/radio.css +0 -10
  466. data/frameworks/sproutcore/frameworks/desktop/english.lproj/scroller.css +0 -26
  467. data/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +0 -141
  468. data/frameworks/sproutcore/frameworks/desktop/english.lproj/separator.css +0 -19
  469. data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +0 -62
  470. data/frameworks/sproutcore/frameworks/desktop/english.lproj/split.css +0 -70
  471. data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +0 -9
  472. data/frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js +0 -14
  473. data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +0 -12
  474. data/frameworks/sproutcore/frameworks/desktop/english.lproj/toolbar.css +0 -6
  475. data/frameworks/sproutcore/frameworks/desktop/mixins/border.js +0 -53
  476. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +0 -22
  477. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +0 -61
  478. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +0 -283
  479. data/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +0 -247
  480. data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +0 -408
  481. data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +0 -651
  482. data/frameworks/sproutcore/frameworks/desktop/panes/modal.js +0 -68
  483. data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +0 -63
  484. data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +0 -184
  485. data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +0 -400
  486. data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +0 -46
  487. data/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +0 -39
  488. data/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +0 -81
  489. data/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +0 -175
  490. data/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +0 -280
  491. data/frameworks/sproutcore/frameworks/desktop/system/drag.js +0 -827
  492. data/frameworks/sproutcore/frameworks/desktop/system/key_bindings.js +0 -40
  493. data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +0 -641
  494. data/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +0 -187
  495. data/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +0 -43
  496. data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +0 -10
  497. data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +0 -152
  498. data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +0 -55
  499. data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +0 -59
  500. data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +0 -10
  501. data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +0 -35
  502. data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +0 -10
  503. data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +0 -40
  504. data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +0 -10
  505. data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +0 -84
  506. data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +0 -10
  507. data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +0 -38
  508. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +0 -45
  509. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +0 -159
  510. data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +0 -144
  511. data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +0 -99
  512. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +0 -249
  513. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +0 -82
  514. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +0 -199
  515. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +0 -288
  516. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +0 -65
  517. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +0 -88
  518. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +0 -165
  519. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +0 -121
  520. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +0 -177
  521. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +0 -240
  522. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +0 -191
  523. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +0 -197
  524. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +0 -141
  525. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +0 -182
  526. data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +0 -10
  527. data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +0 -64
  528. data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +0 -10
  529. data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +0 -10
  530. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +0 -183
  531. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +0 -133
  532. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +0 -132
  533. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +0 -56
  534. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +0 -167
  535. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +0 -127
  536. data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +0 -284
  537. data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +0 -10
  538. data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +0 -44
  539. data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +0 -128
  540. data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +0 -240
  541. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +0 -113
  542. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +0 -202
  543. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +0 -139
  544. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +0 -111
  545. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +0 -102
  546. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/ui.js +0 -70
  547. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +0 -95
  548. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +0 -222
  549. data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +0 -81
  550. data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +0 -100
  551. data/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +0 -37
  552. data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +0 -10
  553. data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +0 -10
  554. data/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +0 -50
  555. data/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +0 -52
  556. data/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +0 -231
  557. data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -54
  558. data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +0 -88
  559. data/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +0 -10
  560. data/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +0 -110
  561. data/frameworks/sproutcore/frameworks/desktop/views/button.js +0 -331
  562. data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +0 -105
  563. data/frameworks/sproutcore/frameworks/desktop/views/collection.js +0 -2757
  564. data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +0 -44
  565. data/frameworks/sproutcore/frameworks/desktop/views/form.js +0 -594
  566. data/frameworks/sproutcore/frameworks/desktop/views/grid.js +0 -201
  567. data/frameworks/sproutcore/frameworks/desktop/views/list.js +0 -540
  568. data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +0 -660
  569. data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +0 -587
  570. data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +0 -68
  571. data/frameworks/sproutcore/frameworks/desktop/views/progress.js +0 -207
  572. data/frameworks/sproutcore/frameworks/desktop/views/radio.js +0 -332
  573. data/frameworks/sproutcore/frameworks/desktop/views/scene.js +0 -204
  574. data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +0 -690
  575. data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +0 -226
  576. data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +0 -525
  577. data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +0 -331
  578. data/frameworks/sproutcore/frameworks/desktop/views/separator.js +0 -37
  579. data/frameworks/sproutcore/frameworks/desktop/views/slider.js +0 -180
  580. data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +0 -47
  581. data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +0 -169
  582. data/frameworks/sproutcore/frameworks/desktop/views/split.js +0 -677
  583. data/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +0 -55
  584. data/frameworks/sproutcore/frameworks/desktop/views/stacked.js +0 -101
  585. data/frameworks/sproutcore/frameworks/desktop/views/tab.js +0 -191
  586. data/frameworks/sproutcore/frameworks/desktop/views/thumb.js +0 -49
  587. data/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +0 -49
  588. data/frameworks/sproutcore/frameworks/desktop/views/web.js +0 -86
  589. data/frameworks/sproutcore/frameworks/foundation/TESTING +0 -46
  590. data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +0 -509
  591. data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +0 -45
  592. data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +0 -323
  593. data/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +0 -109
  594. data/frameworks/sproutcore/frameworks/foundation/core.js +0 -136
  595. data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +0 -194
  596. data/frameworks/sproutcore/frameworks/foundation/english.lproj/blank.gif +0 -0
  597. data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +0 -68
  598. data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +0 -55
  599. data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +0 -221
  600. data/frameworks/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +0 -9
  601. data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-logo.png +0 -0
  602. data/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +0 -30
  603. data/frameworks/sproutcore/frameworks/foundation/english.lproj/static_layout.css +0 -5
  604. data/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +0 -15
  605. data/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +0 -45
  606. data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +0 -45
  607. data/frameworks/sproutcore/frameworks/foundation/ext/object.js +0 -81
  608. data/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +0 -158
  609. data/frameworks/sproutcore/frameworks/foundation/fixtures/file_exists.json +0 -1
  610. data/frameworks/sproutcore/frameworks/foundation/license.js +0 -19
  611. data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +0 -299
  612. data/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +0 -171
  613. data/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +0 -88
  614. data/frameworks/sproutcore/frameworks/foundation/mixins/control.js +0 -352
  615. data/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +0 -146
  616. data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +0 -462
  617. data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +0 -232
  618. data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -132
  619. data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +0 -251
  620. data/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +0 -159
  621. data/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +0 -176
  622. data/frameworks/sproutcore/frameworks/foundation/panes/main.js +0 -47
  623. data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +0 -584
  624. data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +0 -887
  625. data/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +0 -84
  626. data/frameworks/sproutcore/frameworks/foundation/system/application.js +0 -36
  627. data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +0 -492
  628. data/frameworks/sproutcore/frameworks/foundation/system/browser.js +0 -64
  629. data/frameworks/sproutcore/frameworks/foundation/system/builder.js +0 -210
  630. data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +0 -2015
  631. data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +0 -129
  632. data/frameworks/sproutcore/frameworks/foundation/system/datetime.js +0 -729
  633. data/frameworks/sproutcore/frameworks/foundation/system/error.js +0 -93
  634. data/frameworks/sproutcore/frameworks/foundation/system/event.js +0 -853
  635. data/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +0 -433
  636. data/frameworks/sproutcore/frameworks/foundation/system/json.js +0 -440
  637. data/frameworks/sproutcore/frameworks/foundation/system/locale.js +0 -288
  638. data/frameworks/sproutcore/frameworks/foundation/system/page.js +0 -106
  639. data/frameworks/sproutcore/frameworks/foundation/system/ready.js +0 -195
  640. data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +0 -904
  641. data/frameworks/sproutcore/frameworks/foundation/system/request.js +0 -380
  642. data/frameworks/sproutcore/frameworks/foundation/system/responder.js +0 -120
  643. data/frameworks/sproutcore/frameworks/foundation/system/responder_context.js +0 -243
  644. data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +0 -391
  645. data/frameworks/sproutcore/frameworks/foundation/system/routes.js +0 -487
  646. data/frameworks/sproutcore/frameworks/foundation/system/time.js +0 -478
  647. data/frameworks/sproutcore/frameworks/foundation/system/timer.js +0 -549
  648. data/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +0 -165
  649. data/frameworks/sproutcore/frameworks/foundation/system/utils.js +0 -425
  650. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +0 -182
  651. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +0 -193
  652. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +0 -64
  653. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +0 -136
  654. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +0 -82
  655. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +0 -111
  656. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +0 -193
  657. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +0 -179
  658. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +0 -108
  659. data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +0 -10
  660. data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +0 -113
  661. data/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +0 -113
  662. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +0 -195
  663. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +0 -89
  664. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +0 -35
  665. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +0 -168
  666. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +0 -89
  667. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +0 -128
  668. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +0 -17
  669. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +0 -325
  670. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +0 -718
  671. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +0 -484
  672. data/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +0 -42
  673. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +0 -1323
  674. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +0 -387
  675. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +0 -405
  676. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +0 -49
  677. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/within.js +0 -66
  678. data/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +0 -151
  679. data/frameworks/sproutcore/frameworks/foundation/tests/system/error.js +0 -41
  680. data/frameworks/sproutcore/frameworks/foundation/tests/system/json.js +0 -14
  681. data/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +0 -128
  682. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +0 -47
  683. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +0 -44
  684. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +0 -119
  685. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +0 -51
  686. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +0 -50
  687. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +0 -28
  688. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +0 -179
  689. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +0 -100
  690. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +0 -55
  691. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +0 -28
  692. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +0 -74
  693. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +0 -45
  694. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +0 -205
  695. data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +0 -127
  696. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +0 -124
  697. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +0 -68
  698. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +0 -101
  699. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +0 -238
  700. data/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +0 -33
  701. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invalidate.js +0 -38
  702. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +0 -201
  703. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +0 -71
  704. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +0 -67
  705. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +0 -170
  706. data/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +0 -27
  707. data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js +0 -18
  708. data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js +0 -62
  709. data/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +0 -35
  710. data/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +0 -23
  711. data/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +0 -47
  712. data/frameworks/sproutcore/frameworks/foundation/tests/validators/password.js +0 -13
  713. data/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +0 -10
  714. data/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +0 -83
  715. data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +0 -39
  716. data/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -148
  717. data/frameworks/sproutcore/frameworks/foundation/tests/views/main_pane.js +0 -31
  718. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +0 -89
  719. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +0 -148
  720. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +0 -133
  721. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +0 -165
  722. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +0 -76
  723. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +0 -250
  724. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +0 -133
  725. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +0 -246
  726. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +0 -122
  727. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +0 -97
  728. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +0 -85
  729. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +0 -52
  730. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +0 -50
  731. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +0 -200
  732. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisible.js +0 -51
  733. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +0 -113
  734. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +0 -150
  735. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +0 -162
  736. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +0 -127
  737. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +0 -328
  738. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +0 -67
  739. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +0 -166
  740. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +0 -189
  741. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +0 -83
  742. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +0 -29
  743. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +0 -146
  744. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +0 -194
  745. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +0 -185
  746. data/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +0 -125
  747. data/frameworks/sproutcore/frameworks/foundation/validators/date.js +0 -52
  748. data/frameworks/sproutcore/frameworks/foundation/validators/email.js +0 -45
  749. data/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +0 -33
  750. data/frameworks/sproutcore/frameworks/foundation/validators/number.js +0 -82
  751. data/frameworks/sproutcore/frameworks/foundation/validators/password.js +0 -86
  752. data/frameworks/sproutcore/frameworks/foundation/validators/validator.js +0 -311
  753. data/frameworks/sproutcore/frameworks/foundation/views/container.js +0 -136
  754. data/frameworks/sproutcore/frameworks/foundation/views/field.js +0 -287
  755. data/frameworks/sproutcore/frameworks/foundation/views/image.js +0 -161
  756. data/frameworks/sproutcore/frameworks/foundation/views/label.js +0 -271
  757. data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +0 -257
  758. data/frameworks/sproutcore/frameworks/foundation/views/view.js +0 -2405
  759. data/frameworks/sproutcore/frameworks/mobile/english.lproj/core.css +0 -12
  760. data/frameworks/sproutcore/frameworks/mobile/lib/index.rhtml +0 -126
  761. data/frameworks/sproutcore/frameworks/mobile/system/root_responder.js +0 -109
  762. data/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +0 -9
  763. data/frameworks/sproutcore/frameworks/mobile/views/button.js +0 -190
  764. data/frameworks/sproutcore/frameworks/runtime/README +0 -12
  765. data/frameworks/sproutcore/frameworks/runtime/core.js +0 -856
  766. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +0 -238
  767. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +0 -33
  768. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +0 -121
  769. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +0 -34
  770. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +0 -50
  771. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +0 -46
  772. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +0 -371
  773. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +0 -100
  774. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +0 -49
  775. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +0 -94
  776. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +0 -50
  777. data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +0 -47
  778. data/frameworks/sproutcore/frameworks/runtime/license.js +0 -28
  779. data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +0 -613
  780. data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +0 -64
  781. data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +0 -108
  782. data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +0 -1258
  783. data/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +0 -104
  784. data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +0 -1305
  785. data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +0 -141
  786. data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +0 -148
  787. data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +0 -152
  788. data/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +0 -40
  789. data/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +0 -131
  790. data/frameworks/sproutcore/frameworks/runtime/system/binding.js +0 -915
  791. data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +0 -107
  792. data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +0 -1166
  793. data/frameworks/sproutcore/frameworks/runtime/system/object.js +0 -801
  794. data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +0 -265
  795. data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +0 -241
  796. data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +0 -649
  797. data/frameworks/sproutcore/frameworks/runtime/system/set.js +0 -375
  798. data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +0 -295
  799. data/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +0 -56
  800. data/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +0 -23
  801. data/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +0 -66
  802. data/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +0 -44
  803. data/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +0 -16
  804. data/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +0 -147
  805. data/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +0 -25
  806. data/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +0 -38
  807. data/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +0 -20
  808. data/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +0 -30
  809. data/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +0 -19
  810. data/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +0 -37
  811. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +0 -57
  812. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +0 -611
  813. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +0 -587
  814. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +0 -132
  815. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +0 -79
  816. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +0 -80
  817. data/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +0 -55
  818. data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +0 -265
  819. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +0 -195
  820. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +0 -43
  821. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +0 -74
  822. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +0 -42
  823. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +0 -38
  824. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +0 -38
  825. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +0 -74
  826. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +0 -40
  827. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +0 -40
  828. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +0 -36
  829. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +0 -189
  830. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +0 -89
  831. data/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +0 -135
  832. data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +0 -339
  833. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +0 -59
  834. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +0 -75
  835. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +0 -117
  836. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +0 -110
  837. data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +0 -65
  838. data/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +0 -120
  839. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +0 -92
  840. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +0 -17
  841. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +0 -85
  842. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +0 -60
  843. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +0 -87
  844. data/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +0 -292
  845. data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +0 -122
  846. data/frameworks/sproutcore/frameworks/testing/core.js +0 -196
  847. data/frameworks/sproutcore/frameworks/testing/english.lproj/additions.css +0 -8
  848. data/frameworks/sproutcore/frameworks/testing/english.lproj/runner.css +0 -126
  849. data/frameworks/sproutcore/frameworks/testing/english.lproj/testsuite.css +0 -131
  850. data/frameworks/sproutcore/frameworks/testing/extras.js +0 -17
  851. data/frameworks/sproutcore/frameworks/testing/jquery.js +0 -3559
  852. data/frameworks/sproutcore/frameworks/testing/qunit.js +0 -827
  853. data/frameworks/sproutcore/frameworks/testing/system/dump.js +0 -205
  854. data/frameworks/sproutcore/frameworks/testing/system/equiv.js +0 -201
  855. data/frameworks/sproutcore/frameworks/testing/system/plan.js +0 -691
  856. data/frameworks/sproutcore/frameworks/testing/system/runner.js +0 -209
  857. data/frameworks/sproutcore/frameworks/testing/system/suite.js +0 -228
  858. data/frameworks/sproutcore/frameworks/testing/utils.js +0 -62
  859. data/frameworks/sproutcore/lib/index.rhtml +0 -121
  860. data/frameworks/sproutcore/license.js +0 -28
  861. data/frameworks/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +0 -69
  862. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/button.css +0 -41
  863. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +0 -8
  864. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/backButton.png +0 -0
  865. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/blueButton.png +0 -0
  866. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/cancel.png +0 -0
  867. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/grayButton.png +0 -0
  868. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/leftButton.png +0 -0
  869. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrow.png +0 -0
  870. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrowSel.png +0 -0
  871. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listGroup.png +0 -0
  872. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/loading.gif +0 -0
  873. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/pinstripes.png +0 -0
  874. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/rightButton.png +0 -0
  875. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/selection.png +0 -0
  876. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/thumb.png +0 -0
  877. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggle.png +0 -0
  878. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggleOn.png +0 -0
  879. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolButton.png +0 -0
  880. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolbar.png +0 -0
  881. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/whiteButton.png +0 -0
  882. data/frameworks/sproutcore/themes/iphone_theme/english.lproj/strings.js +0 -15
  883. data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +0 -331
  884. data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +0 -91
  885. data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +0 -134
  886. data/frameworks/sproutcore/themes/standard_theme/english.lproj/core.css +0 -60
  887. data/frameworks/sproutcore/themes/standard_theme/english.lproj/disclosure.css +0 -55
  888. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
  889. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-sprite.png +0 -0
  890. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-ysprite.png +0 -0
  891. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-toolbar-view.png +0 -0
  892. data/frameworks/sproutcore/themes/standard_theme/english.lproj/label.css +0 -11
  893. data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +0 -30
  894. data/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +0 -8
  895. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-fat.jpg +0 -0
  896. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-thin.jpg +0 -0
  897. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-edge.png +0 -0
  898. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-left-corner.png +0 -0
  899. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-right-corner.png +0 -0
  900. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/left-edge.png +0 -0
  901. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/overlay.png +0 -0
  902. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/right-edge.png +0 -0
  903. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-edge.png +0 -0
  904. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-left-corner.png +0 -0
  905. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-right-corner.png +0 -0
  906. data/frameworks/sproutcore/themes/standard_theme/english.lproj/progress.css +0 -26
  907. data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +0 -122
  908. data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +0 -279
  909. data/frameworks/sproutcore/themes/standard_theme/english.lproj/slider.css +0 -94
  910. data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +0 -27
  911. data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +0 -18
  912. data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +0 -10
  913. data/frameworks/sproutcore/themes/standard_theme/english.lproj/toolbar.css +0 -7
  914. data/lib/thor/CHANGELOG.rdoc +0 -52
  915. data/lib/thor/LICENSE +0 -20
  916. data/lib/thor/README.markdown +0 -76
  917. data/lib/thor/Rakefile +0 -6
  918. data/lib/thor/Thorfile +0 -45
  919. data/lib/thor/bin/rake2thor +0 -83
  920. data/lib/thor/bin/thor +0 -7
  921. data/lib/thor/lib/thor/error.rb +0 -3
  922. data/lib/thor/lib/thor/options.rb +0 -267
  923. data/lib/thor/lib/thor/ordered_hash.rb +0 -64
  924. data/lib/thor/lib/thor/runner.rb +0 -305
  925. data/lib/thor/lib/thor/task.rb +0 -83
  926. data/lib/thor/lib/thor/task_hash.rb +0 -22
  927. data/lib/thor/lib/thor/tasks/package.rb +0 -18
  928. data/lib/thor/lib/thor/tasks.rb +0 -77
  929. data/lib/thor/lib/thor/util.rb +0 -75
  930. data/lib/thor/lib/thor.rb +0 -170
  931. data/lib/thor/script/destroy +0 -14
  932. data/lib/thor/script/generate +0 -14
  933. data/lib/thor/task.thor +0 -15
@@ -1,856 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore Costello - Property Observing Library
3
- // Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
4
- // Portions ©2008-2009 Apple, Inc. All rights reserved.
5
- // License: Licened under MIT license (see license.js)
6
- // ==========================================================================
7
-
8
- /*global NodeList */
9
-
10
- // These commands are used by the build tools to control load order. On the
11
- // client side these are a no-op.
12
- var require = require || function require() { } ;
13
- var sc_require = sc_require || require;
14
- var sc_resource = sc_resource || function sc_resource() {};
15
-
16
- sc_require('license') ;
17
-
18
- // ........................................
19
- // GLOBAL CONSTANTS
20
- //
21
- // Most global constants should be defined inside of the SC namespace.
22
- // However the following two are useful enough and generally benign enough
23
- // to put into the global object.
24
- var YES = true ;
25
- var NO = false ;
26
-
27
- // prevent a console.log from blowing things up if we are on a browser that
28
- // does not support it
29
- if (typeof console === 'undefined') {
30
- window.console = {} ;
31
- console.log = console.info = console.warn = console.error = function(){};
32
- }
33
-
34
- // ........................................
35
- // BOOTSTRAP
36
- //
37
- // The root namespace and some common utility methods are defined here. The
38
- // rest of the methods go into the mixin defined below.
39
-
40
- /**
41
- @namespace
42
-
43
- The SproutCore namespace. All SproutCore methods and functions are defined
44
- inside of this namespace. You generally should not add new properties to
45
- this namespace as it may be overwritten by future versions of SproutCore.
46
-
47
- You can also use the shorthand "SC" instead of "SproutCore".
48
-
49
- SproutCore-Base is a framework that provides core functions for SproutCore
50
- including cross-platform functions, support for property observing and
51
- objects. It's focus is on small size and performance. You can use this
52
- in place of or along-side other cross-platform libraries such as jQuery or
53
- Prototype.
54
-
55
- The core Base framework is based on the jQuery API with a number of
56
- performance optimizations.
57
- */
58
- var SC = SC || {} ;
59
- var SproutCore = SproutCore || SC ;
60
-
61
- /**
62
- Adds properties to a target object.
63
-
64
- Takes the root object and adds the attributes for any additional
65
- arguments passed.
66
-
67
- @param target {Object} the target object to extend
68
- @param properties {Object} one or more objects with properties to copy.
69
- @returns {Object} the target object.
70
- @static
71
- */
72
- SC.mixin = function() {
73
- // copy reference to target object
74
- var target = arguments[0] || {};
75
- var idx = 1;
76
- var length = arguments.length ;
77
- var options ;
78
-
79
- // Handle case where we have only one item...extend SC
80
- if (length === 1) {
81
- target = this || {};
82
- idx=0;
83
- }
84
-
85
- for ( ; idx < length; idx++ ) {
86
- if (!(options = arguments[idx])) continue ;
87
- for(var key in options) {
88
- if (!options.hasOwnProperty(key)) continue ;
89
- var src = target[key];
90
- var copy = options[key] ;
91
- if (target===copy) continue ; // prevent never-ending loop
92
- if (copy !== undefined) target[key] = copy ;
93
- }
94
- }
95
-
96
- return target;
97
- } ;
98
-
99
- /**
100
- Alternative to mixin. Provided for compatibility with jQuery.
101
- @function
102
- */
103
- SC.extend = SC.mixin ;
104
-
105
- // ..........................................................
106
- // CORE FUNCTIONS
107
- //
108
- // Enough with the bootstrap code. Let's define some core functions
109
-
110
- SC.mixin(/** @scope SC */ {
111
-
112
- // ........................................
113
- // GLOBAL CONSTANTS
114
- //
115
- T_ERROR: 'error',
116
- T_OBJECT: 'object',
117
- T_NULL: 'null',
118
- T_CLASS: 'class',
119
- T_HASH: 'hash',
120
- T_FUNCTION: 'function',
121
- T_UNDEFINED: 'undefined',
122
- T_NUMBER: 'number',
123
- T_BOOL: 'boolean',
124
- T_ARRAY: 'array',
125
- T_STRING: 'string',
126
-
127
- // ........................................
128
- // TYPING & ARRAY MESSAGING
129
- //
130
-
131
- /**
132
- Returns a consistant type for the passed item.
133
-
134
- Use this instead of the built-in typeOf() to get the type of an item.
135
- It will return the same result across all browsers and includes a bit
136
- more detail. Here is what will be returned:
137
-
138
- | Return Value Constant | Meaning |
139
- | SC.T_STRING | String primitive |
140
- | SC.T_NUMBER | Number primitive |
141
- | SC.T_BOOLEAN | Boolean primitive |
142
- | SC.T_NULL | Null value |
143
- | SC.T_UNDEFINED | Undefined value |
144
- | SC.T_FUNCTION | A function |
145
- | SC.T_ARRAY | An instance of Array |
146
- | SC.T_CLASS | A SproutCore class (created using SC.Object.extend()) |
147
- | SC.T_OBJECT | A SproutCore object instance |
148
- | SC.T_HASH | A JavaScript object not inheriting from SC.Object |
149
-
150
- @param item {Object} the item to check
151
- @returns {String} the type
152
- */
153
- typeOf: function(item) {
154
- if (item === undefined) return SC.T_UNDEFINED ;
155
- if (item === null) return SC.T_NULL ;
156
- var ret = typeof(item) ;
157
- if (ret == "object") {
158
- if (item instanceof Array) {
159
- ret = SC.T_ARRAY ;
160
- } else if (item instanceof Function) {
161
- ret = item.isClass ? SC.T_CLASS : SC.T_FUNCTION ;
162
-
163
- // NB: typeOf() may be called before SC.Error has had a chance to load
164
- // so this code checks for the presence of SC.Error first just to make
165
- // sure. No error instance can exist before the class loads anyway so
166
- // this is safe.
167
- } else if (SC.Error && (item instanceof SC.Error)) {
168
- ret = SC.T_ERROR ;
169
- } else if (item.isObject === true) {
170
- ret = SC.T_OBJECT ;
171
- } else ret = SC.T_HASH ;
172
- } else if (ret === SC.T_FUNCTION) ret = (item.isClass) ? SC.T_CLASS : SC.T_FUNCTION;
173
- return ret ;
174
- },
175
-
176
- /**
177
- Returns YES if the passed value is null or undefined. This avoids errors
178
- from JSLint complaining about use of ==, which can be technically
179
- confusing.
180
- */
181
- none: function(obj) {
182
- return obj===null || obj===undefined;
183
- },
184
-
185
- /**
186
- Returns YES if the passed object is an array or array-like. Instances
187
- of the NodeList class return NO.
188
-
189
- Unlike SC.typeOf this method returns true even if the passed object is
190
- not formally array but appears to be array-like (i.e. has a length
191
- property, responds to .objectAt, etc.)
192
-
193
- @param obj {Object} the object to test
194
- @returns {Boolean}
195
- */
196
- isArray: function(obj) {
197
- if (obj && obj.objectAt) return YES ; // fast path
198
-
199
- var len = (obj ? obj.length : null), type = SC.typeOf(obj);
200
- return !(SC.none(len) || (type === SC.T_FUNCTION) || (type === SC.T_STRING) || obj.setInterval) ;
201
- },
202
-
203
- /**
204
- Makes an object into an Array if it is not array or array-like already.
205
- Unlike SC.A(), this method will not clone the object if it is already
206
- an array.
207
- */
208
- makeArray: function(obj) {
209
- return SC.isArray(obj) ? obj : SC.$A(obj);
210
- },
211
-
212
- /**
213
- Converts the passed object to an Array. If the object appears to be
214
- array-like, a new array will be cloned from it. Otherwise, a new array
215
- will be created with the item itself as the only item in the array.
216
-
217
- @param object {Object} any enumerable or array-like object.
218
- @returns {Array} Array of items
219
- */
220
- A: function(obj) {
221
- // null or undefined -- fast path
222
- if (SC.none(obj)) return [] ;
223
-
224
- // primitive -- fast path
225
- if (obj.slice instanceof Function) {
226
- // do we have a string?
227
- if (typeof(obj) === 'string') return [obj] ;
228
- else return obj.slice() ;
229
- }
230
-
231
- // enumerable -- fast path
232
- if (obj.toArray) return obj.toArray() ;
233
-
234
- // if not array-like, then just wrap in array.
235
- if (!SC.isArray(obj)) return [obj];
236
-
237
- // when all else fails, do a manual convert...
238
- var ret = [], len = obj.length;
239
- while(--len >= 0) ret[len] = obj[len];
240
- return ret ;
241
- },
242
-
243
- // ..........................................................
244
- // GUIDS & HASHES
245
- //
246
-
247
- guidKey: "_sc_guid_" + new Date().getTime(),
248
-
249
- // Used for guid generation...
250
- _nextGUID: 0, _numberGuids: [], _stringGuids: {}, _keyCache: {},
251
-
252
- /**
253
- Returns a unique GUID for the object. If the object does not yet have
254
- a guid, one will be assigned to it. You can call this on any object,
255
- SC.Object-based or not, but be aware that it will add a _guid property.
256
-
257
- You can also use this method on DOM Element objects.
258
-
259
- @param obj {Object} any object, string, number, Element, or primitive
260
- @returns {String} the unique guid for this instance.
261
- */
262
- guidFor: function(obj) {
263
-
264
- // special cases where we don't want to add a key to object
265
- if (obj === undefined) return "(undefined)" ;
266
- if (obj === null) return '(null)' ;
267
- if (obj === Object) return '(Object)';
268
- if (obj === Array) return '(Array)';
269
-
270
- var guidKey = this.guidKey ;
271
- if (obj[guidKey]) return obj[guidKey] ;
272
-
273
- switch(typeof obj) {
274
- case SC.T_NUMBER:
275
- return (this._numberGuids[obj] = this._numberGuids[obj] || ("nu" + obj));
276
- case SC.T_STRING:
277
- return (this._stringGuids[obj] = this._stringGuids[obj] || ("st" + obj));
278
- case SC.T_BOOL:
279
- return (obj) ? "(true)" : "(false)" ;
280
- default:
281
- return SC.generateGuid(obj);
282
- }
283
- },
284
-
285
- /**
286
- Returns a key name that combines the named key + prefix. This is more
287
- efficient than simply combining strings because it uses a cache
288
- internally for performance.
289
-
290
- @param
291
- */
292
- keyFor: function(prefix, key) {
293
- var ret, pcache = this._keyCache[prefix];
294
- if (!pcache) pcache = this._keyCache[prefix] = {}; // get cache for prefix
295
- ret = pcache[key];
296
- if (!ret) ret = pcache[key] = prefix + '_' + key ;
297
- return ret ;
298
- },
299
-
300
- /**
301
- Generates a new guid, optionally saving the guid to the object that you
302
- pass in. You will rarely need to use this method. Instead you should
303
- call SC.guidFor(obj), which return an existing guid if available.
304
-
305
- @param {Object} obj the object to assign the guid to
306
- @returns {String} the guid
307
- */
308
- generateGuid: function(obj) {
309
- var ret = ("sc" + (this._nextGUID++));
310
- if (obj) obj[this.guidKey] = ret ;
311
- return ret ;
312
- },
313
-
314
- /**
315
- Returns a unique hash code for the object. If the object implements
316
- a hash() method, the value of that method will be returned. Otherwise,
317
- this will return the same value as guidFor().
318
-
319
- Unlike guidFor(), this method allows you to implement logic in your
320
- code to cause two separate instances of the same object to be treated as
321
- if they were equal for comparisons and other functions.
322
-
323
- IMPORTANT: If you implement a hash() method, it MUST NOT return a
324
- number or a string that contains only a number. Typically hash codes
325
- are strings that begin with a "%".
326
-
327
- @param obj {Object} the object
328
- @returns {String} the hash code for this instance.
329
- */
330
- hashFor: function(obj) {
331
- return (obj && obj.hash && (typeof obj.hash === SC.T_FUNCTION)) ? obj.hash() : this.guidFor(obj) ;
332
- },
333
-
334
- /**
335
- This will compare the two object values using their hash codes.
336
-
337
- @param a {Object} first value to compare
338
- @param b {Object} the second value to compare
339
- @returns {Boolean} YES if the two have equal hash code values.
340
-
341
- */
342
- isEqual: function(a,b) {
343
- // shortcut a few places.
344
- if (a === null) {
345
- return b === null ;
346
- } else if (a === undefined) {
347
- return b === undefined ;
348
-
349
- // finally, check their hash-codes
350
- } else return this.hashFor(a) === this.hashFor(b) ;
351
- },
352
-
353
-
354
- /**
355
- This will compare two javascript values of possibly different types.
356
- It will tell you which one is greater than the other by returning
357
- -1 if the first is smaller than the second,
358
- 0 if both are equal,
359
- 1 if the first is greater than the second.
360
-
361
- The order is calculated based on SC.ORDER_DEFINITION , if types are different.
362
- In case they have the same type an appropriate comparison for this type is made.
363
-
364
- @param v {Object} first value to compare
365
- @param w {Object} the second value to compare
366
- @returns {NUMBER} -1 if v < w, 0 if v = w and 1 if v > w.
367
-
368
- */
369
- compare: function (v, w) {
370
-
371
- var type1 = SC.typeOf(v);
372
- var type2 = SC.typeOf(w);
373
- var type1Index = SC.ORDER_DEFINITION.indexOf(type1);
374
- var type2Index = SC.ORDER_DEFINITION.indexOf(type2);
375
-
376
- if (type1Index < type2Index) return -1;
377
- if (type1Index > type2Index) return 1;
378
-
379
- // ok - types are equal - so we have to check values now
380
- switch (type1) {
381
- case SC.T_BOOL:
382
- case SC.T_NUMBER:
383
- if (v<w) return -1;
384
- if (v>w) return 1;
385
- return 0;
386
-
387
- case SC.T_STRING:
388
- if (v.localeCompare(w)<0) return -1;
389
- if (v.localeCompare(w)>0) return 1;
390
- return 0;
391
-
392
- case SC.T_ARRAY:
393
- var l = Math.min(v.length,w.length);
394
- var r = 0;
395
- var i = 0;
396
- while (r===0 && i < l) {
397
- r = arguments.callee(v[i],w[i]);
398
- if ( r !== 0 ) return r;
399
- i++;
400
- }
401
-
402
- // all elements are equal now
403
- // shorter array should be ordered first
404
- if (v.length < w.length) return -1;
405
- if (v.length > w.length) return 1;
406
- // arrays are equal now
407
- return 0;
408
-
409
- default:
410
- return 0;
411
- }
412
- },
413
-
414
- // ..........................................................
415
- // OBJECT MANAGEMENT
416
- //
417
-
418
- /**
419
- Empty function. Useful for some operations.
420
- */
421
- K: function() { return this; },
422
-
423
- /** Empty array. Useful for some optimizations. */
424
- EMPTY_ARRAY: [],
425
-
426
- EMPTY_HASH: {},
427
-
428
- EMPTY_RANGE: {start: 0, length: 0},
429
- /**
430
- Creates a new object with the passed object as its prototype.
431
-
432
- This method uses JavaScript's native inheritence method to create a new
433
- object.
434
-
435
- You cannot use beget() to create new SC.Object-based objects, but you
436
- can use it to beget Arrays, Hashes, Sets and objects you build yourself.
437
- Note that when you beget() a new object, this method will also call the
438
- didBeget() method on the object you passed in if it is defined. You can
439
- use this method to perform any other setup needed.
440
-
441
- In general, you will not use beget() often as SC.Object is much more
442
- useful, but for certain rare algorithms, this method can be very useful.
443
-
444
- For more information on using beget(), see the section on beget() in
445
- Crockford's JavaScript: The Good Parts.
446
-
447
- @param obj {Object} the object to beget
448
- @returns {Object} the new object.
449
- */
450
- beget: function(obj) {
451
- if (SC.none(obj)) return null ;
452
- var K = SC.K; K.prototype = obj ;
453
- var ret = new K();
454
- K.prototype = null ; // avoid leaks
455
- if (SC.typeOf(obj.didBeget) === SC.T_FUNCTION) ret = obj.didBeget(ret);
456
- return ret ;
457
- },
458
-
459
- /**
460
- Creates a clone of the passed object. This function can take just about
461
- any type of object and create a clone of it, including primitive values
462
- (which are not actually cloned because they are immutable).
463
-
464
- If the passed object implements the clone() method, then this function
465
- will simply call that method and return the result.
466
-
467
- @param object {Object} the object to clone
468
- @returns {Object} the cloned object
469
- */
470
- clone: function(object) {
471
- var ret = object ;
472
- switch (SC.typeOf(object)) {
473
- case SC.T_ARRAY:
474
- if (object.clone && SC.typeOf(object.clone) === SC.T_FUNCTION) {
475
- ret = object.clone() ;
476
- } else ret = object.slice() ;
477
- break ;
478
-
479
- case SC.T_HASH:
480
- case SC.T_OBJECT:
481
- if (object.clone && SC.typeOf(object.clone) === SC.T_FUNCTION) {
482
- ret = object.clone() ;
483
- } else {
484
- ret = {} ;
485
- for(var key in object) ret[key] = object[key] ;
486
- }
487
- }
488
-
489
- return ret ;
490
- },
491
-
492
- /**
493
- Returns a new object combining the values of all passed hashes.
494
-
495
- @param object {Object} one or more objects
496
- @returns {Object} new Object
497
- */
498
- merge: function() {
499
- var ret = {}, len = arguments.length, idx;
500
- for(idx=0;idx<len;idx++) SC.mixin(ret, arguments[idx]);
501
- return ret ;
502
- },
503
-
504
- /**
505
- Returns all of the keys defined on an object or hash. This is useful
506
- when inspecting objects for debugging.
507
-
508
- @param {Object} obj
509
- @returns {Array} array of keys
510
- */
511
- keys: function(obj) {
512
- var ret = [];
513
- for(var key in obj) ret.push(key);
514
- return ret;
515
- },
516
-
517
- /**
518
- Convenience method to inspect an object. This method will attempt to
519
- convert the object into a useful string description.
520
- */
521
- inspect: function(obj) {
522
- var v, ret = [] ;
523
- for(var key in obj) {
524
- v = obj[key] ;
525
- if (v === 'toString') continue ; // ignore useless items
526
- if (SC.typeOf(v) === SC.T_FUNCTION) v = "function() { ... }" ;
527
- ret.push(key + ": " + v) ;
528
- }
529
- return "{" + ret.join(" , ") + "}" ;
530
- },
531
-
532
- /**
533
- Returns a tuple containing the object and key for the specified property
534
- path. If no object could be found to match the property path, then
535
- returns null.
536
-
537
- This is the standard method used throughout SproutCore to resolve property
538
- paths.
539
-
540
- @param path {String} the property path
541
- @param root {Object} optional parameter specifying the place to start
542
- @returns {Array} array with [object, property] if found or null
543
- */
544
- tupleForPropertyPath: function(path, root) {
545
-
546
- // if the passed path is itself a tuple, return it
547
- if (SC.typeOf(path) === SC.T_ARRAY) return path ;
548
-
549
- // find the key. It is the last . or first *
550
- var key ;
551
- var stopAt = path.indexOf('*') ;
552
- if (stopAt < 0) stopAt = path.lastIndexOf('.') ;
553
- key = (stopAt >= 0) ? path.slice(stopAt+1) : path ;
554
-
555
- // convert path to object.
556
- var obj = this.objectForPropertyPath(path, root, stopAt) ;
557
- return (obj && key) ? [obj,key] : null ;
558
- },
559
-
560
- /**
561
- Finds the object for the passed path or array of path components. This is
562
- the standard method used in SproutCore to traverse object paths.
563
-
564
- @param path {String} the path
565
- @param root {Object} optional root object. window is used otherwise
566
- @param stopAt {Integer} optional point to stop searching the path.
567
- @returns {Object} the found object or undefined.
568
- */
569
- objectForPropertyPath: function(path, root, stopAt) {
570
-
571
- var loc, nextDotAt, key, max ;
572
-
573
- if (!root) root = window ;
574
-
575
- // faster method for strings
576
- if (SC.typeOf(path) === SC.T_STRING) {
577
- if (stopAt === undefined) stopAt = path.length ;
578
- loc = 0 ;
579
- while((root) && (loc < stopAt)) {
580
- nextDotAt = path.indexOf('.', loc) ;
581
- if ((nextDotAt < 0) || (nextDotAt > stopAt)) nextDotAt = stopAt;
582
- key = path.slice(loc, nextDotAt);
583
- root = root.get ? root.get(key) : root[key] ;
584
- loc = nextDotAt+1;
585
- }
586
- if (loc < stopAt) root = undefined; // hit a dead end. :(
587
-
588
- // older method using an array
589
- } else {
590
-
591
- loc = 0; max = path.length; key = null;
592
- while((loc < max) && root) {
593
- key = path[loc++];
594
- if (key) root = (root.get) ? root.get(key) : root[key] ;
595
- }
596
- if (loc < max) root = undefined ;
597
- }
598
-
599
- return root ;
600
- }
601
-
602
-
603
- }); // end mixin
604
-
605
- /** @private Alias for SC.A() */
606
- SC.$A = SC.A;
607
-
608
- /** @private Alias for SC.typeOf() */
609
- SC.typeOf = SC.typeOf ;
610
-
611
- /** @private Provided for compatibility with old HTML templates. */
612
- SC.didLoad = SC.K ;
613
-
614
- /** @private Used by SC.compare */
615
- SC.ORDER_DEFINITION = [ SC.T_ERROR,
616
- SC.T_UNDEFINED,
617
- SC.T_NULL,
618
- SC.T_BOOL,
619
- SC.T_NUMBER,
620
- SC.T_STRING,
621
- SC.T_ARRAY,
622
- SC.T_HASH,
623
- SC.T_OBJECT,
624
- SC.T_FUNCTION,
625
- SC.T_CLASS ];
626
-
627
-
628
- // ........................................
629
- // FUNCTION ENHANCEMENTS
630
- //
631
- SC.mixin(Function.prototype,
632
- /** @scope Function.prototype */ {
633
-
634
- /**
635
- Indicates that the function should be treated as a computed property.
636
-
637
- Computed properties are methods that you want to treat as if they were
638
- static properties. When you use get() or set() on a computed property,
639
- the object will call the property method and return its value instead of
640
- returning the method itself. This makes it easy to create "virtual
641
- properties" that are computed dynamically from other properties.
642
-
643
- Consider the following example:
644
-
645
- {{{
646
- contact = SC.Object.create({
647
-
648
- firstName: "Charles",
649
- lastName: "Jolley",
650
-
651
- // This is a computed property!
652
- fullName: function() {
653
- return this.getEach('firstName','lastName').compact().join(' ') ;
654
- }.property('firstName', 'lastName'),
655
-
656
- // this is not
657
- getFullName: function() {
658
- return this.getEach('firstName','lastName').compact().join(' ') ;
659
- }
660
- });
661
-
662
- contact.get('firstName') ;
663
- --> "Charles"
664
-
665
- contact.get('fullName') ;
666
- --> "Charles Jolley"
667
-
668
- contact.get('getFullName') ;
669
- --> function()
670
- }}}
671
-
672
- Note that when you get the fullName property, SproutCore will call the
673
- fullName() function and return its value whereas when you get() a property
674
- that contains a regular method (such as getFullName above), then the
675
- function itself will be returned instead.
676
-
677
- h2. Using Dependent Keys
678
-
679
- Computed properties are often computed dynamically from other member
680
- properties. Whenever those properties change, you need to notify any
681
- object that is observing the computed property that the computed property
682
- has changed also. We call these properties the computed property is based
683
- upon "dependent keys".
684
-
685
- For example, in the contact object above, the fullName property depends on
686
- the firstName and lastName property. If either property value changes,
687
- any observer watching the fullName property will need to be notified as
688
- well.
689
-
690
- You inform SproutCore of these dependent keys by passing the key names
691
- as parameters to the property() function. Whenever the value of any key
692
- you name here changes, the computed property will be marked as changed
693
- also.
694
-
695
- You should always register dependent keys for computed properties to
696
- ensure they update.
697
-
698
- h2. Using Computed Properties as Setters
699
-
700
- Computed properties can be used to modify the state of an object as well
701
- as to return a value. Unlike many other key-value system, you use the
702
- same method to both get and set values on a computed property. To
703
- write a setter, simply declare two extra parameters: key and value.
704
-
705
- Whenever your property function is called as a setter, the value
706
- parameter will be set. Whenever your property is called as a getter the
707
- value parameter will be undefined.
708
-
709
- For example, the following object will split any full name that you set
710
- into a first name and last name components and save them.
711
-
712
- {{{
713
- contact = SC.Object.create({
714
-
715
- fullName: function(key, value) {
716
- if (value !== undefined) {
717
- var parts = value.split(' ') ;
718
- this.beginPropertyChanges()
719
- .set('firstName', parts[0])
720
- .set('lastName', parts[1])
721
- .endPropertyChanges() ;
722
- }
723
- return this.getEach('firstName', 'lastName').compact().join(' ');
724
- }.property('firstName','lastName')
725
-
726
- }) ;
727
-
728
- }}}
729
-
730
- bq. *Why Use The Same Method for Getters and Setters?* Most property-
731
- based frameworks expect you to write two methods for each property but
732
- SproutCore only uses one. We do this because most of the time when
733
- you write a setter is is basically a getter plus some extra work. There
734
- is little added benefit in writing both methods when you can conditionally
735
- exclude part of it. This helps to keep your code more compact and easier
736
- to maintain.
737
-
738
- @param dependentKeys {String...} optional set of dependent keys
739
- @returns {Function} the declared function instance
740
- */
741
- property: function() {
742
- this.dependentKeys = SC.$A(arguments) ;
743
- var guid = SC.guidFor(this) ;
744
- this.cacheKey = "__cache__" + guid ;
745
- this.lastSetValueKey = "__lastValue__" + guid ;
746
- this.isProperty = YES ;
747
- return this ;
748
- },
749
-
750
- /**
751
- You can call this method on a computed property to indicate that the
752
- property is cacheable (or not cacheable). By default all computed
753
- properties are not cached. Enabling this feature will allow SproutCore
754
- to cache the return value of your computed property and to use that
755
- value until one of your dependent properties changes or until you
756
- invoke propertyDidChange() and name the computed property itself.
757
-
758
- If you do not specify this option, computed properties are assumed to be
759
- not cacheable.
760
-
761
- @param {Boolean} aFlag optionally indicate cacheable or no, default YES
762
- @returns {Function} reciever
763
- */
764
- cacheable: function(aFlag) {
765
- this.isProperty = YES ; // also make a property just in case
766
- if (!this.dependentKeys) this.dependentKeys = [] ;
767
- this.isCacheable = (aFlag === undefined) ? YES : aFlag ;
768
- return this ;
769
- },
770
-
771
- /**
772
- Indicates that the computed property is volatile. Normally SproutCore
773
- assumes that your computed property is idempotent. That is, calling
774
- set() on your property more than once with the same value has the same
775
- effect as calling it only once.
776
-
777
- All non-computed properties are idempotent and normally you should make
778
- your computed properties behave the same way. However, if you need to
779
- make your property change its return value everytime your method is
780
- called, you may chain this to your property to make it volatile.
781
-
782
- If you do not specify this option, properties are assumed to be
783
- non-volatile.
784
-
785
- @param {Boolean} aFlag optionally indicate state, default to YES
786
- @returns {Function} receiver
787
- */
788
- idempotent: function(aFlag) {
789
- this.isProperty = YES; // also make a property just in case
790
- if (!this.dependentKeys) this.dependentKeys = [] ;
791
- this.isVolatile = (aFlag === undefined) ? YES : aFlag ;
792
- return this ;
793
- },
794
-
795
- /**
796
- Declare that a function should observe an object at the named path. Note
797
- that the path is used only to construct the observation one time.
798
- */
799
- observes: function(propertyPaths) {
800
- // sort property paths into local paths (i.e just a property name) and
801
- // full paths (i.e. those with a . or * in them)
802
- var loc = arguments.length, local = null, paths = null ;
803
- while(--loc >= 0) {
804
- var path = arguments[loc] ;
805
- // local
806
- if ((path.indexOf('.')<0) && (path.indexOf('*')<0)) {
807
- if (!local) local = this.localPropertyPaths = [] ;
808
- local.push(path);
809
-
810
- // regular
811
- } else {
812
- if (!paths) paths = this.propertyPaths = [] ;
813
- paths.push(path) ;
814
- }
815
- }
816
- return this ;
817
- }
818
-
819
- });
820
-
821
- // ..........................................................
822
- // STRING ENHANCEMENT
823
- //
824
-
825
- // Interpolate string. looks for %@ or %@1; to control the order of params.
826
- /**
827
- Apply formatting options to the string. This will look for occurrences
828
- of %@ in your string and substitute them with the arguments you pass into
829
- this method. If you want to control the specific order of replacement,
830
- you can add a number after the key as well to indicate which argument
831
- you want to insert.
832
-
833
- Ordered insertions are most useful when building loc strings where values
834
- you need to insert may appear in different orders.
835
-
836
- h3. Examples
837
-
838
- {{{
839
- "Hello %@ %@".fmt('John', 'Doe') => "Hello John Doe"
840
- "Hello %@2, %@1".fmt('John', 'Doe') => "Hello Doe, John"
841
- }}}
842
-
843
- @param args {Object...} optional arguments
844
- @returns {String} formatted string
845
- */
846
- String.prototype.fmt = function() {
847
- // first, replace any ORDERED replacements.
848
- var args = arguments;
849
- var idx = 0; // the current index for non-numerical replacements
850
- return this.replace(/%@([0-9]+)?/g, function(s, argIndex) {
851
- argIndex = (argIndex) ? parseInt(argIndex,0)-1 : idx++ ;
852
- s =args[argIndex];
853
- return ((s===null) ? '(null)' : (s===undefined) ? '' : s).toString();
854
- }) ;
855
- };
856
-