sproutcore 1.5.0-java → 1.6.0.beta.2-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. data/.mailmap +32 -0
  2. data/CHANGELOG +15 -0
  3. data/Rakefile +18 -0
  4. data/VERSION.yml +2 -2
  5. data/bin/sc-build +0 -5
  6. data/bin/sc-build-number +0 -5
  7. data/bin/sc-docs +0 -5
  8. data/bin/sc-gen +0 -5
  9. data/bin/sc-init +0 -5
  10. data/bin/sc-manifest +0 -5
  11. data/bin/sc-server +0 -5
  12. data/bin/sproutcore +0 -5
  13. data/lib/frameworks/sproutcore/Buildfile +3 -3
  14. data/lib/frameworks/sproutcore/CHANGELOG.md +21 -0
  15. data/lib/frameworks/sproutcore/README.md +77 -7
  16. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +0 -2
  17. data/lib/frameworks/sproutcore/frameworks/animation/core.js +3 -2
  18. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
  19. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +1 -17
  20. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +1 -1
  21. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +4 -4
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +49 -0
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +23 -21
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +1 -1
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +36 -1
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +126 -7
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +3 -3
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +13 -1
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +2 -2
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +16 -16
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1 -34
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +29 -23
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +8 -4
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +20 -23
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controls/button.js +78 -0
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/checkbox_support.js +26 -0
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +115 -1
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +55 -0
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +49 -1
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +19 -1
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template.js +1 -0
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +2 -0
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +38 -41
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +4 -3
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/base.js +1 -0
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1 -0
  48. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +7 -82
  49. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +12 -5
  50. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +1 -1
  51. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/array_observers.js +82 -0
  52. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +17 -0
  53. data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
  54. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +2 -2
  56. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +33 -30
  57. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +12 -11
  58. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +7 -7
  59. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +4 -4
  60. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +20 -20
  61. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +5 -5
  62. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +10 -10
  63. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +24 -23
  64. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +51 -54
  65. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +3 -3
  66. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
  67. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +29 -29
  68. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +1 -1
  69. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +3 -3
  70. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +6 -6
  71. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +4 -4
  72. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +5 -5
  73. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +1 -1
  74. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +5 -5
  75. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +7 -7
  76. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +3 -3
  77. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +7 -5
  78. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +31 -31
  79. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +1 -1
  80. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +35 -29
  81. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +2 -2
  82. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +61 -50
  83. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
  84. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +2 -2
  85. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +6 -1
  86. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
  87. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
  88. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +12 -12
  89. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +6 -6
  90. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +1 -1
  91. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +7 -9
  92. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +13 -13
  93. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +37 -37
  94. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +3 -2
  95. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +2 -2
  96. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +4 -3
  97. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +7 -6
  98. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +3 -3
  99. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +49 -42
  100. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/high_light.js +1 -1
  101. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +6 -6
  102. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +1 -1
  103. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/default_styles.css +0 -0
  104. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/strings.js +0 -0
  105. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/edit_mode.js +0 -0
  106. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/emptiness.js +0 -0
  107. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form.js +0 -0
  108. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form_row.js +0 -0
  109. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form.js +0 -0
  110. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_checkbox_field.js +0 -0
  111. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_field.js +0 -0
  112. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_label.js +0 -0
  113. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_radio_field.js +0 -0
  114. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_row.js +0 -0
  115. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_text_field.js +0 -0
  116. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form.js +13 -14
  117. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form_row.js +0 -0
  118. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +4 -6
  119. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -1
  120. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +2 -4
  121. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +8 -12
  122. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +28 -34
  123. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/system/routes.js +31 -47
  124. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/tests/system/routes.js +0 -0
  125. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
  126. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +15 -21
  127. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +8 -0
  128. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +3 -3
  129. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array_observers.js +23 -0
  130. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +1 -1
  131. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +3 -3
  132. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +3 -3
  133. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +66 -133
  134. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +68 -139
  135. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +11 -11
  136. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +23 -29
  137. data/lib/frameworks/sproutcore/lib/index.rhtml +5 -2
  138. data/lib/sproutcore.rb +2 -9
  139. data/lib/sproutcore/builders/minify.rb +5 -5
  140. data/lib/sproutcore/helpers/minifier.rb +6 -10
  141. data/lib/sproutcore/models/target.rb +2 -2
  142. data/lib/sproutcore/rack/proxy.rb +8 -7
  143. data/lib/sproutcore/tools.rb +16 -5
  144. data/spec/lib/builders/html_spec.rb +5 -5
  145. data/sproutcore.gemspec +11 -5
  146. data/vendor/chance/lib/chance.rb +4 -2
  147. data/{lib/sproutcore/vendor → vendor}/jsdoc/README.txt +0 -0
  148. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame.js +0 -0
  149. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Chain.js +0 -0
  150. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Dumper.js +0 -0
  151. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Hash.js +0 -0
  152. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Link.js +0 -0
  153. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Namespace.js +0 -0
  154. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Opt.js +0 -0
  155. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Reflection.js +0 -0
  156. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/String.js +0 -0
  157. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Testrun.js +0 -0
  158. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/FOODOC.js +0 -0
  159. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC.js +0 -0
  160. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -0
  161. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -0
  162. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -0
  163. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC.js +0 -0
  164. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocComment.js +0 -0
  165. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocTag.js +0 -0
  166. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsDoc.js +0 -0
  167. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsPlate.js +0 -0
  168. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Lang.js +0 -0
  169. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Parser.js +0 -0
  170. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/PluginManager.js +0 -0
  171. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Symbol.js +0 -0
  172. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -0
  173. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TextStream.js +0 -0
  174. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Token.js +0 -0
  175. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenReader.js +0 -0
  176. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenStream.js +0 -0
  177. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Util.js +0 -0
  178. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Walker.js +0 -0
  179. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/main.js +0 -0
  180. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/commentSrcJson.js +0 -0
  181. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/frameworkPrototype.js +0 -0
  182. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/functionCall.js +0 -0
  183. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/publishSrcHilite.js +0 -0
  184. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/sproutcoreTags.js +0 -0
  185. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/symbolLink.js +0 -0
  186. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagParamConfig.js +0 -0
  187. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagSynonyms.js +0 -0
  188. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/run.js +0 -0
  189. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/TestDoc.js +0 -0
  190. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/runner.js +0 -0
  191. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test.js +0 -0
  192. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/addon.js +0 -0
  193. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/anon_inner.js +0 -0
  194. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments.js +0 -0
  195. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments2.js +0 -0
  196. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows.js +0 -0
  197. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows2.js +0 -0
  198. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/config.js +0 -0
  199. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/constructs.js +0 -0
  200. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding.js +0 -0
  201. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding_other.js +0 -0
  202. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_anon.js +0 -0
  203. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_nested.js +0 -0
  204. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/global.js +0 -0
  205. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/globals.js +0 -0
  206. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/ignore.js +0 -0
  207. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/inner.js +0 -0
  208. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/jsdoc_test.js +0 -0
  209. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/lend.js +0 -0
  210. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof.js +0 -0
  211. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof_constructor.js +0 -0
  212. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/name.js +0 -0
  213. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/namespace_nested.js +0 -0
  214. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/nocode.js +0 -0
  215. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/oblit_anon.js +0 -0
  216. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/overview.js +0 -0
  217. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/param_inline.js +0 -0
  218. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/params_optional.js +0 -0
  219. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype.js +0 -0
  220. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_nested.js +0 -0
  221. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit.js +0 -0
  222. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit_constructor.js +0 -0
  223. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/public.js +0 -0
  224. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared.js +0 -0
  225. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared2.js +0 -0
  226. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shortcuts.js +0 -0
  227. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/static_this.js +0 -0
  228. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/synonyms.js +0 -0
  229. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/tosource.js +0 -0
  230. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/variable_redefine.js +0 -0
  231. data/{lib/sproutcore/vendor → vendor}/jsdoc/changes.txt +0 -0
  232. data/{lib/sproutcore/vendor → vendor}/jsdoc/conf/sample.conf +0 -0
  233. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build.xml +0 -0
  234. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build_1.4.xml +0 -0
  235. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/classes/js.jar +0 -0
  236. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsDebugRun.java +0 -0
  237. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsRun.java +0 -0
  238. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsdebug.jar +0 -0
  239. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsrun.jar +0 -0
  240. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/TestDoc.js +0 -0
  241. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/runner.js +0 -0
  242. data/{lib/sproutcore/vendor → vendor}/jsdoc/test.js +0 -0
  243. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/addon.js +0 -0
  244. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/anon_inner.js +0 -0
  245. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments.js +0 -0
  246. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments2.js +0 -0
  247. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows.js +0 -0
  248. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows2.js +0 -0
  249. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/config.js +0 -0
  250. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/constructs.js +0 -0
  251. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding.js +0 -0
  252. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding_other.js +0 -0
  253. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_anon.js +0 -0
  254. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_nested.js +0 -0
  255. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/global.js +0 -0
  256. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/globals.js +0 -0
  257. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/ignore.js +0 -0
  258. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/inner.js +0 -0
  259. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/jsdoc_test.js +0 -0
  260. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/lend.js +0 -0
  261. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof.js +0 -0
  262. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof_constructor.js +0 -0
  263. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/name.js +0 -0
  264. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/namespace_nested.js +0 -0
  265. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/nocode.js +0 -0
  266. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/oblit_anon.js +0 -0
  267. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/overview.js +0 -0
  268. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/param_inline.js +0 -0
  269. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/params_optional.js +0 -0
  270. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype.js +0 -0
  271. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_nested.js +0 -0
  272. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit.js +0 -0
  273. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit_constructor.js +0 -0
  274. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/public.js +0 -0
  275. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared.js +0 -0
  276. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared2.js +0 -0
  277. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shortcuts.js +0 -0
  278. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/static_this.js +0 -0
  279. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/synonyms.js +0 -0
  280. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/tosource.js +0 -0
  281. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/variable_redefine.js +0 -0
  282. data/vendor/sproutcore/{src/SCCompiler/lib/yuicompressor-2.4.4.jar → lib/yuicompressor-2.4.6.jar} +0 -0
  283. metadata +169 -178
  284. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -148
  285. data/lib/sproutcore/vendor/github_gem_lint.rb +0 -22
  286. data/vendor/sproutcore/SCCompiler.jar +0 -0
  287. data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
  288. data/vendor/sproutcore/lib/yuicompressor-2.4.2.jar +0 -0
  289. data/vendor/sproutcore/src/SCCompiler/build.xml +0 -74
  290. data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
  291. data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
  292. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
  293. data/vendor/sproutcore/src/SCCompiler/manifest.mf +0 -3
  294. data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +0 -894
  295. data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +0 -8
  296. data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
  297. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +0 -10
  298. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +0 -4
  299. data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +0 -90
  300. data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +0 -15
  301. data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +0 -348
