saphira 0.1.0 → 0.1.1.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (665) hide show
  1. data/app/assets/images/saphira/cancel.png +0 -0
  2. data/app/assets/images/saphira/com/adobe/air/logging/FileTarget.as +98 -0
  3. data/app/assets/images/saphira/com/adobe/crypto/HMAC.as +127 -0
  4. data/app/assets/images/saphira/com/adobe/crypto/MD5.as +281 -0
  5. data/app/assets/images/saphira/com/adobe/crypto/MD5Stream.as +402 -0
  6. data/app/assets/images/saphira/com/adobe/crypto/SHA1.as +271 -0
  7. data/app/assets/images/saphira/com/adobe/crypto/SHA224.as +257 -0
  8. data/app/assets/images/saphira/com/adobe/crypto/SHA256.as +261 -0
  9. data/app/assets/images/saphira/com/adobe/crypto/WSSEUsernameToken.as +114 -0
  10. data/app/assets/images/saphira/com/adobe/errors/IllegalStateError.as +63 -0
  11. data/app/assets/images/saphira/com/adobe/fileformats/vcard/Address.as +47 -0
  12. data/app/assets/images/saphira/com/adobe/fileformats/vcard/Email.as +39 -0
  13. data/app/assets/images/saphira/com/adobe/fileformats/vcard/Phone.as +39 -0
  14. data/app/assets/images/saphira/com/adobe/fileformats/vcard/VCard.as +54 -0
  15. data/app/assets/images/saphira/com/adobe/fileformats/vcard/VCardParser.as +246 -0
  16. data/app/assets/images/saphira/com/adobe/images/BitString.as +39 -0
  17. data/app/assets/images/saphira/com/adobe/images/JPGEncoder.as +648 -0
  18. data/app/assets/images/saphira/com/adobe/images/PNGEncoder.as +141 -0
  19. data/app/assets/images/saphira/com/adobe/net/DynamicURLLoader.as +55 -0
  20. data/app/assets/images/saphira/com/adobe/net/IURIResolver.as +76 -0
  21. data/app/assets/images/saphira/com/adobe/net/MimeTypeMap.as +196 -0
  22. data/app/assets/images/saphira/com/adobe/net/URI.as +2466 -0
  23. data/app/assets/images/saphira/com/adobe/net/URIEncodingBitmap.as +139 -0
  24. data/app/assets/images/saphira/com/adobe/net/proxies/RFC2817Socket.as +198 -0
  25. data/app/assets/images/saphira/com/adobe/protocols/dict/Database.as +34 -0
  26. data/app/assets/images/saphira/com/adobe/protocols/dict/Definition.as +39 -0
  27. data/app/assets/images/saphira/com/adobe/protocols/dict/Dict.as +328 -0
  28. data/app/assets/images/saphira/com/adobe/protocols/dict/DictionaryServer.as +28 -0
  29. data/app/assets/images/saphira/com/adobe/protocols/dict/MatchStrategy.as +34 -0
  30. data/app/assets/images/saphira/com/adobe/protocols/dict/Response.as +39 -0
  31. data/app/assets/images/saphira/com/adobe/protocols/dict/events/ConnectedEvent.as +14 -0
  32. data/app/assets/images/saphira/com/adobe/protocols/dict/events/DatabaseEvent.as +26 -0
  33. data/app/assets/images/saphira/com/adobe/protocols/dict/events/DefinitionEvent.as +27 -0
  34. data/app/assets/images/saphira/com/adobe/protocols/dict/events/DefinitionHeaderEvent.as +26 -0
  35. data/app/assets/images/saphira/com/adobe/protocols/dict/events/DictionaryServerEvent.as +26 -0
  36. data/app/assets/images/saphira/com/adobe/protocols/dict/events/DisconnectedEvent.as +14 -0
  37. data/app/assets/images/saphira/com/adobe/protocols/dict/events/ErrorEvent.as +37 -0
  38. data/app/assets/images/saphira/com/adobe/protocols/dict/events/MatchEvent.as +26 -0
  39. data/app/assets/images/saphira/com/adobe/protocols/dict/events/MatchStrategiesEvent.as +26 -0
  40. data/app/assets/images/saphira/com/adobe/protocols/dict/events/NoMatchEvent.as +14 -0
  41. data/app/assets/images/saphira/com/adobe/protocols/dict/util/CompleteResponseEvent.as +25 -0
  42. data/app/assets/images/saphira/com/adobe/protocols/dict/util/SocketHelper.as +49 -0
  43. data/app/assets/images/saphira/com/adobe/serialization/json/JSON.as +85 -0
  44. data/app/assets/images/saphira/com/adobe/serialization/json/JSONDecoder.as +221 -0
  45. data/app/assets/images/saphira/com/adobe/serialization/json/JSONEncoder.as +299 -0
  46. data/app/assets/images/saphira/com/adobe/serialization/json/JSONParseError.as +87 -0
  47. data/app/assets/images/saphira/com/adobe/serialization/json/JSONToken.as +104 -0
  48. data/app/assets/images/saphira/com/adobe/serialization/json/JSONTokenType.as +67 -0
  49. data/app/assets/images/saphira/com/adobe/serialization/json/JSONTokenizer.as +583 -0
  50. data/app/assets/images/saphira/com/adobe/utils/ArrayUtil.as +187 -0
  51. data/app/assets/images/saphira/com/adobe/utils/DateUtil.as +699 -0
  52. data/app/assets/images/saphira/com/adobe/utils/DictionaryUtil.as +87 -0
  53. data/app/assets/images/saphira/com/adobe/utils/IntUtil.as +99 -0
  54. data/app/assets/images/saphira/com/adobe/utils/NumberFormatter.as +74 -0
  55. data/app/assets/images/saphira/com/adobe/utils/StringUtil.as +270 -0
  56. data/app/assets/images/saphira/com/adobe/utils/XMLUtil.as +168 -0
  57. data/app/assets/images/saphira/com/adobe/webapis/ServiceBase.as +48 -0
  58. data/app/assets/images/saphira/com/adobe/webapis/URLLoaderBase.as +108 -0
  59. data/app/assets/images/saphira/com/adobe/webapis/events/ServiceEvent.as +75 -0
  60. data/app/assets/images/saphira/expressInstall.swf +0 -0
  61. data/app/assets/images/saphira/jcrop.gif +0 -0
  62. data/app/assets/images/saphira/uploadify.allglyphs.swf +0 -0
  63. data/app/assets/images/saphira/uploadify.fla +0 -0
  64. data/app/assets/images/saphira/uploadify.swf +0 -0
  65. data/app/assets/javascripts/saphira/image_variant_settings.js +2 -0
  66. data/app/assets/javascripts/saphira/image_variants.js +2 -0
  67. data/app/assets/javascripts/saphira/jquery.color.js +123 -0
  68. data/app/assets/javascripts/saphira/jquery.jcrop.js +1600 -0
  69. data/app/assets/javascripts/saphira/jquery.uploadify.v2.1.4.js +296 -0
  70. data/app/assets/javascripts/saphira/swfobject.js +4 -0
  71. data/app/assets/stylesheets/saphira/image_variant_settings.css +4 -0
  72. data/app/assets/stylesheets/saphira/image_variants.css +4 -0
  73. data/app/assets/stylesheets/saphira/jquery.jcrop.css +35 -0
  74. data/app/assets/stylesheets/saphira/uploadify.css +52 -0
  75. data/app/controllers/saphira/file_items_controller.rb +8 -1
  76. data/app/controllers/saphira/image_variant_settings_controller.rb +41 -0
  77. data/app/controllers/saphira/image_variants_controller.rb +85 -0
  78. data/app/helpers/saphira/image_variant_settings_helper.rb +4 -0
  79. data/app/helpers/saphira/image_variants_helper.rb +4 -0
  80. data/app/models/saphira/file_item.rb +43 -0
  81. data/app/models/saphira/image_variant.rb +4 -0
  82. data/app/views/layouts/saphira/application.html.erb +5 -0
  83. data/app/views/saphira/file_items/index.html.erb +4 -3
  84. data/app/views/saphira/file_items/show.html.erb +16 -1
  85. data/app/views/saphira/file_items/upload_files.html.erb +33 -0
  86. data/app/views/saphira/image_variant_settings/edit.html.erb +18 -0
  87. data/app/views/saphira/image_variant_settings/show.html.erb +55 -0
  88. data/app/views/saphira/image_variant_settings/update.html.erb +2 -0
  89. data/app/views/saphira/image_variants/_form.html.erb +29 -0
  90. data/app/views/saphira/image_variants/edit.html.erb +6 -0
  91. data/app/views/saphira/image_variants/index.html.erb +27 -0
  92. data/app/views/saphira/image_variants/new.html.erb +5 -0
  93. data/app/views/saphira/image_variants/show.html.erb +21 -0
  94. data/config/initializers/dragonfly.rb +10 -1
  95. data/config/initializers/helpers.rb +5 -0
  96. data/config/initializers/mini_magick.rb +1 -0
  97. data/config/routes.rb +5 -1
  98. data/db/migrate/20110909143712_create_saphira_image_variants.rb +11 -0
  99. data/lib/saphira/engine.rb +9 -0
  100. data/lib/saphira/helpers/form_builder.rb +19 -0
  101. data/lib/saphira/helpers/form_helper.rb +69 -0
  102. data/lib/saphira/middleware/flash_session_cookie.rb +23 -0
  103. data/lib/saphira/version.rb +1 -1
  104. data/test/dummy/config/initializers/pry.rb +1 -0
  105. data/test/dummy/db/development.sqlite3 +0 -0
  106. data/test/dummy/db/migrate/20110909143951_create_saphira_image_variants.rb +11 -0
  107. data/test/dummy/db/schema.rb +9 -1
  108. data/test/dummy/db/test.sqlite3 +0 -0
  109. data/test/dummy/features/manage_file_items.feature +2 -1
  110. data/test/dummy/features/manage_image_variants.feature +24 -0
  111. data/test/dummy/features/step_definitions/file_item_steps.rb +19 -0
  112. data/test/dummy/features/step_definitions/image_variant_steps.rb +31 -0
  113. data/test/dummy/features/support/env.rb +2 -0
  114. data/test/dummy/features/support/paths.rb +3 -0
  115. data/test/dummy/lib/tasks/custom.rake +3 -0
  116. data/test/dummy/log/development.log +54425 -0
  117. data/test/dummy/log/test.log +15514 -0
  118. data/test/dummy/system/files/development/2011/09/09/16_51_37_135_IMG_4704.JPG +0 -0
  119. data/test/dummy/system/files/development/2011/09/09/16_51_37_135_IMG_4704.JPG.meta +1 -0
  120. data/test/dummy/system/files/development/2011/09/09/16_54_54_247_IMG_4707.JPG +0 -0
  121. data/test/dummy/system/files/development/2011/09/09/16_54_54_247_IMG_4707.JPG.meta +1 -0
  122. data/test/dummy/system/files/development/2011/09/09/18_26_01_701_IMG_4712.JPG +0 -0
  123. data/test/dummy/system/files/development/2011/09/09/18_26_01_701_IMG_4712.JPG.meta +1 -0
  124. data/test/dummy/system/files/development/2011/09/20/10_54_49_597_G_rtz1_2040_1_CMYK.jpg +0 -0
  125. data/test/dummy/system/files/development/2011/09/20/10_54_49_597_G_rtz1_2040_1_CMYK.jpg.meta +1 -0
  126. data/test/dummy/system/files/development/2011/09/20/12_44_23_621_DSC02119.JPG +0 -0
  127. data/test/dummy/system/files/development/2011/09/20/12_44_23_621_DSC02119.JPG.meta +1 -0
  128. data/test/dummy/system/files/development/2011/09/20/12_46_58_387_DSC02119.JPG +0 -0
  129. data/test/dummy/system/files/development/2011/09/20/12_46_58_387_DSC02119.JPG.meta +1 -0
  130. data/test/dummy/system/files/development/2011/09/20/12_49_02_756_DSC02120.JPG +0 -0
  131. data/test/dummy/system/files/development/2011/09/20/12_49_02_756_DSC02120.JPG.meta +1 -0
  132. data/test/dummy/system/files/development/2011/09/20/12_50_19_290_G_rtz1_0989_2_CMYK.jpg +0 -0
  133. data/test/dummy/system/files/development/2011/09/20/12_50_19_290_G_rtz1_0989_2_CMYK.jpg.meta +1 -0
  134. data/test/dummy/system/files/development/2011/09/20/12_50_23_519_G_rtz1_1628_1_CMYK.jpg +0 -0
  135. data/test/dummy/system/files/development/2011/09/20/12_50_23_519_G_rtz1_1628_1_CMYK.jpg.meta +1 -0
  136. data/test/dummy/system/files/development/2011/09/20/12_50_26_44_G_rtz1_1663_CMYK.jpg +0 -0
  137. data/test/dummy/system/files/development/2011/09/20/12_50_26_44_G_rtz1_1663_CMYK.jpg.meta +1 -0
  138. data/test/dummy/system/files/development/2011/09/20/12_50_27_954_G_rtz1_2040_1_CMYK.jpg +0 -0
  139. data/test/dummy/system/files/development/2011/09/20/12_50_27_954_G_rtz1_2040_1_CMYK.jpg.meta +1 -0
  140. data/test/dummy/system/files/development/2011/09/20/12_54_44_373_G_rtz1_1628_1_CMYK.jpg +0 -0
  141. data/test/dummy/system/files/development/2011/09/20/12_54_44_373_G_rtz1_1628_1_CMYK.jpg.meta +1 -0
  142. data/test/dummy/system/files/development/2011/09/20/12_54_46_193_G_rtz1_1663_CMYK.jpg +0 -0
  143. data/test/dummy/system/files/development/2011/09/20/12_54_46_193_G_rtz1_1663_CMYK.jpg.meta +1 -0
  144. data/test/dummy/system/files/development/2011/09/20/12_54_49_17_G_rtz1_2040_1_CMYK.jpg +0 -0
  145. data/test/dummy/system/files/development/2011/09/20/12_54_49_17_G_rtz1_2040_1_CMYK.jpg.meta +1 -0
  146. data/test/dummy/system/files/test/2011/09/09/09_58_11_308_eos_550d_wrong_orientation.jpg +0 -0
  147. data/test/dummy/system/files/test/2011/09/09/09_58_11_308_eos_550d_wrong_orientation.jpg.meta +1 -0
  148. data/test/dummy/system/files/test/2011/09/09/09_58_12_5_some_text.txt +99 -0
  149. data/test/dummy/system/files/test/2011/09/09/09_58_12_5_some_text.txt.meta +1 -0
  150. data/test/dummy/system/files/test/2011/09/09/10_00_33_577_eos_550d_wrong_orientation.jpg +0 -0
  151. data/test/dummy/system/files/test/2011/09/09/10_00_33_577_eos_550d_wrong_orientation.jpg.meta +1 -0
  152. data/test/dummy/system/files/test/2011/09/09/10_00_34_245_some_text.txt +99 -0
  153. data/test/dummy/system/files/test/2011/09/09/10_00_34_245_some_text.txt.meta +1 -0
  154. data/test/dummy/system/files/test/2011/09/09/10_01_37_537_eos_550d_wrong_orientation.jpg +0 -0
  155. data/test/dummy/system/files/test/2011/09/09/10_01_37_537_eos_550d_wrong_orientation.jpg.meta +1 -0
  156. data/test/dummy/system/files/test/2011/09/09/10_01_38_188_some_text.txt +99 -0
  157. data/test/dummy/system/files/test/2011/09/09/10_01_38_188_some_text.txt.meta +1 -0
  158. data/test/dummy/system/files/test/2011/09/09/10_02_53_234_eos_550d_wrong_orientation.jpg +0 -0
  159. data/test/dummy/system/files/test/2011/09/09/10_02_53_234_eos_550d_wrong_orientation.jpg.meta +1 -0
  160. data/test/dummy/system/files/test/2011/09/09/10_02_53_906_some_text.txt +99 -0
  161. data/test/dummy/system/files/test/2011/09/09/10_02_53_906_some_text.txt.meta +1 -0
  162. data/test/dummy/system/files/test/2011/09/09/10_02_56_34_eos_550d_wrong_orientation.jpg +0 -0
  163. data/test/dummy/system/files/test/2011/09/09/10_02_56_34_eos_550d_wrong_orientation.jpg.meta +1 -0
  164. data/test/dummy/system/files/test/2011/09/09/10_04_33_416_eos_550d_wrong_orientation.jpg +0 -0
  165. data/test/dummy/system/files/test/2011/09/09/10_04_33_416_eos_550d_wrong_orientation.jpg.meta +1 -0
  166. data/test/dummy/system/files/test/2011/09/09/10_04_34_69_some_text.txt +99 -0
  167. data/test/dummy/system/files/test/2011/09/09/10_04_34_69_some_text.txt.meta +1 -0
  168. data/test/dummy/system/files/test/2011/09/09/10_05_05_475_eos_550d_wrong_orientation.jpg +0 -0
  169. data/test/dummy/system/files/test/2011/09/09/10_05_05_475_eos_550d_wrong_orientation.jpg.meta +1 -0
  170. data/test/dummy/system/files/test/2011/09/09/10_05_06_447_some_text.txt +99 -0
  171. data/test/dummy/system/files/test/2011/09/09/10_05_06_447_some_text.txt.meta +1 -0
  172. data/test/dummy/system/files/test/2011/09/09/10_05_08_609_eos_550d_wrong_orientation.jpg +0 -0
  173. data/test/dummy/system/files/test/2011/09/09/10_05_08_609_eos_550d_wrong_orientation.jpg.meta +1 -0
  174. data/test/dummy/system/files/test/2011/09/09/10_06_34_64_eos_550d_wrong_orientation.jpg +0 -0
  175. data/test/dummy/system/files/test/2011/09/09/10_06_34_64_eos_550d_wrong_orientation.jpg.meta +1 -0
  176. data/test/dummy/system/files/test/2011/09/09/10_06_34_786_some_text.txt +99 -0
  177. data/test/dummy/system/files/test/2011/09/09/10_06_34_786_some_text.txt.meta +1 -0
  178. data/test/dummy/system/files/test/2011/09/09/10_06_49_889_eos_550d_wrong_orientation.jpg +0 -0
  179. data/test/dummy/system/files/test/2011/09/09/10_06_49_889_eos_550d_wrong_orientation.jpg.meta +1 -0
  180. data/test/dummy/system/files/test/2011/09/09/10_06_50_544_some_text.txt +99 -0
  181. data/test/dummy/system/files/test/2011/09/09/10_06_50_544_some_text.txt.meta +1 -0
  182. data/test/dummy/system/files/test/2011/09/09/10_08_33_687_eos_550d_wrong_orientation.jpg +0 -0
  183. data/test/dummy/system/files/test/2011/09/09/10_08_33_687_eos_550d_wrong_orientation.jpg.meta +1 -0
  184. data/test/dummy/system/files/test/2011/09/09/10_08_34_411_some_text.txt +99 -0
  185. data/test/dummy/system/files/test/2011/09/09/10_08_34_411_some_text.txt.meta +1 -0
  186. data/test/dummy/system/files/test/2011/09/09/10_09_07_292_eos_550d_wrong_orientation.jpg +0 -0
  187. data/test/dummy/system/files/test/2011/09/09/10_09_07_292_eos_550d_wrong_orientation.jpg.meta +1 -0
  188. data/test/dummy/system/files/test/2011/09/09/10_09_07_624_some_text.txt +99 -0
  189. data/test/dummy/system/files/test/2011/09/09/10_09_07_624_some_text.txt.meta +1 -0
  190. data/test/dummy/system/files/test/2011/09/09/10_09_23_158_eos_550d_wrong_orientation.jpg +0 -0
  191. data/test/dummy/system/files/test/2011/09/09/10_09_23_158_eos_550d_wrong_orientation.jpg.meta +1 -0
  192. data/test/dummy/system/files/test/2011/09/09/10_09_23_495_some_text.txt +99 -0
  193. data/test/dummy/system/files/test/2011/09/09/10_09_23_495_some_text.txt.meta +1 -0
  194. data/test/dummy/system/files/test/2011/09/09/10_10_43_742_eos_550d_wrong_orientation.jpg +0 -0
  195. data/test/dummy/system/files/test/2011/09/09/10_10_43_742_eos_550d_wrong_orientation.jpg.meta +1 -0
  196. data/test/dummy/system/files/test/2011/09/09/10_10_44_475_some_text.txt +99 -0
  197. data/test/dummy/system/files/test/2011/09/09/10_10_44_475_some_text.txt.meta +1 -0
  198. data/test/dummy/system/files/test/2011/09/09/10_10_59_650_eos_550d_wrong_orientation.jpg +0 -0
  199. data/test/dummy/system/files/test/2011/09/09/10_10_59_650_eos_550d_wrong_orientation.jpg.meta +1 -0
  200. data/test/dummy/system/files/test/2011/09/09/10_11_00_294_some_text.txt +99 -0
  201. data/test/dummy/system/files/test/2011/09/09/10_11_00_294_some_text.txt.meta +1 -0
  202. data/test/dummy/system/files/test/2011/09/09/10_21_22_164_eos_550d_wrong_orientation.jpg +0 -0
  203. data/test/dummy/system/files/test/2011/09/09/10_21_22_164_eos_550d_wrong_orientation.jpg.meta +1 -0
  204. data/test/dummy/system/files/test/2011/09/09/10_21_23_90_some_text.txt +99 -0
  205. data/test/dummy/system/files/test/2011/09/09/10_21_23_90_some_text.txt.meta +1 -0
  206. data/test/dummy/system/files/test/2011/09/09/10_21_38_479_eos_550d_wrong_orientation.jpg +0 -0
  207. data/test/dummy/system/files/test/2011/09/09/10_21_38_479_eos_550d_wrong_orientation.jpg.meta +1 -0
  208. data/test/dummy/system/files/test/2011/09/09/10_21_39_225_some_text.txt +99 -0
  209. data/test/dummy/system/files/test/2011/09/09/10_21_39_225_some_text.txt.meta +1 -0
  210. data/test/dummy/system/files/test/2011/09/09/10_21_55_560_eos_550d_wrong_orientation.jpg +0 -0
  211. data/test/dummy/system/files/test/2011/09/09/10_21_55_560_eos_550d_wrong_orientation.jpg.meta +1 -0
  212. data/test/dummy/system/files/test/2011/09/09/10_21_56_332_some_text.txt +99 -0
  213. data/test/dummy/system/files/test/2011/09/09/10_21_56_332_some_text.txt.meta +1 -0
  214. data/test/dummy/system/files/test/2011/09/09/10_25_03_122_eos_550d_wrong_orientation.jpg +0 -0
  215. data/test/dummy/system/files/test/2011/09/09/10_25_03_122_eos_550d_wrong_orientation.jpg.meta +1 -0
  216. data/test/dummy/system/files/test/2011/09/09/10_25_04_108_some_text.txt +99 -0
  217. data/test/dummy/system/files/test/2011/09/09/10_25_04_108_some_text.txt.meta +1 -0
  218. data/test/dummy/system/files/test/2011/09/09/10_25_42_747_eos_550d_wrong_orientation.jpg +0 -0
  219. data/test/dummy/system/files/test/2011/09/09/10_25_42_747_eos_550d_wrong_orientation.jpg.meta +1 -0
  220. data/test/dummy/system/files/test/2011/09/09/10_25_43_407_some_text.txt +99 -0
  221. data/test/dummy/system/files/test/2011/09/09/10_25_43_407_some_text.txt.meta +1 -0
  222. data/test/dummy/system/files/test/2011/09/09/10_25_58_973_eos_550d_wrong_orientation.jpg +0 -0
  223. data/test/dummy/system/files/test/2011/09/09/10_25_58_973_eos_550d_wrong_orientation.jpg.meta +1 -0
  224. data/test/dummy/system/files/test/2011/09/09/10_41_33_628_some_text.txt +99 -0
  225. data/test/dummy/system/files/test/2011/09/09/10_41_33_628_some_text.txt.meta +1 -0
  226. data/test/dummy/system/files/test/2011/09/09/10_42_34_411_eos_550d_wrong_orientation.jpg +0 -0
  227. data/test/dummy/system/files/test/2011/09/09/10_42_34_411_eos_550d_wrong_orientation.jpg.meta +1 -0
  228. data/test/dummy/system/files/test/2011/09/09/10_42_35_234_some_text.txt +99 -0
  229. data/test/dummy/system/files/test/2011/09/09/10_42_35_234_some_text.txt.meta +1 -0
  230. data/test/dummy/system/files/test/2011/09/09/10_42_59_862_eos_550d_wrong_orientation.jpg +0 -0
  231. data/test/dummy/system/files/test/2011/09/09/10_42_59_862_eos_550d_wrong_orientation.jpg.meta +1 -0
  232. data/test/dummy/system/files/test/2011/09/09/10_44_16_115_some_text.txt +99 -0
  233. data/test/dummy/system/files/test/2011/09/09/10_44_16_115_some_text.txt.meta +1 -0
  234. data/test/dummy/system/files/test/2011/09/09/10_44_32_193_eos_550d_wrong_orientation.jpg +0 -0
  235. data/test/dummy/system/files/test/2011/09/09/10_44_32_193_eos_550d_wrong_orientation.jpg.meta +1 -0
  236. data/test/dummy/system/files/test/2011/09/09/10_44_33_135_some_text.txt +99 -0
  237. data/test/dummy/system/files/test/2011/09/09/10_44_33_135_some_text.txt.meta +1 -0
  238. data/test/dummy/system/files/test/2011/09/09/10_45_51_831_eos_550d_wrong_orientation.jpg +0 -0
  239. data/test/dummy/system/files/test/2011/09/09/10_45_51_831_eos_550d_wrong_orientation.jpg.meta +1 -0
  240. data/test/dummy/system/files/test/2011/09/09/10_51_00_989_some_text.txt +99 -0
  241. data/test/dummy/system/files/test/2011/09/09/10_51_00_989_some_text.txt.meta +1 -0
  242. data/test/dummy/system/files/test/2011/09/09/10_51_16_925_eos_550d_wrong_orientation.jpg +0 -0
  243. data/test/dummy/system/files/test/2011/09/09/10_51_16_925_eos_550d_wrong_orientation.jpg.meta +1 -0
  244. data/test/dummy/system/files/test/2011/09/09/10_51_17_404_some_text.txt +99 -0
  245. data/test/dummy/system/files/test/2011/09/09/10_51_17_404_some_text.txt.meta +1 -0
  246. data/test/dummy/system/files/test/2011/09/09/10_51_33_795_eos_550d_wrong_orientation.jpg +0 -0
  247. data/test/dummy/system/files/test/2011/09/09/10_51_33_795_eos_550d_wrong_orientation.jpg.meta +1 -0
  248. data/test/dummy/system/files/test/2011/09/09/10_51_34_266_some_text.txt +99 -0
  249. data/test/dummy/system/files/test/2011/09/09/10_51_34_266_some_text.txt.meta +1 -0
  250. data/test/dummy/system/files/test/2011/09/09/11_55_24_773_eos_550d_wrong_orientation.jpg +0 -0
  251. data/test/dummy/system/files/test/2011/09/09/11_55_24_773_eos_550d_wrong_orientation.jpg.meta +1 -0
  252. data/test/dummy/system/files/test/2011/09/09/11_55_25_251_some_text.txt +99 -0
  253. data/test/dummy/system/files/test/2011/09/09/11_55_25_251_some_text.txt.meta +1 -0
  254. data/test/dummy/system/files/test/2011/09/09/12_29_13_951_eos_550d_wrong_orientation.jpg +0 -0
  255. data/test/dummy/system/files/test/2011/09/09/12_29_13_951_eos_550d_wrong_orientation.jpg.meta +1 -0
  256. data/test/dummy/system/files/test/2011/09/09/12_29_14_948_some_text.txt +99 -0
  257. data/test/dummy/system/files/test/2011/09/09/12_29_14_948_some_text.txt.meta +1 -0
  258. data/test/dummy/system/files/test/2011/09/09/12_29_31_320_eos_550d_wrong_orientation.jpg +0 -0
  259. data/test/dummy/system/files/test/2011/09/09/12_29_31_320_eos_550d_wrong_orientation.jpg.meta +1 -0
  260. data/test/dummy/system/files/test/2011/09/09/12_29_45_558_eos_550d_wrong_orientation.jpg +0 -0
  261. data/test/dummy/system/files/test/2011/09/09/12_29_45_558_eos_550d_wrong_orientation.jpg.meta +1 -0
  262. data/test/dummy/system/files/test/2011/09/09/12_29_46_46_some_text.txt +99 -0
  263. data/test/dummy/system/files/test/2011/09/09/12_29_46_46_some_text.txt.meta +1 -0
  264. data/test/dummy/system/files/test/2011/09/09/12_30_02_482_eos_550d_wrong_orientation.jpg +0 -0
  265. data/test/dummy/system/files/test/2011/09/09/12_30_02_482_eos_550d_wrong_orientation.jpg.meta +1 -0
  266. data/test/dummy/system/files/test/2011/09/09/12_30_02_976_some_text.txt +99 -0
  267. data/test/dummy/system/files/test/2011/09/09/12_30_02_976_some_text.txt.meta +1 -0
  268. data/test/dummy/system/files/test/2011/09/09/12_30_28_555_eos_550d_wrong_orientation.jpg +0 -0
  269. data/test/dummy/system/files/test/2011/09/09/12_30_28_555_eos_550d_wrong_orientation.jpg.meta +1 -0
  270. data/test/dummy/system/files/test/2011/09/09/12_30_29_27_some_text.txt +99 -0
  271. data/test/dummy/system/files/test/2011/09/09/12_30_29_27_some_text.txt.meta +1 -0
  272. data/test/dummy/system/files/test/2011/09/09/12_32_59_361_eos_550d_wrong_orientation.jpg +0 -0
  273. data/test/dummy/system/files/test/2011/09/09/12_32_59_361_eos_550d_wrong_orientation.jpg.meta +1 -0
  274. data/test/dummy/system/files/test/2011/09/09/12_32_59_829_some_text.txt +99 -0
  275. data/test/dummy/system/files/test/2011/09/09/12_32_59_829_some_text.txt.meta +1 -0
  276. data/test/dummy/system/files/test/2011/09/09/12_33_28_536_some_text.txt +99 -0
  277. data/test/dummy/system/files/test/2011/09/09/12_33_28_536_some_text.txt.meta +1 -0
  278. data/test/dummy/system/files/test/2011/09/09/12_33_28_53_eos_550d_wrong_orientation.jpg +0 -0
  279. data/test/dummy/system/files/test/2011/09/09/12_33_28_53_eos_550d_wrong_orientation.jpg.meta +1 -0
  280. data/test/dummy/system/files/test/2011/09/09/16_30_50_311_eos_550d_wrong_orientation.jpg +0 -0
  281. data/test/dummy/system/files/test/2011/09/09/16_30_50_311_eos_550d_wrong_orientation.jpg.meta +1 -0
  282. data/test/dummy/system/files/test/2011/09/09/16_42_46_830_eos_550d_wrong_orientation.jpg +0 -0
  283. data/test/dummy/system/files/test/2011/09/09/16_42_46_830_eos_550d_wrong_orientation.jpg.meta +1 -0
  284. data/test/dummy/system/files/test/2011/09/09/16_43_08_154_eos_550d_wrong_orientation.jpg +0 -0
  285. data/test/dummy/system/files/test/2011/09/09/16_43_08_154_eos_550d_wrong_orientation.jpg.meta +1 -0
  286. data/test/dummy/system/files/test/2011/09/09/16_43_08_639_some_text.txt +99 -0
  287. data/test/dummy/system/files/test/2011/09/09/16_43_08_639_some_text.txt.meta +1 -0
  288. data/test/dummy/system/files/test/2011/09/09/16_43_39_562_eos_550d_wrong_orientation.jpg +0 -0
  289. data/test/dummy/system/files/test/2011/09/09/16_43_39_562_eos_550d_wrong_orientation.jpg.meta +1 -0
  290. data/test/dummy/system/files/test/2011/09/09/16_44_16_988_eos_550d_wrong_orientation.jpg +0 -0
  291. data/test/dummy/system/files/test/2011/09/09/16_44_16_988_eos_550d_wrong_orientation.jpg.meta +1 -0
  292. data/test/dummy/system/files/test/2011/09/09/16_44_44_6_eos_550d_wrong_orientation.jpg +0 -0
  293. data/test/dummy/system/files/test/2011/09/09/16_44_44_6_eos_550d_wrong_orientation.jpg.meta +1 -0
  294. data/test/dummy/system/files/test/2011/09/09/16_45_22_203_eos_550d_wrong_orientation.jpg +0 -0
  295. data/test/dummy/system/files/test/2011/09/09/16_45_22_203_eos_550d_wrong_orientation.jpg.meta +1 -0
  296. data/test/dummy/system/files/test/2011/09/09/16_45_22_694_some_text.txt +99 -0
  297. data/test/dummy/system/files/test/2011/09/09/16_45_22_694_some_text.txt.meta +1 -0
  298. data/test/dummy/system/files/test/2011/09/09/16_46_44_693_eos_550d_wrong_orientation.jpg +0 -0
  299. data/test/dummy/system/files/test/2011/09/09/16_46_44_693_eos_550d_wrong_orientation.jpg.meta +1 -0
  300. data/test/dummy/system/files/test/2011/09/09/16_48_14_349_eos_550d_wrong_orientation.jpg +0 -0
  301. data/test/dummy/system/files/test/2011/09/09/16_48_14_349_eos_550d_wrong_orientation.jpg.meta +1 -0
  302. data/test/dummy/system/files/test/2011/09/09/16_55_36_775_eos_550d_wrong_orientation.jpg +0 -0
  303. data/test/dummy/system/files/test/2011/09/09/16_55_36_775_eos_550d_wrong_orientation.jpg.meta +1 -0
  304. data/test/dummy/system/files/test/2011/09/09/16_56_10_433_some_text.txt +99 -0
  305. data/test/dummy/system/files/test/2011/09/09/16_56_10_433_some_text.txt.meta +1 -0
  306. data/test/dummy/system/files/test/2011/09/09/16_56_13_781_eos_550d_wrong_orientation.jpg +0 -0
  307. data/test/dummy/system/files/test/2011/09/09/16_56_13_781_eos_550d_wrong_orientation.jpg.meta +1 -0
  308. data/test/dummy/system/files/test/2011/09/09/16_57_19_642_eos_550d_wrong_orientation.jpg +0 -0
  309. data/test/dummy/system/files/test/2011/09/09/16_57_19_642_eos_550d_wrong_orientation.jpg.meta +1 -0
  310. data/test/dummy/system/files/test/2011/09/09/16_57_20_221_some_text.txt +99 -0
  311. data/test/dummy/system/files/test/2011/09/09/16_57_20_221_some_text.txt.meta +1 -0
  312. data/test/dummy/system/files/test/2011/09/09/16_57_22_478_eos_550d_wrong_orientation.jpg +0 -0
  313. data/test/dummy/system/files/test/2011/09/09/16_57_22_478_eos_550d_wrong_orientation.jpg.meta +1 -0
  314. data/test/dummy/system/files/test/2011/09/09/17_01_16_272_eos_550d_wrong_orientation.jpg +0 -0
  315. data/test/dummy/system/files/test/2011/09/09/17_01_16_272_eos_550d_wrong_orientation.jpg.meta +1 -0
  316. data/test/dummy/system/files/test/2011/09/09/17_01_16_773_some_text.txt +99 -0
  317. data/test/dummy/system/files/test/2011/09/09/17_01_16_773_some_text.txt.meta +1 -0
  318. data/test/dummy/system/files/test/2011/09/09/17_01_19_26_eos_550d_wrong_orientation.jpg +0 -0
  319. data/test/dummy/system/files/test/2011/09/09/17_01_19_26_eos_550d_wrong_orientation.jpg.meta +1 -0
  320. data/test/dummy/system/files/test/2011/09/09/17_02_57_539_eos_550d_wrong_orientation.jpg +0 -0
  321. data/test/dummy/system/files/test/2011/09/09/17_02_57_539_eos_550d_wrong_orientation.jpg.meta +1 -0
  322. data/test/dummy/system/files/test/2011/09/09/17_02_58_21_some_text.txt +99 -0
  323. data/test/dummy/system/files/test/2011/09/09/17_02_58_21_some_text.txt.meta +1 -0
  324. data/test/dummy/system/files/test/2011/09/09/17_03_00_478_eos_550d_wrong_orientation.jpg +0 -0
  325. data/test/dummy/system/files/test/2011/09/09/17_03_00_478_eos_550d_wrong_orientation.jpg.meta +1 -0
  326. data/test/dummy/system/files/test/2011/09/09/23_10_31_776_eos_550d_wrong_orientation.jpg +0 -0
  327. data/test/dummy/system/files/test/2011/09/09/23_10_31_776_eos_550d_wrong_orientation.jpg.meta +1 -0
  328. data/test/dummy/system/files/test/2011/09/09/23_10_32_270_some_text.txt +99 -0
  329. data/test/dummy/system/files/test/2011/09/09/23_10_32_270_some_text.txt.meta +1 -0
  330. data/test/dummy/system/files/test/2011/09/09/23_10_34_701_eos_550d_wrong_orientation.jpg +0 -0
  331. data/test/dummy/system/files/test/2011/09/09/23_10_34_701_eos_550d_wrong_orientation.jpg.meta +1 -0
  332. data/test/dummy/system/files/test/2011/09/09/23_11_16_395_eos_550d_wrong_orientation.jpg +0 -0
  333. data/test/dummy/system/files/test/2011/09/09/23_11_16_395_eos_550d_wrong_orientation.jpg.meta +1 -0
  334. data/test/dummy/system/files/test/2011/09/09/23_11_16_888_some_text.txt +99 -0
  335. data/test/dummy/system/files/test/2011/09/09/23_11_16_888_some_text.txt.meta +1 -0
  336. data/test/dummy/system/files/test/2011/09/09/23_11_19_298_eos_550d_wrong_orientation.jpg +0 -0
  337. data/test/dummy/system/files/test/2011/09/09/23_11_19_298_eos_550d_wrong_orientation.jpg.meta +1 -0
  338. data/test/dummy/system/files/test/2011/09/09/23_15_26_261_eos_550d_wrong_orientation.jpg +0 -0
  339. data/test/dummy/system/files/test/2011/09/09/23_15_26_261_eos_550d_wrong_orientation.jpg.meta +1 -0
  340. data/test/dummy/system/files/test/2011/09/09/23_15_26_928_some_text.txt +99 -0
  341. data/test/dummy/system/files/test/2011/09/09/23_15_26_928_some_text.txt.meta +1 -0
  342. data/test/dummy/system/files/test/2011/09/09/23_15_29_344_eos_550d_wrong_orientation.jpg +0 -0
  343. data/test/dummy/system/files/test/2011/09/09/23_15_29_344_eos_550d_wrong_orientation.jpg.meta +1 -0
  344. data/test/dummy/system/files/test/2011/09/09/23_16_21_552_eos_550d_wrong_orientation.jpg +0 -0
  345. data/test/dummy/system/files/test/2011/09/09/23_16_21_552_eos_550d_wrong_orientation.jpg.meta +1 -0
  346. data/test/dummy/system/files/test/2011/09/09/23_16_22_835_eos_550d_wrong_orientation.jpg +0 -0
  347. data/test/dummy/system/files/test/2011/09/09/23_16_22_835_eos_550d_wrong_orientation.jpg.meta +1 -0
  348. data/test/dummy/system/files/test/2011/09/09/23_18_27_524_eos_550d_wrong_orientation.jpg +0 -0
  349. data/test/dummy/system/files/test/2011/09/09/23_18_27_524_eos_550d_wrong_orientation.jpg.meta +1 -0
  350. data/test/dummy/system/files/test/2011/09/09/23_18_28_908_eos_550d_wrong_orientation.jpg +0 -0
  351. data/test/dummy/system/files/test/2011/09/09/23_18_28_908_eos_550d_wrong_orientation.jpg.meta +1 -0
  352. data/test/dummy/system/files/test/2011/09/09/23_19_14_156_eos_550d_wrong_orientation.jpg +0 -0
  353. data/test/dummy/system/files/test/2011/09/09/23_19_14_156_eos_550d_wrong_orientation.jpg.meta +1 -0
  354. data/test/dummy/system/files/test/2011/09/09/23_19_14_668_some_text.txt +99 -0
  355. data/test/dummy/system/files/test/2011/09/09/23_19_14_668_some_text.txt.meta +1 -0
  356. data/test/dummy/system/files/test/2011/09/09/23_19_17_92_eos_550d_wrong_orientation.jpg +0 -0
  357. data/test/dummy/system/files/test/2011/09/09/23_19_17_92_eos_550d_wrong_orientation.jpg.meta +1 -0
  358. data/test/dummy/system/files/test/2011/09/09/23_19_57_135_eos_550d_wrong_orientation.jpg +0 -0
  359. data/test/dummy/system/files/test/2011/09/09/23_19_57_135_eos_550d_wrong_orientation.jpg.meta +1 -0
  360. data/test/dummy/system/files/test/2011/09/09/23_19_57_628_some_text.txt +99 -0
  361. data/test/dummy/system/files/test/2011/09/09/23_19_57_628_some_text.txt.meta +1 -0
  362. data/test/dummy/system/files/test/2011/09/09/23_20_00_99_eos_550d_wrong_orientation.jpg +0 -0
  363. data/test/dummy/system/files/test/2011/09/09/23_20_00_99_eos_550d_wrong_orientation.jpg.meta +1 -0
  364. data/test/dummy/system/files/test/2011/09/09/23_20_39_80_eos_550d_wrong_orientation.jpg +0 -0
  365. data/test/dummy/system/files/test/2011/09/09/23_20_39_80_eos_550d_wrong_orientation.jpg.meta +1 -0
  366. data/test/dummy/system/files/test/2011/09/09/23_20_40_205_eos_550d_wrong_orientation.jpg +0 -0
  367. data/test/dummy/system/files/test/2011/09/09/23_20_40_205_eos_550d_wrong_orientation.jpg.meta +1 -0
  368. data/test/dummy/system/files/test/2011/09/09/23_21_01_631_eos_550d_wrong_orientation.jpg +0 -0
  369. data/test/dummy/system/files/test/2011/09/09/23_21_01_631_eos_550d_wrong_orientation.jpg.meta +1 -0
  370. data/test/dummy/system/files/test/2011/09/09/23_21_02_216_some_text.txt +99 -0
  371. data/test/dummy/system/files/test/2011/09/09/23_21_02_216_some_text.txt.meta +1 -0
  372. data/test/dummy/system/files/test/2011/09/09/23_21_04_557_eos_550d_wrong_orientation.jpg +0 -0
  373. data/test/dummy/system/files/test/2011/09/09/23_21_04_557_eos_550d_wrong_orientation.jpg.meta +1 -0
  374. data/test/dummy/system/files/test/2011/09/09/23_23_00_280_eos_550d_wrong_orientation.jpg +0 -0
  375. data/test/dummy/system/files/test/2011/09/09/23_23_00_280_eos_550d_wrong_orientation.jpg.meta +1 -0
  376. data/test/dummy/system/files/test/2011/09/09/23_23_00_777_some_text.txt +99 -0
  377. data/test/dummy/system/files/test/2011/09/09/23_23_00_777_some_text.txt.meta +1 -0
  378. data/test/dummy/system/files/test/2011/09/09/23_23_03_310_eos_550d_wrong_orientation.jpg +0 -0
  379. data/test/dummy/system/files/test/2011/09/09/23_23_03_310_eos_550d_wrong_orientation.jpg.meta +1 -0
  380. data/test/dummy/system/files/test/2011/09/09/23_24_04_367_eos_550d_wrong_orientation.jpg +0 -0
  381. data/test/dummy/system/files/test/2011/09/09/23_24_04_367_eos_550d_wrong_orientation.jpg.meta +1 -0
  382. data/test/dummy/system/files/test/2011/09/09/23_24_04_871_some_text.txt +99 -0
  383. data/test/dummy/system/files/test/2011/09/09/23_24_04_871_some_text.txt.meta +1 -0
  384. data/test/dummy/system/files/test/2011/09/09/23_24_07_303_eos_550d_wrong_orientation.jpg +0 -0
  385. data/test/dummy/system/files/test/2011/09/09/23_24_07_303_eos_550d_wrong_orientation.jpg.meta +1 -0
  386. data/test/dummy/system/files/test/2011/09/09/23_25_04_212_eos_550d_wrong_orientation.jpg +0 -0
  387. data/test/dummy/system/files/test/2011/09/09/23_25_04_212_eos_550d_wrong_orientation.jpg.meta +1 -0
  388. data/test/dummy/system/files/test/2011/09/09/23_25_06_520_eos_550d_wrong_orientation.jpg +0 -0
  389. data/test/dummy/system/files/test/2011/09/09/23_25_06_520_eos_550d_wrong_orientation.jpg.meta +1 -0
  390. data/test/dummy/system/files/test/2011/09/09/23_28_42_805_eos_550d_wrong_orientation.jpg +0 -0
  391. data/test/dummy/system/files/test/2011/09/09/23_28_42_805_eos_550d_wrong_orientation.jpg.meta +1 -0
  392. data/test/dummy/system/files/test/2011/09/09/23_28_43_315_some_text.txt +99 -0
  393. data/test/dummy/system/files/test/2011/09/09/23_28_43_315_some_text.txt.meta +1 -0
  394. data/test/dummy/system/files/test/2011/09/09/23_28_45_754_eos_550d_wrong_orientation.jpg +0 -0
  395. data/test/dummy/system/files/test/2011/09/09/23_28_45_754_eos_550d_wrong_orientation.jpg.meta +1 -0
  396. data/test/dummy/system/files/test/2011/09/09/23_30_10_146_eos_550d_wrong_orientation.jpg +0 -0
  397. data/test/dummy/system/files/test/2011/09/09/23_30_10_146_eos_550d_wrong_orientation.jpg.meta +1 -0
  398. data/test/dummy/system/files/test/2011/09/09/23_30_10_658_some_text.txt +99 -0
  399. data/test/dummy/system/files/test/2011/09/09/23_30_10_658_some_text.txt.meta +1 -0
  400. data/test/dummy/system/files/test/2011/09/09/23_30_13_84_eos_550d_wrong_orientation.jpg +0 -0
  401. data/test/dummy/system/files/test/2011/09/09/23_30_13_84_eos_550d_wrong_orientation.jpg.meta +1 -0
  402. data/test/dummy/system/files/test/2011/09/09/23_31_36_338_eos_550d_wrong_orientation.jpg +0 -0
  403. data/test/dummy/system/files/test/2011/09/09/23_31_36_338_eos_550d_wrong_orientation.jpg.meta +1 -0
  404. data/test/dummy/system/files/test/2011/09/09/23_31_53_958_eos_550d_wrong_orientation.jpg +0 -0
  405. data/test/dummy/system/files/test/2011/09/09/23_31_53_958_eos_550d_wrong_orientation.jpg.meta +1 -0
  406. data/test/dummy/system/files/test/2011/09/09/23_32_14_603_eos_550d_wrong_orientation.jpg +0 -0
  407. data/test/dummy/system/files/test/2011/09/09/23_32_14_603_eos_550d_wrong_orientation.jpg.meta +1 -0
  408. data/test/dummy/system/files/test/2011/09/09/23_32_15_116_some_text.txt +99 -0
  409. data/test/dummy/system/files/test/2011/09/09/23_32_15_116_some_text.txt.meta +1 -0
  410. data/test/dummy/system/files/test/2011/09/09/23_32_17_756_eos_550d_wrong_orientation.jpg +0 -0
  411. data/test/dummy/system/files/test/2011/09/09/23_32_17_756_eos_550d_wrong_orientation.jpg.meta +1 -0
  412. data/test/dummy/system/files/test/2011/09/09/23_32_44_535_eos_550d_wrong_orientation.jpg +0 -0
  413. data/test/dummy/system/files/test/2011/09/09/23_32_44_535_eos_550d_wrong_orientation.jpg.meta +1 -0
  414. data/test/dummy/system/files/test/2011/09/09/23_32_45_43_some_text.txt +99 -0
  415. data/test/dummy/system/files/test/2011/09/09/23_32_45_43_some_text.txt.meta +1 -0
  416. data/test/dummy/system/files/test/2011/09/09/23_32_47_451_eos_550d_wrong_orientation.jpg +0 -0
  417. data/test/dummy/system/files/test/2011/09/09/23_32_47_451_eos_550d_wrong_orientation.jpg.meta +1 -0
  418. data/test/dummy/system/files/test/2011/09/09/23_34_18_577_eos_550d_wrong_orientation.jpg +0 -0
  419. data/test/dummy/system/files/test/2011/09/09/23_34_18_577_eos_550d_wrong_orientation.jpg.meta +1 -0
  420. data/test/dummy/system/files/test/2011/09/09/23_34_19_85_some_text.txt +99 -0
  421. data/test/dummy/system/files/test/2011/09/09/23_34_19_85_some_text.txt.meta +1 -0
  422. data/test/dummy/system/files/test/2011/09/09/23_34_21_427_eos_550d_wrong_orientation.jpg +0 -0
  423. data/test/dummy/system/files/test/2011/09/09/23_34_21_427_eos_550d_wrong_orientation.jpg.meta +1 -0
  424. data/test/dummy/tmp/cache/assets/C54/230/sprockets%2F63597bd80af49501176a9c782c200818 +0 -0
  425. data/test/dummy/tmp/cache/assets/C8D/360/sprockets%2Fdf973572c645d2fd119001cd69374479 +0 -0
  426. data/test/dummy/tmp/cache/assets/C8E/040/sprockets%2F15dc6807595ff22a754893ef2d042944 +0 -0
  427. data/test/dummy/tmp/cache/assets/C9D/CF0/sprockets%2F07211d85a30e8ca544d28a82e11722c5 +0 -0
  428. data/test/dummy/tmp/cache/assets/CAA/1E0/sprockets%2Ff830741354b667e407d800e3b444f4bb +0 -0
  429. data/test/dummy/tmp/cache/assets/CAF/EB0/sprockets%2F6611c947ce02d3a22d579ce305f65662 +0 -0
  430. data/test/dummy/tmp/cache/assets/CB0/050/sprockets%2F82ee10d29ecf30a522699c686301761d +0 -0
  431. data/test/dummy/tmp/cache/assets/CB9/690/sprockets%2F2a8597c2f8571ae6ea34692d2019a495 +0 -0
  432. data/test/dummy/tmp/cache/assets/CE4/CB0/sprockets%2F3d466de255c44c4d526a6526ee267f42 +0 -0
  433. data/test/dummy/tmp/cache/assets/CED/3A0/sprockets%2F5598ef34994d21041804d8edaae45e75 +0 -0
  434. data/test/dummy/tmp/cache/assets/CFA/BB0/sprockets%2F036d173be5c5a8d610b011b0b79a47e5 +0 -0
  435. data/test/dummy/tmp/cache/assets/D02/E40/sprockets%2F23c3c1b9508b3ee3e213e6b15442cd86 +0 -0
  436. data/test/dummy/tmp/cache/assets/D0A/2A0/sprockets%2F404be3db0a559b6e46a9750d2930ca78 +0 -0
  437. data/test/dummy/tmp/cache/assets/D0F/940/sprockets%2Fe5a0c84816880ab73280e1d7c6c6b53f +0 -0
  438. data/test/dummy/tmp/cache/assets/D17/AD0/sprockets%2F40edf5645d2ef4837a7eb197d4274f11 +0 -0
  439. data/test/dummy/tmp/cache/assets/D19/7A0/sprockets%2F16629122405a5bb931a1aac5fd0c0c1c +0 -0
  440. data/test/dummy/tmp/cache/assets/D1B/850/sprockets%2F8ee0f24d6d9178d919763c720a26ea4d +0 -0
  441. data/test/dummy/tmp/cache/assets/D21/FC0/sprockets%2F42e26797aacaf09d1d8f399737d4862a +0 -0
  442. data/test/dummy/tmp/cache/assets/D22/400/sprockets%2F9fe3b745fe9b3671c7b7776067411fbd +0 -0
  443. data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2F882bf161cb1bae439b071e92c023ca24 +0 -0
  444. data/test/dummy/tmp/cache/assets/D2B/B20/sprockets%2F8a8e489c909c9b7e4883ad91ae05819b +0 -0
  445. data/test/dummy/tmp/cache/assets/D39/7D0/sprockets%2F2d36d5c71bbb85e617c7aa5526db7711 +0 -0
  446. data/test/dummy/tmp/cache/assets/D45/980/sprockets%2F7b83a99c7ef5081e54dd817ee22e21c0 +0 -0
  447. data/test/dummy/tmp/cache/assets/D83/790/sprockets%2Fa54dd2e601bc260dba6d124f0e41ea48 +0 -0
  448. data/test/dummy/tmp/cache/assets/D88/F10/sprockets%2F8e8aacf9bb943215da36e48de57898b8 +0 -0
  449. data/test/dummy/tmp/cache/assets/D96/130/sprockets%2Fca2892c5774fcef0d04e4a5ab238a81b +0 -0
  450. data/test/dummy/tmp/cache/assets/D96/3B0/sprockets%2F55021ed83e62225daa5e5f7d63cdd0fc +0 -0
  451. data/test/dummy/tmp/cache/assets/D97/140/sprockets%2F894bacf9ace6c46e1b70610f2e12ac56 +0 -0
  452. data/test/dummy/tmp/cache/assets/DA2/050/sprockets%2F571a6834d9cabb59da17f83431ca9feb +0 -0
  453. data/test/dummy/tmp/cache/assets/DA4/B00/sprockets%2Fc3e3f4d5bea91c516b9e779a37651bbd +0 -0
  454. data/test/dummy/tmp/cache/assets/DA9/040/sprockets%2F840de459a6d1c9d87c8dcaf24f128b6c +0 -0
  455. data/test/dummy/tmp/cache/assets/DAB/540/sprockets%2Fb0518afe456f5094d8d9ade32edb985c +0 -0
  456. data/test/dummy/tmp/cache/assets/DC6/6B0/sprockets%2Fd36a94dae97de924ca11bcbb4f8a5006 +0 -0
  457. data/test/dummy/tmp/cache/assets/DD0/B50/sprockets%2F965cf49b0f4bc5a87e7d090aaf331aef +0 -0
  458. data/test/dummy/tmp/cache/assets/DD7/4A0/sprockets%2Fe5ef864e860eb0a95b4ac71cf239ffb4 +0 -0
  459. data/test/dummy/tmp/cache/assets/DFC/F40/sprockets%2F3c2e88bc8ee7e3afa6d790aec3f5b002 +0 -0
  460. data/test/dummy/tmp/cache/assets/DFC/FF0/sprockets%2F85ad0478ccaf1ce1fef2eec948a7006a +0 -0
  461. data/test/dummy/tmp/cache/assets/E6A/4B0/sprockets%2Fdea814b3f9e9bd154ee99ba09cfbfa5f +0 -0
  462. data/test/dummy/tmp/cache/assets/E74/190/sprockets%2F526cff6ffea7b75df9e3a7af389dafd2 +0 -0
  463. data/test/dummy/tmp/capybara/capybara-201109092320006678745731.html +95 -0
  464. data/test/dummy/tmp/capybara/capybara-201109092325048314739499.html +99 -0
  465. data/test/dummy/tmp/capybara/capybara-20110909232507494703749.html +99 -0
  466. data/test/dummy/tmp/capybara/capybara-201109092328469796695478.html +99 -0
  467. data/test/dummy/tmp/capybara/capybara-201109092330138915517817.html +99 -0
  468. data/test/dummy/tmp/capybara/capybara-201109092331366763771582.html +99 -0
  469. data/test/dummy/tmp/capybara/capybara-201109092331548655392084.html +99 -0
  470. data/test/dummy/tmp/capybara/capybara-201109092332183152685029.html +99 -0
  471. data/test/dummy/tmp/dragonfly/cache/body/02/721c6446a47a896dcec5814dde7fd642009ae4 +0 -0
  472. data/test/dummy/tmp/dragonfly/cache/body/08/0c26e7aee40c06f9d2cf2bbe66bb1b31f77eb6 +0 -0
  473. data/test/dummy/tmp/dragonfly/cache/body/08/254fdaeeef68ac1bd4e068bae4d538183f2418 +0 -0
  474. data/test/dummy/tmp/dragonfly/cache/body/0b/5fe01203ea843d9ce57ec076deba6686b972fc +0 -0
  475. data/test/dummy/tmp/dragonfly/cache/body/0d/ac97f509a0f1cc5bd06b74aa5a48de830c0211 +0 -0
  476. data/test/dummy/tmp/dragonfly/cache/body/0e/812da5582b69e917955b2f7548581a84b6cd6a +0 -0
  477. data/test/dummy/tmp/dragonfly/cache/body/12/dd55c3e1f837ed47c0bff8904f3eb356b5b0f6 +0 -0
  478. data/test/dummy/tmp/dragonfly/cache/body/15/c89387f2201547a650980eb83f5b00c0d4897d +0 -0
  479. data/test/dummy/tmp/dragonfly/cache/body/17/c372678aafb3bc1a7b37320b5cc1d8af433527 +0 -0
  480. data/test/dummy/tmp/dragonfly/cache/body/20/5f96aaf607592c0264d2d558debe2441db491f +67 -0
  481. data/test/dummy/tmp/dragonfly/cache/body/21/385143a7b417457e3fd0238114f9e905ab6a1d +0 -0
  482. data/test/dummy/tmp/dragonfly/cache/body/21/7f07b85f1d6096748b9e5b22c02319a4b8f390 +0 -0
  483. data/test/dummy/tmp/dragonfly/cache/body/23/0920237f649e2d5ad0882e5764d8548e9b3487 +0 -0
  484. data/test/dummy/tmp/dragonfly/cache/body/2f/8a4437d9ee577f23ccfa627b9eb3d7ff124276 +0 -0
  485. data/test/dummy/tmp/dragonfly/cache/body/2f/a601f43d7a7e7d9cb27727aa09c7c2ebf9dc99 +0 -0
  486. data/test/dummy/tmp/dragonfly/cache/body/3b/e4db5a0b83943d135fc5db57eb36c18620cdf4 +0 -0
  487. data/test/dummy/tmp/dragonfly/cache/body/3c/68fcd55940690f91d27c2d58669f8f820b0c54 +0 -0
  488. data/test/dummy/tmp/dragonfly/cache/body/41/e0112505525d15bdf882ef9225211561708253 +0 -0
  489. data/test/dummy/tmp/dragonfly/cache/body/42/827ecc71792a78d6c397ae60ef8f97286fbc82 +0 -0
  490. data/test/dummy/tmp/dragonfly/cache/body/46/d0d3f03762081530c375e7ef050708cc68cb7a +678 -0
  491. data/test/dummy/tmp/dragonfly/cache/body/4d/2dae957d0bb81139b39d955786e323ee055329 +0 -0
  492. data/test/dummy/tmp/dragonfly/cache/body/51/8ea4e56f01048ac2f8215e2ecdacc87fbcba3c +0 -0
  493. data/test/dummy/tmp/dragonfly/cache/body/57/39c3e8b2f1ee70719aecb8ef70df4b9e7aa30f +0 -0
  494. data/test/dummy/tmp/dragonfly/cache/body/5b/46eb669828b8a68c8acd6fc2db2eef49977ae9 +0 -0
  495. data/test/dummy/tmp/dragonfly/cache/body/5c/4f1da1404a7bb1a92c09651a8cebb689dd2794 +0 -0
  496. data/test/dummy/tmp/dragonfly/cache/body/5d/6c12803af858f267909373dcbfd0044c29329f +0 -0
  497. data/test/dummy/tmp/dragonfly/cache/body/60/7b9096192366c7dfda7b5272da2b29e9055832 +0 -0
  498. data/test/dummy/tmp/dragonfly/cache/body/61/8583b3fa87320abc5f5301128bd8dc4887ae6d +0 -0
  499. data/test/dummy/tmp/dragonfly/cache/body/65/fed3e34b83d067d408908450b99f92886a1169 +0 -0
  500. data/test/dummy/tmp/dragonfly/cache/body/67/59cadb44cd9fcf1826f884746f799b6de1dc6f +1601 -0
  501. data/test/dummy/tmp/dragonfly/cache/body/69/2a04fcfdde8b993612ef0f3fc2702ede8d11cc +0 -0
  502. data/test/dummy/tmp/dragonfly/cache/body/6d/fb275b3e335748e2229ce486420446f5bd5850 +0 -0
  503. data/test/dummy/tmp/dragonfly/cache/body/71/d37560812963e391f4af2d4d8345af9ae92a75 +0 -0
  504. data/test/dummy/tmp/dragonfly/cache/body/72/5bc79d8cf7ee35f0d895d16be006b9cdccaa84 +0 -0
  505. data/test/dummy/tmp/dragonfly/cache/body/75/5fbdc9e158883976a91a81c5fb8e1a75a73db0 +124 -0
  506. data/test/dummy/tmp/dragonfly/cache/body/79/fa5c68d077a3878a1906b1ecb323d71b51c728 +0 -0
  507. data/test/dummy/tmp/dragonfly/cache/body/7b/df2ee1b3688998cc267d31b2d46db7d605dabb +36 -0
  508. data/test/dummy/tmp/dragonfly/cache/body/7c/72e4841fbc0214d562f5306ca03cf5360cbc41 +0 -0
  509. data/test/dummy/tmp/dragonfly/cache/body/7c/917486fde4f81cd3ef2e0214b127c99f0de028 +0 -0
  510. data/test/dummy/tmp/dragonfly/cache/body/81/15dce6dd36e132948846e70920cda88ab48193 +0 -0
  511. data/test/dummy/tmp/dragonfly/cache/body/85/a5c30dfd9be9f09412b7d4c24b050f8c6fa756 +0 -0
  512. data/test/dummy/tmp/dragonfly/cache/body/8a/b0f4219a7b2c19044a090115a45e76e43b268e +5 -0
  513. data/test/dummy/tmp/dragonfly/cache/body/8e/da1f981ced789b6a5cf38be3d0feb120371707 +5 -0
  514. data/test/dummy/tmp/dragonfly/cache/body/8f/5f17f48a805e82fd5b2121fc4778c07e942fa1 +0 -0
  515. data/test/dummy/tmp/dragonfly/cache/body/90/9eb8bdb06501dbdebdd18886291823626896db +0 -0
  516. data/test/dummy/tmp/dragonfly/cache/body/99/78272eaaac9cede9732d0259ba4346d15c8758 +0 -0
  517. data/test/dummy/tmp/dragonfly/cache/body/a1/9191b091ec5e351ab7d927af890252525e02af +0 -0
  518. data/test/dummy/tmp/dragonfly/cache/body/a2/5ea02e1fef7a8c1d868b5b6b90b220f77feec1 +0 -0
  519. data/test/dummy/tmp/dragonfly/cache/body/b2/44ae6f4a17abaf2edd0de1f9b6df0b726e519e +0 -0
  520. data/test/dummy/tmp/dragonfly/cache/body/c4/c117cf71769d9ff8ac43ada6987b1a5c28e7aa +0 -0
  521. data/test/dummy/tmp/dragonfly/cache/body/c7/19312be82da5b5863b7fa266ba7044c5e1a869 +0 -0
  522. data/test/dummy/tmp/dragonfly/cache/body/c7/9e06c42b18cb487bcbeb3dfa1cd6046bcec1ae +0 -0
  523. data/test/dummy/tmp/dragonfly/cache/body/d2/b8c4a040fdf477afee014b1025ddb4c9ac629b +0 -0
  524. data/test/dummy/tmp/dragonfly/cache/body/e0/70d032da00a71e9d13b4d176f44f0e8bb607fa +0 -0
  525. data/test/dummy/tmp/dragonfly/cache/body/e6/3fa52fe75043747175d92810dc6fc07055e599 +297 -0
  526. data/test/dummy/tmp/dragonfly/cache/body/e9/4a5c7b4e9b454754f59c1f99367b0ea2ee1065 +0 -0
  527. data/test/dummy/tmp/dragonfly/cache/body/f1/25e84ad3ce213a2c0818d443f37b9f0df2fec2 +0 -0
  528. data/test/dummy/tmp/dragonfly/cache/body/f5/bed1e84e45c5c74a29c42e9774b19d5980b694 +0 -0
  529. data/test/dummy/tmp/dragonfly/cache/body/f6/c8f7f60c3b65b6c78e36ddf236c9a90ef5f559 +0 -0
  530. data/test/dummy/tmp/dragonfly/cache/body/fa/3488e1c8533d4134d82b1c12370225c778e243 +0 -0
  531. data/test/dummy/tmp/dragonfly/cache/body/fb/629489200dc7864ba333386142de7aaeb42e14 +0 -0
  532. data/test/dummy/tmp/dragonfly/cache/body/fc/93e44494bc4b2a53ecf1d3e95aa2d8a01339ed +364 -0
  533. data/test/dummy/tmp/dragonfly/cache/body/ff/6a116d11d72ece8ee12df4222a8d050e621ced +0 -0
  534. data/test/dummy/tmp/dragonfly/cache/meta/01/3065619a0b9cae99580ddf0997720bffb1717a +0 -0
  535. data/test/dummy/tmp/dragonfly/cache/meta/04/af50d9817350da61d8ba5aea57ee5da612ab87 +0 -0
  536. data/test/dummy/tmp/dragonfly/cache/meta/0a/0cf0e35f173a394675f32be7c45ac2d055eb23 +0 -0
  537. data/test/dummy/tmp/dragonfly/cache/meta/0c/2966accbe048d462250fc2fb02dccf56c5753e +0 -0
  538. data/test/dummy/tmp/dragonfly/cache/meta/0d/1264278b6c78096e10e85c9ab6be94b2911da0 +0 -0
  539. data/test/dummy/tmp/dragonfly/cache/meta/0d/7c4648195ab8e0c30c41a49728ce2a96e15c6c +0 -0
  540. data/test/dummy/tmp/dragonfly/cache/meta/10/96b90ee1bcd363fd72c4d7f2fbd9e28042945e +0 -0
  541. data/test/dummy/tmp/dragonfly/cache/meta/12/3fc380689a07b29b77a4576c50f23a763c5e6b +0 -0
  542. data/test/dummy/tmp/dragonfly/cache/meta/18/070a70152465eee702884a4680efcb8ca2c4d8 +0 -0
  543. data/test/dummy/tmp/dragonfly/cache/meta/18/18005c396885d43a6d4bf39c5296e348b36a9f +0 -0
  544. data/test/dummy/tmp/dragonfly/cache/meta/19/f4bd3e5c66e2ff01ff1aacc51c82286850b9fd +0 -0
  545. data/test/dummy/tmp/dragonfly/cache/meta/1a/4f7e6c2c0139daf7220048e9acacca2260a9b5 +0 -0
  546. data/test/dummy/tmp/dragonfly/cache/meta/1a/efd420f6e3607d2d8d1ba81945bdd9d2a6059b +0 -0
  547. data/test/dummy/tmp/dragonfly/cache/meta/24/d0aebc1b6d4ac3b10caa6cfabf89b0ad8551c5 +0 -0
  548. data/test/dummy/tmp/dragonfly/cache/meta/25/13e224314708bfd6611c302dc5bdd254e1d143 +0 -0
  549. data/test/dummy/tmp/dragonfly/cache/meta/26/3291d6e1fff88a6fcea7c8abbe388feb247ba5 +0 -0
  550. data/test/dummy/tmp/dragonfly/cache/meta/29/2120cfb4b63f2b0d62e4d7da4c6c21ef25be6d +0 -0
  551. data/test/dummy/tmp/dragonfly/cache/meta/2b/0533453bd6f48c8273665ce90f2504c7953433 +0 -0
  552. data/test/dummy/tmp/dragonfly/cache/meta/2c/e93382e836abdfc7fa2cd878a853a2352c6863 +0 -0
  553. data/test/dummy/tmp/dragonfly/cache/meta/30/5fcc7f5f20cb4116ec776b1e0c84ad4124b7e3 +0 -0
  554. data/test/dummy/tmp/dragonfly/cache/meta/30/d631e3e7e76fb306572de037e3e22dac7c90b5 +0 -0
  555. data/test/dummy/tmp/dragonfly/cache/meta/32/bb0d86dce0954ce828e63fb229367150f8a348 +0 -0
  556. data/test/dummy/tmp/dragonfly/cache/meta/33/36e8fbaec28f1307731923edfeb217e779883d +0 -0
  557. data/test/dummy/tmp/dragonfly/cache/meta/34/4b8d55869a4bd3edab571ea25d5a60be74a4ad +0 -0
  558. data/test/dummy/tmp/dragonfly/cache/meta/36/059c3f0d7f64947c8e8655bc259d0d22c6f0ae +0 -0
  559. data/test/dummy/tmp/dragonfly/cache/meta/36/05f012ee4184f83178a9d9624f82da39535afa +0 -0
  560. data/test/dummy/tmp/dragonfly/cache/meta/37/fb962d39887389e020d58ef1f745ef1a6107cc +0 -0
  561. data/test/dummy/tmp/dragonfly/cache/meta/3b/856fc9f19a6d9e6a71bce9a841da7ee782fc4d +0 -0
  562. data/test/dummy/tmp/dragonfly/cache/meta/3c/0727fc9dc75105ed5db9c67c8dec217c00890e +0 -0
  563. data/test/dummy/tmp/dragonfly/cache/meta/40/c25475cb587c48d080dba999ad01f3680760a0 +0 -0
  564. data/test/dummy/tmp/dragonfly/cache/meta/42/248da9860a2fcefea309334de75486a4619e31 +0 -0
  565. data/test/dummy/tmp/dragonfly/cache/meta/4d/f57798fd4469ad3dc138784597a0786ae7485d +0 -0
  566. data/test/dummy/tmp/dragonfly/cache/meta/51/b3b7831b3925e105bbfa44907df3003b676d69 +0 -0
  567. data/test/dummy/tmp/dragonfly/cache/meta/52/bf5a4fdf49c8f85dfa21077c8aec7595166ff7 +0 -0
  568. data/test/dummy/tmp/dragonfly/cache/meta/53/f1cfc0b3a0db2005a893d1b4792cfebd02a496 +0 -0
  569. data/test/dummy/tmp/dragonfly/cache/meta/54/8f3e2400cdf954f37f3458f6848df0a2e757ad +0 -0
  570. data/test/dummy/tmp/dragonfly/cache/meta/55/30dc20e78a80eee7be7b3c2e7fb9a6240596db +0 -0
  571. data/test/dummy/tmp/dragonfly/cache/meta/55/38528ae65e63542e11cb67d3c08b540a9b2d94 +0 -0
  572. data/test/dummy/tmp/dragonfly/cache/meta/5a/004ae0e2810be18892a3b3ff3d73c5b25ad3f4 +0 -0
  573. data/test/dummy/tmp/dragonfly/cache/meta/5a/f69fd22127b74a43f6de78a7d76f53b9c04a02 +0 -0
  574. data/test/dummy/tmp/dragonfly/cache/meta/5b/9a5982c77d59446fa2c789a2e7b6cd3895d753 +0 -0
  575. data/test/dummy/tmp/dragonfly/cache/meta/60/af267c39b09e11ff7d7bfc727d48ca0e107afd +0 -0
  576. data/test/dummy/tmp/dragonfly/cache/meta/62/a94c517cd458c99ce0f00fbca345b386791cfc +0 -0
  577. data/test/dummy/tmp/dragonfly/cache/meta/63/4fbf95f978eb0e7ee339e28306bc9c6f106aa6 +0 -0
  578. data/test/dummy/tmp/dragonfly/cache/meta/63/e389869e5c2ae071a4ccd8474de105688917ef +0 -0
  579. data/test/dummy/tmp/dragonfly/cache/meta/65/c109299780f8c24cc265b8cf0c008b2695b2d0 +0 -0
  580. data/test/dummy/tmp/dragonfly/cache/meta/67/3a6ed8453f75e7560051d0764e25985fbc73f6 +0 -0
  581. data/test/dummy/tmp/dragonfly/cache/meta/69/e529e365a42911c19be24956d4d69ea6549a1e +0 -0
  582. data/test/dummy/tmp/dragonfly/cache/meta/6a/20921464b13433185c30ffadb364e222ae7ed6 +0 -0
  583. data/test/dummy/tmp/dragonfly/cache/meta/6a/6fef8f2fee7684b6aa79ffc874c801a6439cf7 +0 -0
  584. data/test/dummy/tmp/dragonfly/cache/meta/6b/4cb5999dbf269f63e8a0d90ac47e0fdcd7a7fc +0 -0
  585. data/test/dummy/tmp/dragonfly/cache/meta/6b/b67017491eefcfe9e77a3318c50537f58e08d0 +0 -0
  586. data/test/dummy/tmp/dragonfly/cache/meta/6d/09f8911bc33c26c3e29e5a65a201c963bdbc6d +0 -0
  587. data/test/dummy/tmp/dragonfly/cache/meta/6d/52b2b6a302149bbd91303f96d7b6ffdbca4e74 +0 -0
  588. data/test/dummy/tmp/dragonfly/cache/meta/6d/ee29e8ca14075ad948b8b4d6c72fa091c6da46 +0 -0
  589. data/test/dummy/tmp/dragonfly/cache/meta/6e/83d3a60fc229b04e7403d7131aa4814a4200ec +0 -0
  590. data/test/dummy/tmp/dragonfly/cache/meta/77/38b3417940cf16c3f3ad22f4700966ecd65d5f +0 -0
  591. data/test/dummy/tmp/dragonfly/cache/meta/78/91eda6ab044d75d3672900d2483a3faf1c514a +0 -0
  592. data/test/dummy/tmp/dragonfly/cache/meta/78/da9e9f151eb605b427b43e2098640de3fd4a6d +0 -0
  593. data/test/dummy/tmp/dragonfly/cache/meta/79/6c237ed7355682d77a2bdc75b729b63c3b35da +0 -0
  594. data/test/dummy/tmp/dragonfly/cache/meta/79/a367ab7493c1a7a7e877ff281fb6eed266293b +0 -0
  595. data/test/dummy/tmp/dragonfly/cache/meta/7a/e20b7ceaffa5ebb57b658f4d6a54434c0301f3 +0 -0
  596. data/test/dummy/tmp/dragonfly/cache/meta/81/f24ab09d96a0d40ab560a90e955c4a312aa16c +0 -0
  597. data/test/dummy/tmp/dragonfly/cache/meta/82/1a8db33dc013c9ed726ddf43544ff80cf5774f +0 -0
  598. data/test/dummy/tmp/dragonfly/cache/meta/83/c9e02a4d1e0fbec1698938386445e771abc2d5 +0 -0
  599. data/test/dummy/tmp/dragonfly/cache/meta/83/fa85e2058741d72b66a98cf71819794d7525d3 +0 -0
  600. data/test/dummy/tmp/dragonfly/cache/meta/8a/00f63a175cfe09352e9103621040457aafc9e8 +0 -0
  601. data/test/dummy/tmp/dragonfly/cache/meta/8a/be19ee1009445886ab915e98aaf4439dfea49e +0 -0
  602. data/test/dummy/tmp/dragonfly/cache/meta/8e/284814afc3b0022e3160614cbaa3d86f13b460 +0 -0
  603. data/test/dummy/tmp/dragonfly/cache/meta/90/8a5565b2a739ca74f478c627a420fed85e6c6c +0 -0
  604. data/test/dummy/tmp/dragonfly/cache/meta/91/5796a36ec9ee121e91397217a67a94ea6da1fa +0 -0
  605. data/test/dummy/tmp/dragonfly/cache/meta/98/ea755ff6eec2e9301261741fb2c6deacdbad55 +0 -0
  606. data/test/dummy/tmp/dragonfly/cache/meta/9c/1d73b13f2c881eb18ebbd543b4cf6cc68d6084 +0 -0
  607. data/test/dummy/tmp/dragonfly/cache/meta/9c/3654a4968510a1697953936517c0b51f2c88f7 +0 -0
  608. data/test/dummy/tmp/dragonfly/cache/meta/9c/ffa966404611fb6408a5b9c3d98b1d3ec2ade8 +0 -0
  609. data/test/dummy/tmp/dragonfly/cache/meta/9f/048ae8a78d8f4f5bbeffc9e4fe44547d30a3c3 +0 -0
  610. data/test/dummy/tmp/dragonfly/cache/meta/9f/0b98933058db40fd34385876c49d9815ccecef +0 -0
  611. data/test/dummy/tmp/dragonfly/cache/meta/9f/341ebba7f7eaeb03f608874c62f75b048c1450 +0 -0
  612. data/test/dummy/tmp/dragonfly/cache/meta/a0/95aca06b094735d07d35954bdee7ed7cfe0554 +0 -0
  613. data/test/dummy/tmp/dragonfly/cache/meta/a5/c23ac345316a47a28625f346ec288f4ffe833b +0 -0
  614. data/test/dummy/tmp/dragonfly/cache/meta/a6/4588ad53212e92bbaf0b54de604e7e7fa5b4db +0 -0
  615. data/test/dummy/tmp/dragonfly/cache/meta/a6/6070c84b51514a4b0df87efe9f45eeb73bb6ac +0 -0
  616. data/test/dummy/tmp/dragonfly/cache/meta/a8/0db0a6a24608ae624628d08f44d70c95649269 +0 -0
  617. data/test/dummy/tmp/dragonfly/cache/meta/aa/0edadeee0f51930b22f81d18d890eeb42d5401 +0 -0
  618. data/test/dummy/tmp/dragonfly/cache/meta/ab/26841be4fe66f5073bf80165818018b960a8ae +0 -0
  619. data/test/dummy/tmp/dragonfly/cache/meta/ab/ab380d458496ff33fa5595160d6af7f6937ab4 +0 -0
  620. data/test/dummy/tmp/dragonfly/cache/meta/ac/e54f85800ea849425abf55b913780cd24c17b5 +0 -0
  621. data/test/dummy/tmp/dragonfly/cache/meta/ac/efd266978924a9ae28e46abdc18da5cc570556 +0 -0
  622. data/test/dummy/tmp/dragonfly/cache/meta/ad/081a80bb92be111e886cead55d04302d7ecc5d +0 -0
  623. data/test/dummy/tmp/dragonfly/cache/meta/b0/1dfc84881b36982e7459fc7aceb0ed0436eb21 +0 -0
  624. data/test/dummy/tmp/dragonfly/cache/meta/b0/476d0611c67ca7e646fe9008027d2f7bb8fcc5 +0 -0
  625. data/test/dummy/tmp/dragonfly/cache/meta/b2/b5d99458d046e39c53e7989d1eca2213062c4a +0 -0
  626. data/test/dummy/tmp/dragonfly/cache/meta/b6/ebbc22d1d6daf6e8cc040dc390dbdac883b75e +0 -0
  627. data/test/dummy/tmp/dragonfly/cache/meta/b8/a226d376b7ee94ade1cc2b9a043b1dea49339e +0 -0
  628. data/test/dummy/tmp/dragonfly/cache/meta/ba/d54f2cb0ea7effe26fb522981c85f6fac64f32 +0 -0
  629. data/test/dummy/tmp/dragonfly/cache/meta/c5/5ead58e8a96964f7fb901faacb189e897cb007 +0 -0
  630. data/test/dummy/tmp/dragonfly/cache/meta/c6/fd4d90e43a76b3740851a8c80cf293307d2ea3 +0 -0
  631. data/test/dummy/tmp/dragonfly/cache/meta/c7/765e66244779358dccb3e201ee971393d84d78 +0 -0
  632. data/test/dummy/tmp/dragonfly/cache/meta/d1/a729f56a6d9af0910d9d1cf4acbbe2ef23cf56 +0 -0
  633. data/test/dummy/tmp/dragonfly/cache/meta/d3/4e9f7374955f09514d9a9fc8930a6cbce53b75 +0 -0
  634. data/test/dummy/tmp/dragonfly/cache/meta/d6/f1bee9080d9c2926b3ade281a8f1a0f9be79cd +0 -0
  635. data/test/dummy/tmp/dragonfly/cache/meta/d8/705b3496156d15650a193d89e485da0a2d15c6 +0 -0
  636. data/test/dummy/tmp/dragonfly/cache/meta/dc/d63af225e5131ef6464cbfc87e20dc63a44365 +0 -0
  637. data/test/dummy/tmp/dragonfly/cache/meta/dd/46c780a1284b0a84e1585fcaaec88729229a36 +0 -0
  638. data/test/dummy/tmp/dragonfly/cache/meta/e1/979d7cb9c431766cbafda1b1245cce7ea4f134 +0 -0
  639. data/test/dummy/tmp/dragonfly/cache/meta/e2/eab333969d7051831d38e5ba719e8887f4aca3 +0 -0
  640. data/test/dummy/tmp/dragonfly/cache/meta/e3/7b192c0fa3f14120b61ba43591b4e0148decc2 +0 -0
  641. data/test/dummy/tmp/dragonfly/cache/meta/e4/753c26eac3624a8f0906a4610eb9639e9f1238 +0 -0
  642. data/test/dummy/tmp/dragonfly/cache/meta/e4/8b49afae3e511dee8a480c0699f57af166c476 +0 -0
  643. data/test/dummy/tmp/dragonfly/cache/meta/e4/a4a5574b655ab7a23ac8ea6996ce6026cba172 +0 -0
  644. data/test/dummy/tmp/dragonfly/cache/meta/e6/5be6e8db6390a762521141e190fd51cb900510 +0 -0
  645. data/test/dummy/tmp/dragonfly/cache/meta/e8/018099d6dec59462ad5b4ff834a40769811c4b +0 -0
  646. data/test/dummy/tmp/dragonfly/cache/meta/ec/95bd937fde5971c9757707875459afd5ee969b +0 -0
  647. data/test/dummy/tmp/dragonfly/cache/meta/ed/164629434f41289c45072ffffd69ec4bcfbfdb +0 -0
  648. data/test/dummy/tmp/dragonfly/cache/meta/ed/452ae956d56d97238744889483dc28e05b4049 +0 -0
  649. data/test/dummy/tmp/dragonfly/cache/meta/ee/b10ca471bf747caae6ec43dd51134d4a4a1d35 +0 -0
  650. data/test/dummy/tmp/dragonfly/cache/meta/ee/bd50d392c542daa5b2e5a84bea9b061884dd50 +0 -0
  651. data/test/dummy/tmp/dragonfly/cache/meta/ee/fe74949a8c2a0bbc077385a12944d9f98a12e0 +0 -0
  652. data/test/dummy/tmp/dragonfly/cache/meta/ef/c1a278bfae61838492c518085077e090847928 +0 -0
  653. data/test/dummy/tmp/dragonfly/cache/meta/f1/44fd03870ca4a56ae2ed5eea541d2b16a331ed +0 -0
  654. data/test/dummy/tmp/dragonfly/cache/meta/f2/52c824b170bae8cac2db80a1bac032f2dcebcc +0 -0
  655. data/test/dummy/tmp/dragonfly/cache/meta/f6/3c95e93a23255c015b61e3ec1c8c0a943bb27f +0 -0
  656. data/test/dummy/tmp/dragonfly/cache/meta/f7/d62984c9d390ea3d5891ecbe2788626bc3c599 +0 -0
  657. data/test/dummy/tmp/dragonfly/cache/meta/f7/dc16bbb163aac4e7da0cbd6136bdf0401e732c +0 -0
  658. data/test/dummy/tmp/dragonfly/cache/meta/f9/67ac04386c59253bd80f4034d18af166cc5691 +0 -0
  659. data/test/fixtures/saphira/image_variants.yml +11 -0
  660. data/test/functional/saphira/image_variant_settings_controller_test.rb +21 -0
  661. data/test/functional/saphira/image_variants_controller_test.rb +51 -0
  662. data/test/unit/helpers/saphira/image_variant_settings_helper_test.rb +6 -0
  663. data/test/unit/helpers/saphira/image_variants_helper_test.rb +6 -0
  664. data/test/unit/saphira/image_variant_test.rb +9 -0
  665. metadata +1212 -25