@@ -25,25 +25,25 @@ var QUNIT_BREAK_ON_TEST_FAIL = false;
25
25
  wrapper methods. The methods must accept a Plan object as their first
26
26
  parameter.
27
27
 
28
- h2. Results
28
+ ## Results
29
29
 
30
30
  The results hash contains a summary of the results of running the test
31
31
  plan. It includes the following properties:
32
32
 
33
- - *assertions* - the total number of assertions
34
- - *tests* - the total number of tests
35
- - *passed* - number of assertions that passed
36
- - *failed* - number of assertions that failed
37
- - *errors* - number of assertions with errors
38
- - *warnings* - number of assertions with warnings
33
+ - *assertions* -- the total number of assertions
34
+ - *tests* -- the total number of tests
35
+ - *passed* -- number of assertions that passed
36
+ - *failed* -- number of assertions that failed
37
+ - *errors* -- number of assertions with errors
38
+ - *warnings* -- number of assertions with warnings
39
39
 
40
40
  You can also consult the log property, which contains an array of hashes -
41
41
  one for each assertion - with the following properties:
42
42
 
43
- - *module* - module descriptions
44
- - *test* - test description
45
- - *message* - assertion description
46
- - *result* - CoreTest.OK, CoreTest.FAILED, CoreTest.ERROR, CoreTest.WARN
43
+ - *module* -- module descriptions
44
+ - *test* -- test description
45
+ - *message* -- assertion description
46
+ - *result* -- CoreTest.OK, CoreTest.FAILED, CoreTest.ERROR, CoreTest.WARN
47
47
 
48
48
  @since SproutCore 1.0
49
49
  */
@@ -16,7 +16,7 @@
16
16
  types of objects to ensure that both the mixin and the object implementing
17
17
  the mixin use the API properly.
18
18
 
19
- h1. Using a Suite
19
+ ## Using a Suite
20
20
 
21
21
  To use a Suite, call the generate() method on the suite inside on of your
22
22
  unit test files. This will generate new modules and tests in the suite
@@ -27,16 +27,14 @@
27
27
  generate() method. See the documentation on the specific test suite for
28
28
  information on the kind of customizations you may need to provide.
29
29
 
30
- h2. Example
30
+ ### Example
31
31
 
32
- {{{
33
- // generates the SC.ArrayTestSuite tests for a built-in array.
34
- SC.ArrayTests.generate('Array', {
35
- newObject: function() { return []; }
36
- });
37
- }}}
32
+ // generates the SC.ArrayTestSuite tests for a built-in array.
33
+ SC.ArrayTests.generate('Array', {
34
+ newObject: function() { return []; }
35
+ });
38
36
 
39
- h1. Defining a Suite
37
+ ## Defining a Suite
40
38
 
41
39
  To define a test suite, simply call the extend() method, passing any
42
40
  attributs you want to define on the stuie along with this method. You can