@@ -0,0 +1,49 @@
1
+ package com.adobe.protocols.dict.util
2
+ {
3
+ import com.adobe.net.proxies.RFC2817Socket;
4
+ import flash.events.ProgressEvent;
5
+
6
+ public class SocketHelper
7
+ extends RFC2817Socket
8
+ {
9
+ private var terminator:String = "\r\n.\r\n";
10
+ private var buffer:String;
11
+ public static var COMPLETE_RESPONSE:String = "completeResponse";
12
+
13
+ public function SocketHelper()
14
+ {
15
+ super();
16
+ buffer = new String();
17
+ addEventListener(ProgressEvent.SOCKET_DATA, incomingData);
18
+ }
19
+
20
+ private function incomingData(event:ProgressEvent):void
21
+ {
22
+ buffer += readUTFBytes(bytesAvailable);
23
+ buffer = buffer.replace(/250[^\r\n]+\r\n/, ""); // Get rid of all 250s. Don't need them.
24
+ var codeStr:String = buffer.substring(0, 3);
25
+ if (!isNaN(parseInt(codeStr)))
26
+ {
27
+ var code:uint = uint(codeStr);
28
+ if (code == 150 || code >= 200)
29
+ {
30
+ buffer = buffer.replace("\r\n", this.terminator);
31
+ }
32
+ }
33
+
34
+ while (buffer.indexOf(this.terminator) != -1)
35
+ {
36
+ var chunk:String = buffer.substring(0, buffer.indexOf(this.terminator));
37
+ buffer = buffer.substring(chunk.length + this.terminator.length, buffer.length);
38
+ throwResponseEvent(chunk);
39
+ }
40
+ }
41
+
42
+ private function throwResponseEvent(response:String):void
43
+ {
44
+ var responseEvent:CompleteResponseEvent = new CompleteResponseEvent();
45
+ responseEvent.response = response;
46
+ dispatchEvent(responseEvent);
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,85 @@
1
+ /*
2
+ Copyright (c) 2008, Adobe Systems Incorporated
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are
7
+ met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright
13
+ notice, this list of conditions and the following disclaimer in the
14
+ documentation and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of Adobe Systems Incorporated nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+ package com.adobe.serialization.json {
34
+
35
+ /**
36
+ * This class provides encoding and decoding of the JSON format.
37
+ *
38
+ * Example usage:
39
+ * <code>
40
+ * // create a JSON string from an internal object
41
+ * JSON.encode( myObject );
42
+ *
43
+ * // read a JSON string into an internal object
44
+ * var myObject:Object = JSON.decode( jsonString );
45
+ * </code>
46
+ */
47
+ public class JSON {
48
+
49
+
50
+ /**
51
+ * Encodes a object into a JSON string.
52
+ *
53
+ * @param o The object to create a JSON string for
54
+ * @return the JSON string representing o
55
+ * @langversion ActionScript 3.0
56
+ * @playerversion Flash 9.0
57
+ * @tiptext
58
+ */
59
+ public static function encode( o:Object ):String {
60
+
61
+ var encoder:JSONEncoder = new JSONEncoder( o );
62
+ return encoder.getString();
63
+
64
+ }
65
+
66
+ /**
67
+ * Decodes a JSON string into a native object.
68
+ *
69
+ * @param s The JSON string representing the object
70
+ * @return A native object as specified by s
71
+ * @throw JSONParseError
72
+ * @langversion ActionScript 3.0
73
+ * @playerversion Flash 9.0
74
+ * @tiptext
75
+ */
76
+ public static function decode( s:String ):* {
77
+
78
+ var decoder:JSONDecoder = new JSONDecoder( s )
79
+ return decoder.getValue();
80
+
81
+ }
82
+
83
+ }
84
+
85
+ }
@@ -0,0 +1,221 @@
1
+ /*
2
+ Copyright (c) 2008, Adobe Systems Incorporated
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are
7
+ met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright
13
+ notice, this list of conditions and the following disclaimer in the
14
+ documentation and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of Adobe Systems Incorporated nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+ package com.adobe.serialization.json {
34
+
35
+ public class JSONDecoder {
36
+
37
+ /** The value that will get parsed from the JSON string */
38
+ private var value:*;
39
+
40
+ /** The tokenizer designated to read the JSON string */
41
+ private var tokenizer:JSONTokenizer;
42
+
43
+ /** The current token from the tokenizer */
44
+ private var token:JSONToken;
45
+
46
+ /**
47
+ * Constructs a new JSONDecoder to parse a JSON string
48
+ * into a native object.
49
+ *
50
+ * @param s The JSON string to be converted
51
+ * into a native object
52
+ * @langversion ActionScript 3.0
53
+ * @playerversion Flash 9.0
54
+ * @tiptext
55
+ */
56
+ public function JSONDecoder( s:String ) {
57
+
58
+ tokenizer = new JSONTokenizer( s );
59
+
60
+ nextToken();
61
+ value = parseValue();
62
+ }
63
+
64
+ /**
65
+ * Gets the internal object that was created by parsing
66
+ * the JSON string passed to the constructor.
67
+ *
68
+ * @return The internal object representation of the JSON
69
+ * string that was passed to the constructor
70
+ * @langversion ActionScript 3.0
71
+ * @playerversion Flash 9.0
72
+ * @tiptext
73
+ */
74
+ public function getValue():* {
75
+ return value;
76
+ }
77
+
78
+ /**
79
+ * Returns the next token from the tokenzier reading
80
+ * the JSON string
81
+ */
82
+ private function nextToken():JSONToken {
83
+ return token = tokenizer.getNextToken();
84
+ }
85
+
86
+ /**
87
+ * Attempt to parse an array
88
+ */
89
+ private function parseArray():Array {
90
+ // create an array internally that we're going to attempt
91
+ // to parse from the tokenizer
92
+ var a:Array = new Array();
93
+
94
+ // grab the next token from the tokenizer to move
95
+ // past the opening [
96
+ nextToken();
97
+
98
+ // check to see if we have an empty array
99
+ if ( token.type == JSONTokenType.RIGHT_BRACKET ) {
100
+ // we're done reading the array, so return it
101
+ return a;
102
+ }
103
+
104
+ // deal with elements of the array, and use an "infinite"
105
+ // loop because we could have any amount of elements
106
+ while ( true ) {
107
+ // read in the value and add it to the array
108
+ a.push ( parseValue() );
109
+
110
+ // after the value there should be a ] or a ,
111
+ nextToken();
112
+
113
+ if ( token.type == JSONTokenType.RIGHT_BRACKET ) {
114
+ // we're done reading the array, so return it
115
+ return a;
116
+ } else if ( token.type == JSONTokenType.COMMA ) {
117
+ // move past the comma and read another value
118
+ nextToken();
119
+ } else {
120
+ tokenizer.parseError( "Expecting ] or , but found " + token.value );
121
+ }
122
+ }
123
+ return null;
124
+ }
125
+
126
+ /**
127
+ * Attempt to parse an object
128
+ */
129
+ private function parseObject():Object {
130
+ // create the object internally that we're going to
131
+ // attempt to parse from the tokenizer
132
+ var o:Object = new Object();
133
+
134
+ // store the string part of an object member so
135
+ // that we can assign it a value in the object
136
+ var key:String
137
+
138
+ // grab the next token from the tokenizer
139
+ nextToken();
140
+
141
+ // check to see if we have an empty object
142
+ if ( token.type == JSONTokenType.RIGHT_BRACE ) {
143
+ // we're done reading the object, so return it
144
+ return o;
145
+ }
146
+
147
+ // deal with members of the object, and use an "infinite"
148
+ // loop because we could have any amount of members
149
+ while ( true ) {
150
+
151
+ if ( token.type == JSONTokenType.STRING ) {
152
+ // the string value we read is the key for the object
153
+ key = String( token.value );
154
+
155
+ // move past the string to see what's next
156
+ nextToken();
157
+
158
+ // after the string there should be a :
159
+ if ( token.type == JSONTokenType.COLON ) {
160
+
161
+ // move past the : and read/assign a value for the key
162
+ nextToken();
163
+ o[key] = parseValue();
164
+
165
+ // move past the value to see what's next
166
+ nextToken();
167
+
168
+ // after the value there's either a } or a ,
169
+ if ( token.type == JSONTokenType.RIGHT_BRACE ) {
170
+ // // we're done reading the object, so return it
171
+ return o;
172
+
173
+ } else if ( token.type == JSONTokenType.COMMA ) {
174
+ // skip past the comma and read another member
175
+ nextToken();
176
+ } else {
177
+ tokenizer.parseError( "Expecting } or , but found " + token.value );
178
+ }
179
+ } else {
180
+ tokenizer.parseError( "Expecting : but found " + token.value );
181
+ }
182
+ } else {
183
+ tokenizer.parseError( "Expecting string but found " + token.value );
184
+ }
185
+ }
186
+ return null;
187
+ }
188
+
189
+ /**
190
+ * Attempt to parse a value
191
+ */
192
+ private function parseValue():Object
193
+ {
194
+ // Catch errors when the input stream ends abruptly
195
+ if ( token == null )
196
+ {
197
+ tokenizer.parseError( "Unexpected end of input" );
198
+ }
199
+
200
+ switch ( token.type ) {
201
+ case JSONTokenType.LEFT_BRACE:
202
+ return parseObject();
203
+
204
+ case JSONTokenType.LEFT_BRACKET:
205
+ return parseArray();
206
+
207
+ case JSONTokenType.STRING:
208
+ case JSONTokenType.NUMBER:
209
+ case JSONTokenType.TRUE:
210
+ case JSONTokenType.FALSE:
211
+ case JSONTokenType.NULL:
212
+ return token.value;
213
+
214
+ default:
215
+ tokenizer.parseError( "Unexpected " + token.value );
216
+
217
+ }
218
+ return null;
219
+ }
220
+ }
221
+ }
@@ -0,0 +1,299 @@
1
+ /*
2
+ Copyright (c) 2008, Adobe Systems Incorporated
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are
7
+ met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright
13
+ notice, this list of conditions and the following disclaimer in the
14
+ documentation and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of Adobe Systems Incorporated nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+ package com.adobe.serialization.json
34
+ {
35
+
36
+ import flash.utils.describeType;
37
+
38
+ public class JSONEncoder {
39
+
40
+ /** The string that is going to represent the object we're encoding */
41
+ private var jsonString:String;
42
+
43
+ /**
44
+ * Creates a new JSONEncoder.
45
+ *
46
+ * @param o The object to encode as a JSON string
47
+ * @langversion ActionScript 3.0
48
+ * @playerversion Flash 9.0
49
+ * @tiptext
50
+ */
51
+ public function JSONEncoder( value:* ) {
52
+ jsonString = convertToString( value );
53
+
54
+ }
55
+
56
+ /**
57
+ * Gets the JSON string from the encoder.
58
+ *
59
+ * @return The JSON string representation of the object
60
+ * that was passed to the constructor
61
+ * @langversion ActionScript 3.0
62
+ * @playerversion Flash 9.0
63
+ * @tiptext
64
+ */
65
+ public function getString():String {
66
+ return jsonString;
67
+ }
68
+
69
+ /**
70
+ * Converts a value to it's JSON string equivalent.
71
+ *
72
+ * @param value The value to convert. Could be any
73
+ * type (object, number, array, etc)
74
+ */
75
+ private function convertToString( value:* ):String {
76
+
77
+ // determine what value is and convert it based on it's type
78
+ if ( value is String ) {
79
+
80
+ // escape the string so it's formatted correctly
81
+ return escapeString( value as String );
82
+
83
+ } else if ( value is Number ) {
84
+
85
+ // only encode numbers that finate
86
+ return isFinite( value as Number) ? value.toString() : "null";
87
+
88
+ } else if ( value is Boolean ) {
89
+
90
+ // convert boolean to string easily
91
+ return value ? "true" : "false";
92
+
93
+ } else if ( value is Array ) {
94
+
95
+ // call the helper method to convert an array
96
+ return arrayToString( value as Array );
97
+
98
+ } else if ( value is Object && value != null ) {
99
+
100
+ // call the helper method to convert an object
101
+ return objectToString( value );
102
+ }
103
+ return "null";
104
+ }
105
+
106
+ /**
107
+ * Escapes a string accoding to the JSON specification.
108
+ *
109
+ * @param str The string to be escaped
110
+ * @return The string with escaped special characters
111
+ * according to the JSON specification
112
+ */
113
+ private function escapeString( str:String ):String {
114
+ // create a string to store the string's jsonstring value
115
+ var s:String = "";
116
+ // current character in the string we're processing
117
+ var ch:String;
118
+ // store the length in a local variable to reduce lookups
119
+ var len:Number = str.length;
120
+
121
+ // loop over all of the characters in the string
122
+ for ( var i:int = 0; i < len; i++ ) {
123
+
124
+ // examine the character to determine if we have to escape it
125
+ ch = str.charAt( i );
126
+ switch ( ch ) {
127
+
128
+ case '"': // quotation mark
129
+ s += "\\\"";
130
+ break;
131
+
132
+ //case '/': // solidus
133
+ // s += "\\/";
134
+ // break;
135
+
136
+ case '\\': // reverse solidus
137
+ s += "\\\\";
138
+ break;
139
+
140
+ case '\b': // bell
141
+ s += "\\b";
142
+ break;
143
+
144
+ case '\f': // form feed
145
+ s += "\\f";
146
+ break;
147
+
148
+ case '\n': // newline
149
+ s += "\\n";
150
+ break;
151
+
152
+ case '\r': // carriage return
153
+ s += "\\r";
154
+ break;
155
+
156
+ case '\t': // horizontal tab
157
+ s += "\\t";
158
+ break;
159
+
160
+ default: // everything else
161
+
162
+ // check for a control character and escape as unicode
163
+ if ( ch < ' ' ) {
164
+ // get the hex digit(s) of the character (either 1 or 2 digits)
165
+ var hexCode:String = ch.charCodeAt( 0 ).toString( 16 );
166
+
167
+ // ensure that there are 4 digits by adjusting
168
+ // the # of zeros accordingly.
169
+ var zeroPad:String = hexCode.length == 2 ? "00" : "000";
170
+
171
+ // create the unicode escape sequence with 4 hex digits
172
+ s += "\\u" + zeroPad + hexCode;
173
+ } else {
174
+
175
+ // no need to do any special encoding, just pass-through
176
+ s += ch;
177
+
178
+ }
179
+ } // end switch
180
+
181
+ } // end for loop
182
+
183
+ return "\"" + s + "\"";
184
+ }
185
+
186
+ /**
187
+ * Converts an array to it's JSON string equivalent
188
+ *
189
+ * @param a The array to convert
190
+ * @return The JSON string representation of <code>a</code>
191
+ */
192
+ private function arrayToString( a:Array ):String {
193
+ // create a string to store the array's jsonstring value
194
+ var s:String = "";
195
+
196
+ // loop over the elements in the array and add their converted
197
+ // values to the string
198
+ for ( var i:int = 0; i < a.length; i++ ) {
199
+ // when the length is 0 we're adding the first element so
200
+ // no comma is necessary
201
+ if ( s.length > 0 ) {
202
+ // we've already added an element, so add the comma separator
203
+ s += ","
204
+ }
205
+
206
+ // convert the value to a string
207
+ s += convertToString( a[i] );
208
+ }
209
+
210
+ // KNOWN ISSUE: In ActionScript, Arrays can also be associative
211
+ // objects and you can put anything in them, ie:
212
+ // myArray["foo"] = "bar";
213
+ //
214
+ // These properties aren't picked up in the for loop above because
215
+ // the properties don't correspond to indexes. However, we're
216
+ // sort of out luck because the JSON specification doesn't allow
217
+ // these types of array properties.
218
+ //
219
+ // So, if the array was also used as an associative object, there
220
+ // may be some values in the array that don't get properly encoded.
221
+ //
222
+ // A possible solution is to instead encode the Array as an Object
223
+ // but then it won't get decoded correctly (and won't be an
224
+ // Array instance)
225
+
226
+ // close the array and return it's string value
227
+ return "[" + s + "]";
228
+ }
229
+
230
+ /**
231
+ * Converts an object to it's JSON string equivalent
232
+ *
233
+ * @param o The object to convert
234
+ * @return The JSON string representation of <code>o</code>
235
+ */
236
+ private function objectToString( o:Object ):String
237
+ {
238
+ // create a string to store the object's jsonstring value
239
+ var s:String = "";
240
+
241
+ // determine if o is a class instance or a plain object
242
+ var classInfo:XML = describeType( o );
243
+ if ( classInfo.@name.toString() == "Object" )
244
+ {
245
+ // the value of o[key] in the loop below - store this
246
+ // as a variable so we don't have to keep looking up o[key]
247
+ // when testing for valid values to convert
248
+ var value:Object;
249
+
250
+ // loop over the keys in the object and add their converted
251
+ // values to the string
252
+ for ( var key:String in o )
253
+ {
254
+ // assign value to a variable for quick lookup
255
+ value = o[key];
256
+
257
+ // don't add function's to the JSON string
258
+ if ( value is Function )
259
+ {
260
+ // skip this key and try another
261
+ continue;
262
+ }
263
+
264
+ // when the length is 0 we're adding the first item so
265
+ // no comma is necessary
266
+ if ( s.length > 0 ) {
267
+ // we've already added an item, so add the comma separator
268
+ s += ","
269
+ }
270
+
271
+ s += escapeString( key ) + ":" + convertToString( value );
272
+ }
273
+ }
274
+ else // o is a class instance
275
+ {
276
+ // Loop over all of the variables and accessors in the class and
277
+ // serialize them along with their values.
278
+ for each ( var v:XML in classInfo..*.( name() == "variable" || name() == "accessor" ) )
279
+ {
280
+ // When the length is 0 we're adding the first item so
281
+ // no comma is necessary
282
+ if ( s.length > 0 ) {
283
+ // We've already added an item, so add the comma separator
284
+ s += ","
285
+ }
286
+
287
+ s += escapeString( v.@name.toString() ) + ":"
288
+ + convertToString( o[ v.@name ] );
289
+ }
290
+
291
+ }
292
+
293
+ return "{" + s + "}";
294
+ }
295
+
296
+
297
+ }
298
+
299
+ }