@@ -45,24 +43,22 @@
45
43
  Functions you pass to define will have an instance of the test suite passed
46
44
  as their first parameter when invoked.
47
45
 
48
- h2. Example
46
+ ### Example
49
47
 
50
- {{{
51
- SC.ArrayTests = CoreTest.Suite.create("Verify SC.Array compliance", {
48
+ SC.ArrayTests = CoreTest.Suite.create("Verify SC.Array compliance", {
52
49
 
53
- // override to generate a new object that implements SC.Array
54
- newObject: function() { return null; }
55
- });
50
+ // override to generate a new object that implements SC.Array
51
+ newObject: function() { return null; }
52
+ });
56
53
 
57
- SC.ArrayTests.define(function(T) {
58
- T.module("length tests");
54
+ SC.ArrayTests.define(function(T) {
55
+ T.module("length tests");
59
56
 
60
- test("new length", function() {
61
- equals(T.object.get('length'), 0, 'array length');
62
- });
57
+ test("new length", function() {
58
+ equals(T.object.get('length'), 0, 'array length');
59
+ });
63
60
 
64
- });
65
- }}}
61
+ });
66
62
 
67
63
  @since SproutCore 1.0
68
64
 
@@ -206,13 +202,11 @@ CoreTest.Suite = /** @scope CoreTest.Suite.prototype */ {
206
202
  a convenience function for use inside of a definition function. You could
207
203
  do the same thing by calling:
208
204
 
209
- {{{
210
- var T = this ;
211
- module(T.desc(description), {
212
- setup: function() { T.setup(); },
213
- teardown: function() { T.teardown(); }
214
- }
215
- }}}
205
+ var T = this ;
206
+ module(T.desc(description), {
207
+ setup: function() { T.setup(); },
208
+ teardown: function() { T.teardown(); }
209
+ }
216
210
 
217
211
  @param {String} desc detailed descrition
218
212
  @returns {CoreTest.Suite} receiver
@@ -127,9 +127,12 @@
127
127
  # set.
128
128
  -%>
129
129
  <% if config.html5_history %>
130
+ <%# TODO: Can we check for the framework in Ruby instead? %>
130
131
  <script>
131
- SC.routes.wantsHistory = true;
132
- SC.routes.baseURI = <%= "#{@bundle.index_root}/#{language}".to_json %>;
132
+ if (SC.routes) {
133
+ SC.routes.wantsHistory = true;
134
+ SC.routes.baseURI = <%= "#{@bundle.index_root}/#{language}".to_json %>;
135
+ }
133
136
  </script>
134
137
  <% end %>
135
138
  <% #
data/lib/sproutcore.rb CHANGED
@@ -131,18 +131,11 @@ module SproutCore
131
131
 
132
132
  def self.yui_jar
133
133
  @yui_jar ||= begin
134
- yui_root = File.expand_path("../sproutcore/vendor/sproutcore/lib", __FILE__)
135
- File.join(yui_root, 'yuicompressor-2.4.4.jar')
134
+ yui_root = File.expand_path("../../vendor/sproutcore/lib", __FILE__)
135
+ File.join(yui_root, 'yuicompressor-2.4.6.jar')
136
136
  end
137
137
  end
138
138
 
139
- # def self.closure_jar
140
- # @closure_jar ||= begin
141
- # closure_root = File.expand_path("../sproutcore/vendor/sproutcore/lib", __FILE__)
142
- # File.join(closure_root, 'compiler.jar')
143
- # end
144
- # end
145
-
146
139
  def self.profile(env)
147
140
  if ENV[env]
148
141
  require "ruby-prof"
@@ -35,12 +35,12 @@ module SC
35
35
  def build_css(dst_path)
36
36
  a = Regexp.new('^'+MANIFEST.build_root)
37
37
  if dst_path =~ a
38
- # $to_minify << dst_path
38
+ # $to_minify << dst_path
39
39
  FileUtils.mkdir_p(File.dirname(dst_path))
40
40
  FileUtils.copy(entry.source_path, dst_path)
41
41
  else
42
42
  FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
43
- filecompress = "java -Xmx128m -jar \"" + SC.yui_jar + "\" --charset utf-8 --line-break 0 --nomunge --preserve-semi --disable-optimizations \"" + entry.source_path + "\" -o \"" + dst_path + "\" 2>&1"
43
+ filecompress = "java -Xmx128m -jar \"" + SC.yui_jar + "\" --type css --charset utf-8 --line-break 0 --nomunge --preserve-semi --disable-optimizations \"" + entry.source_path + "\" -o \"" + dst_path + "\" 2>&1"
44
44
  SC.logger.info 'Compressing CSS with YUI .... '+ dst_path
45
45
  SC.logger.debug `#{filecompress}`
46
46
 
@@ -50,12 +50,12 @@ module SC
50
50
  SC.logger.fatal("!!!!Failed compressing CSS... "+ dst_path)
51
51
  end
52
52
  end
53
- end
53
+ end
54
54
 
55
55
  # Minify some javascript by invoking the YUI compressor.
56
56
  def build_javascript(dst_path)
57
57
  entry.source_entry.build!
58
-
58
+
59
59
  # Minify module JavaScript immediately so it can be string-wrapped
60
60
  if entry.target[:target_type] == :module
61
61
  SC::Helpers::Minifier.minify dst_path
@@ -67,7 +67,7 @@ module SC
67
67
  def build_inline_javascript(dst_path)
68
68
  SC.logger.info 'Compiling inline Javascript with YUI: ' + dst_path + "..."
69
69
  FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
70
- filecompress = "java -Xmx128m -jar \"" + SC.yui_jar + "\" --js \"" + entry.source_path + "\" --js_output_file \"" + dst_path + "\" 2>&1"
70
+ filecompress = "java -Xmx128m -jar \"" + SC.yui_jar + "\" --type js \"" + entry.source_path + "\" -o \"" + dst_path + "\" 2>&1"
71
71
  SC.logger.info 'Compiling with YUI: '+ filecompress + "..."
72
72
 
73
73
  output = `#{filecompress}` # It'd be nice to just read STDERR, but
@@ -80,20 +80,16 @@ module SC::Helpers
80
80
  end
81
81
 
82
82
  def minify(paths)
83
- # Convert to string if an array
84
- if paths.respond_to? :join
85
- paths = paths * "\" \""
86
- end
87
-
88
- yui_root = File.expand_path("../../../../vendor/sproutcore", __FILE__)
89
- jar_path = File.join(yui_root, "SCCompiler.jar")
83
+ paths = paths.first if paths.is_a?(Array) && paths.length == 1
90
84
 
91
- if SC.env[:yui_minification]
92
- command = "java -Xmx256m -jar \"" + jar_path + "\" -yuionly \"" + paths + "\" 2>&1"
85
+ if paths.is_a?(Array)
86
+ paths = paths.map{|p| '"'+p+'"'}.join(' ')
87
+ outfile = '".js$:.js"'
93
88
  else
94
- command = "java -Xmx256m -jar \"" + jar_path + "\" \"" + paths + "\" 2>&1"
89
+ paths = outfile = '"'+paths+'"'
95
90
  end
96
91
 
92
+ command = %{java -Xmx256m -jar "#{SC.yui_jar}" -o #{outfile} #{paths} 2>&1}
97
93
  output = `#{command}`
98
94
 
99
95
  SC.logger.info output
@@ -656,7 +656,7 @@ module SC
656
656
  end
657
657
  end
658
658
 
659
- SC::HashStruct.new ({
659
+ SC::HashStruct.new({
660
660
  :requires => requires,
661
661
  :css_urls => css_urls,
662
662
  :css_2x_urls => css_2x_urls,
@@ -820,7 +820,7 @@ module SC
820
820
  FileUtils.mkdir_p(build_root)
821
821
 
822
822
  # Prepare jsdoc opts
823
- jsdoc_root = SC::LIBPATH / 'vendor' / 'jsdoc'
823
+ jsdoc_root = File.expand_path('../../../../', __FILE__) / 'vendor' / 'jsdoc'
824
824
  jar_path = jsdoc_root / 'jsrun.jar'
825
825
  runjs_path = jsdoc_root / 'app' / 'run.js'
826
826
 
@@ -60,7 +60,9 @@ module SC
60
60
 
61
61
  # Rack documentation says CONTENT_TYPE and CONTENT_LENGTH aren't prefixed by HTTP_
62
62
  headers['Content-Type'] = env['CONTENT_TYPE'] if env['CONTENT_TYPE']
63
- headers['Content-Length'] = env['CONTENT_LENGTH'] if env['CONTENT_LENGTH']
63
+
64
+ length = env['CONTENT_LENGTH']
65
+ headers['Content-Length'] = length if length
64
66
 
65
67
  http_host, http_port = proxy[:to].split(':')
66
68
  http_port = proxy[:secure] ? '443' : '80' if http_port.nil?
@@ -95,13 +97,12 @@ module SC
95
97
  response = web.send(http_method, http_path, headers)
96
98
  else
97
99
  http_body = env['rack.input']
98
- http_body.rewind
99
-
100
- some_request = Net::HTTPGenericRequest.new http_method.upcase,
101
- true, true, http_path, headers
100
+ http_body.rewind # May not be necessary but can't hurt
102
101
 
103
- some_request.body_stream = http_body
104
- response = web.request(some_request)
102
+ req = Net::HTTPGenericRequest.new(http_method.upcase,
103
+ true, true, http_path, headers)
104
+ req.body_stream = http_body if length.to_i > 0
105
+ response = web.request(req)
105
106
  end
106
107
  end
107
108
 
@@ -44,6 +44,22 @@ module SC
44
44
  class_option "library", :type => :string #deprecated
45
45
  class_option "environment", :type => :string #deprecated
46
46
 
47
+ default_task :banner
48
+
49
+ desc "help", "How to use the sproutcore command"
50
+ def banner
51
+ str = "SproutCore #{SC::VERSION} Usage"
52
+ puts "#{str}\n"+('='*str.length)+"\n\n"
53
+
54
+ help
55
+ end
56
+
57
+ map "--version" => :version
58
+ desc "version", "Show the SproutCore version number"
59
+ def version
60
+ puts "SproutCore #{SC::VERSION}"
61
+ end
62
+
47
63
  # This is the core entry method used to run every tool. Extend this
48
64
  # method with any standard preprocessing you want all tools to do before
49
65
  # they do their specific thing.
@@ -51,7 +67,6 @@ module SC
51
67
  super
52
68
  prepare_logger!
53
69
  prepare_mode!
54
- yui_minification!
55
70
  dont_minify!
56
71
  prepare_app!
57
72
  prepare_build_numbers!
@@ -124,10 +139,6 @@ module SC
124
139
  end
125
140
  end
126
141
 
127
- def yui_minification!
128
- SC.env[:yui_minification] = options[:'yui-minification']
129
- end
130
-
131
142
  def dont_minify!
132
143
  SC.env[:dont_minify] = options[:'dont-minify']
133
144
  end
@@ -186,6 +186,11 @@ describe SC::Builder::Html do
186
186
  # such as static_url, sc_resource, etc.
187
187
  describe "StaticHelper" do
188
188
 
189
+ it "adds preferredLanguage definition" do
190
+ result = @builder.bootstrap
191
+ result.should =~ /String.preferredLanguage = "en"/
192
+ end
193
+
189
194
  it "exposes static_url() & sc_static() alias" do
190
195
  @builder.static_url('icons/image').should =~ /icons\/image.png/
191
196
  @builder.static_url('image.jpg').should =~ /image.jpg/
@@ -417,11 +422,6 @@ describe SC::Builder::Html do
417
422
  expect_scripts(result, urls)
418
423
  end
419
424
 
420
- it "adds preferredLanguage definition" do
421
- result = @builder.javascripts_for_client
422
- result.should =~ /String.preferredLanguage = "en"/
423
- end
424
-
425
425
  it "adds javascript_libs to end of scripts" do
426
426
  @target.config.javascript_libs = %w(foo bar)
427
427
  result = @builder.javascripts_for_client
data/sproutcore.gemspec CHANGED
@@ -1,7 +1,9 @@
1
1
  $:.push File.expand_path("../lib", __FILE__)
2
2
  require "sproutcore/version"
3
3
 
4
- is_jruby = Gem::Platform.local.os == "java"
4
+ os = Gem::Platform.local.os
5
+ is_jruby = (os == "java")
6
+ is_mingw = (os == "mingw32")
5
7
 
6
8
  Gem::Specification.new do |s|
7
9
  s.name = 'sproutcore'
@@ -11,7 +13,8 @@ Gem::Specification.new do |s|
11
13
  s.homepage = 'http://www.sproutcore.com'
12
14
  s.summary = "SproutCore is a platform for building native look-and-feel applications on the web"
13
15
 
14
- s.platform = 'java' if is_jruby
16
+ s.platform = 'java' if is_jruby
17
+ s.platform = 'x86-mingw32' if is_mingw
15
18
 
16
19
  s.add_dependency 'rack', '~> 1.2.1'
17
20
  s.add_dependency 'json_pure', "~> 1.4.6"
@@ -19,15 +22,18 @@ Gem::Specification.new do |s|
19
22
  s.add_dependency 'erubis', "~> 2.6.6"
20
23
  s.add_dependency 'thor', '~> 0.14.3'
21
24
  s.add_dependency 'haml', '~> 3.0.24'
22
-
25
+
23
26
  s.add_dependency 'compass', '~> 0.10.5'
24
27
  s.add_dependency 'chunky_png', '~> 1.1.0'
25
28
 
26
29
  if is_jruby
27
30
  s.add_dependency 'mongrel', '~> 1.1.5'
28
31
  else
29
- s.add_dependency 'thin', '= 1.2.8'
30
- s.add_dependency 'eventmachine', '>= 0.12.10' # Thin requires wrong version
32
+ s.add_dependency 'thin', '~> 1.2.11'
33
+ end
34
+
35
+ if is_mingw
36
+ s.add_dependency 'eventmachine', '~> 1.0.0.beta'
31
37
  end
32
38
 
33
39
  s.add_development_dependency 'gemcutter', "~> 0.6.0"
@@ -115,7 +115,7 @@ module Chance
115
115
  _preprocess_css(file) if file[:path] =~ /css$/
116
116
 
117
117
  _preprocess_png(file) if file[:path] =~ /png$/
118
- _preprocess_img(file) if file[:path] =~ /gif$|jpg$/
118
+ _preprocess_rmagick_image(file) if file[:path] =~ /gif$|jpg$/
119
119
 
120
120
  file[:preprocessed] = true
121
121
  end
@@ -128,7 +128,9 @@ module Chance
128
128
  file[:canvas] = nil
129
129
  begin
130
130
  require "rmagick"
131
- rescue Exception
131
+ rescue LoadError
132
+ file[:error] = "RMagick is require to process gifs and jpgs. (gem install rmagick)"
133
+ return
132
134
  end
133
135
 
134
136
  begin
File without changes