refinerycms 0.9.6.34 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1069) hide show
  1. data/.gitignore +9 -8
  2. data/Gemfile +50 -0
  3. data/Rakefile +1 -1
  4. data/bin/refinery +22 -11
  5. data/bin/refinery-update-core +45 -27
  6. data/changelog.md +313 -0
  7. data/config.ru +5 -0
  8. data/config/acts_as_indexed_config.rb +7 -0
  9. data/config/amazon_s3.yml.example +3 -3
  10. data/config/application.rb +7 -11
  11. data/config/boot.rb +15 -1
  12. data/config/cucumber.yml +8 -0
  13. data/config/database.yml.example +24 -0
  14. data/config/environments/cucumber.rb +27 -0
  15. data/config/environments/development.rb +0 -1
  16. data/config/environments/production.rb +2 -1
  17. data/config/i18n-js.yml +6 -0
  18. data/config/initializers/field_with_error_fix.rb +3 -0
  19. data/config/preinitializer.rb +20 -18
  20. data/config/routes.rb +8 -3
  21. data/db/migrate/20100125003944_rename_title_to_name_on_user_plugins.rb +9 -0
  22. data/db/migrate/20100125033146_migrate_old_plugin_titles_to_plugin_names_for_users.rb +61 -0
  23. data/db/migrate/20100419001048_change_image_grid_thumbnail_size_and_regenerate.rb +13 -0
  24. data/db/migrate/20100522020225_rename_permissions_for_resources_plugin_to_files.rb +15 -0
  25. data/db/migrate/20100525084518_remove_take_down_for_maintenance_page.rb +19 -0
  26. data/db/migrate/20100525110237_add_small_and_large_thumbnail_sizes.rb +14 -0
  27. data/db/migrate/20100530205942_update_link_url_on_pages_from_inquiries_new_to_contact.rb +31 -0
  28. data/db/migrate/20100606173919_create_page_translations.rb +12 -0
  29. data/db/migrate/20100608062447_add_scoping_to_refinery_settings.rb +9 -0
  30. data/db/migrate/20100623220402_add_restricted_to_refinery_settings.rb +9 -0
  31. data/db/migrate/20100624024501_add_roles.rb +24 -0
  32. data/db/migrate/20100629081543_add_callback_proc_as_string_to_refinery_settings.rb +9 -0
  33. data/db/migrate/20100701053151_remove_superuser_from_users.rb +20 -0
  34. data/db/migrate/20100702022630_add_spam_to_inquiries.rb +11 -0
  35. data/db/schema.rb +28 -10
  36. data/db/seeds.rb +6 -119
  37. data/db/seeds/inquiry_settings.rb +2 -0
  38. data/db/seeds/pages.rb +81 -0
  39. data/db/seeds/refinery_settings.rb +19 -0
  40. data/features/refinery/dashboard.feature +4 -0
  41. data/features/refinery/manage_files.feature +4 -0
  42. data/features/refinery/manage_images.feature +4 -0
  43. data/features/refinery/manage_inquiries.feature +4 -0
  44. data/features/refinery/manage_pages.feature +39 -0
  45. data/features/refinery/manage_refinery_settings.feature +4 -0
  46. data/features/refinery/manage_users.feature +29 -0
  47. data/features/refinery/site_bar.feature +22 -0
  48. data/features/step_definitions/refinery/page_steps.rb +23 -0
  49. data/features/step_definitions/refinery/user_steps.rb +33 -0
  50. data/features/step_definitions/web_steps.rb +271 -0
  51. data/features/support/env.rb +63 -0
  52. data/features/support/factories.rb +19 -0
  53. data/features/support/negative_expectations_helper.rb +57 -0
  54. data/features/support/paths.rb +39 -0
  55. data/lib/gemspec.rb +35 -0
  56. data/lib/refinery/tasks/refinery.rake +0 -30
  57. data/lib/tasks/cucumber.rake +53 -0
  58. data/lib/tasks/rspec.rake +144 -0
  59. data/public/images/refinery/admin_bg.png +0 -0
  60. data/public/images/refinery/cross.png +0 -0
  61. data/public/images/refinery/icons/bin.png +0 -0
  62. data/public/images/refinery/icons/bin_closed.png +0 -0
  63. data/public/images/refinery/icons/doc.png +0 -0
  64. data/public/images/refinery/icons/email.png +0 -0
  65. data/public/images/refinery/icons/flags/ad.png +0 -0
  66. data/public/images/refinery/icons/flags/ae.png +0 -0
  67. data/public/images/refinery/icons/flags/af.png +0 -0
  68. data/public/images/refinery/icons/flags/ag.png +0 -0
  69. data/public/images/refinery/icons/flags/ai.png +0 -0
  70. data/public/images/refinery/icons/flags/al.png +0 -0
  71. data/public/images/refinery/icons/flags/am.png +0 -0
  72. data/public/images/refinery/icons/flags/an.png +0 -0
  73. data/public/images/refinery/icons/flags/ao.png +0 -0
  74. data/public/images/refinery/icons/flags/ar.png +0 -0
  75. data/public/images/refinery/icons/flags/as.png +0 -0
  76. data/public/images/refinery/icons/flags/at.png +0 -0
  77. data/public/images/refinery/icons/flags/au.png +0 -0
  78. data/public/images/refinery/icons/flags/aw.png +0 -0
  79. data/public/images/refinery/icons/flags/ax.png +0 -0
  80. data/public/images/refinery/icons/flags/az.png +0 -0
  81. data/public/images/refinery/icons/flags/ba.png +0 -0
  82. data/public/images/refinery/icons/flags/bb.png +0 -0
  83. data/public/images/refinery/icons/flags/bd.png +0 -0
  84. data/public/images/refinery/icons/flags/be.png +0 -0
  85. data/public/images/refinery/icons/flags/bf.png +0 -0
  86. data/public/images/refinery/icons/flags/bg.png +0 -0
  87. data/public/images/refinery/icons/flags/bh.png +0 -0
  88. data/public/images/refinery/icons/flags/bi.png +0 -0
  89. data/public/images/refinery/icons/flags/bj.png +0 -0
  90. data/public/images/refinery/icons/flags/bm.png +0 -0
  91. data/public/images/refinery/icons/flags/bn.png +0 -0
  92. data/public/images/refinery/icons/flags/bo.png +0 -0
  93. data/public/images/refinery/icons/flags/bs.png +0 -0
  94. data/public/images/refinery/icons/flags/bt.png +0 -0
  95. data/public/images/refinery/icons/flags/bv.png +0 -0
  96. data/public/images/refinery/icons/flags/bw.png +0 -0
  97. data/public/images/refinery/icons/flags/by.png +0 -0
  98. data/public/images/refinery/icons/flags/bz.png +0 -0
  99. data/public/images/refinery/icons/flags/ca.png +0 -0
  100. data/public/images/refinery/icons/flags/catalonia.png +0 -0
  101. data/public/images/refinery/icons/flags/cc.png +0 -0
  102. data/public/images/refinery/icons/flags/cd.png +0 -0
  103. data/public/images/refinery/icons/flags/cf.png +0 -0
  104. data/public/images/refinery/icons/flags/cg.png +0 -0
  105. data/public/images/refinery/icons/flags/ch.png +0 -0
  106. data/public/images/refinery/icons/flags/ci.png +0 -0
  107. data/public/images/refinery/icons/flags/ck.png +0 -0
  108. data/public/images/refinery/icons/flags/cl.png +0 -0
  109. data/public/images/refinery/icons/flags/cm.png +0 -0
  110. data/public/images/refinery/icons/flags/cn.png +0 -0
  111. data/public/images/refinery/icons/flags/co.png +0 -0
  112. data/public/images/refinery/icons/flags/cr.png +0 -0
  113. data/public/images/refinery/icons/flags/cs.png +0 -0
  114. data/public/images/refinery/icons/flags/cu.png +0 -0
  115. data/public/images/refinery/icons/flags/cv.png +0 -0
  116. data/public/images/refinery/icons/flags/cx.png +0 -0
  117. data/public/images/refinery/icons/flags/cy.png +0 -0
  118. data/public/images/refinery/icons/flags/cz.png +0 -0
  119. data/public/images/refinery/icons/flags/da.png +0 -0
  120. data/public/images/refinery/icons/flags/de.png +0 -0
  121. data/public/images/refinery/icons/flags/dj.png +0 -0
  122. data/public/images/refinery/icons/flags/dm.png +0 -0
  123. data/public/images/refinery/icons/flags/do.png +0 -0
  124. data/public/images/refinery/icons/flags/dz.png +0 -0
  125. data/public/images/refinery/icons/flags/ec.png +0 -0
  126. data/public/images/refinery/icons/flags/ee.png +0 -0
  127. data/public/images/refinery/icons/flags/eg.png +0 -0
  128. data/public/images/refinery/icons/flags/eh.png +0 -0
  129. data/public/images/refinery/icons/flags/en.png +0 -0
  130. data/public/images/refinery/icons/flags/england.png +0 -0
  131. data/public/images/refinery/icons/flags/er.png +0 -0
  132. data/public/images/refinery/icons/flags/es.png +0 -0
  133. data/public/images/refinery/icons/flags/et.png +0 -0
  134. data/public/images/refinery/icons/flags/europeanunion.png +0 -0
  135. data/public/images/refinery/icons/flags/fam.png +0 -0
  136. data/public/images/refinery/icons/flags/fi.png +0 -0
  137. data/public/images/refinery/icons/flags/fj.png +0 -0
  138. data/public/images/refinery/icons/flags/fk.png +0 -0
  139. data/public/images/refinery/icons/flags/fm.png +0 -0
  140. data/public/images/refinery/icons/flags/fo.png +0 -0
  141. data/public/images/refinery/icons/flags/fr.png +0 -0
  142. data/public/images/refinery/icons/flags/ga.png +0 -0
  143. data/public/images/refinery/icons/flags/gb.png +0 -0
  144. data/public/images/refinery/icons/flags/gd.png +0 -0
  145. data/public/images/refinery/icons/flags/ge.png +0 -0
  146. data/public/images/refinery/icons/flags/gf.png +0 -0
  147. data/public/images/refinery/icons/flags/gh.png +0 -0
  148. data/public/images/refinery/icons/flags/gi.png +0 -0
  149. data/public/images/refinery/icons/flags/gl.png +0 -0
  150. data/public/images/refinery/icons/flags/gm.png +0 -0
  151. data/public/images/refinery/icons/flags/gn.png +0 -0
  152. data/public/images/refinery/icons/flags/gp.png +0 -0
  153. data/public/images/refinery/icons/flags/gq.png +0 -0
  154. data/public/images/refinery/icons/flags/gr.png +0 -0
  155. data/public/images/refinery/icons/flags/gs.png +0 -0
  156. data/public/images/refinery/icons/flags/gt.png +0 -0
  157. data/public/images/refinery/icons/flags/gu.png +0 -0
  158. data/public/images/refinery/icons/flags/gw.png +0 -0
  159. data/public/images/refinery/icons/flags/gy.png +0 -0
  160. data/public/images/refinery/icons/flags/hk.png +0 -0
  161. data/public/images/refinery/icons/flags/hm.png +0 -0
  162. data/public/images/refinery/icons/flags/hn.png +0 -0
  163. data/public/images/refinery/icons/flags/hr.png +0 -0
  164. data/public/images/refinery/icons/flags/ht.png +0 -0
  165. data/public/images/refinery/icons/flags/hu.png +0 -0
  166. data/public/images/refinery/icons/flags/id.png +0 -0
  167. data/public/images/refinery/icons/flags/ie.png +0 -0
  168. data/public/images/refinery/icons/flags/il.png +0 -0
  169. data/public/images/refinery/icons/flags/in.png +0 -0
  170. data/public/images/refinery/icons/flags/io.png +0 -0
  171. data/public/images/refinery/icons/flags/iq.png +0 -0
  172. data/public/images/refinery/icons/flags/ir.png +0 -0
  173. data/public/images/refinery/icons/flags/is.png +0 -0
  174. data/public/images/refinery/icons/flags/it.png +0 -0
  175. data/public/images/refinery/icons/flags/jm.png +0 -0
  176. data/public/images/refinery/icons/flags/jo.png +0 -0
  177. data/public/images/refinery/icons/flags/jp.png +0 -0
  178. data/public/images/refinery/icons/flags/ke.png +0 -0
  179. data/public/images/refinery/icons/flags/kg.png +0 -0
  180. data/public/images/refinery/icons/flags/kh.png +0 -0
  181. data/public/images/refinery/icons/flags/ki.png +0 -0
  182. data/public/images/refinery/icons/flags/km.png +0 -0
  183. data/public/images/refinery/icons/flags/kn.png +0 -0
  184. data/public/images/refinery/icons/flags/kp.png +0 -0
  185. data/public/images/refinery/icons/flags/kr.png +0 -0
  186. data/public/images/refinery/icons/flags/kw.png +0 -0
  187. data/public/images/refinery/icons/flags/ky.png +0 -0
  188. data/public/images/refinery/icons/flags/kz.png +0 -0
  189. data/public/images/refinery/icons/flags/la.png +0 -0
  190. data/public/images/refinery/icons/flags/lb.png +0 -0
  191. data/public/images/refinery/icons/flags/lc.png +0 -0
  192. data/public/images/refinery/icons/flags/li.png +0 -0
  193. data/public/images/refinery/icons/flags/lk.png +0 -0
  194. data/public/images/refinery/icons/flags/lr.png +0 -0
  195. data/public/images/refinery/icons/flags/ls.png +0 -0
  196. data/public/images/refinery/icons/flags/lt.png +0 -0
  197. data/public/images/refinery/icons/flags/lu.png +0 -0
  198. data/public/images/refinery/icons/flags/lv.png +0 -0
  199. data/public/images/refinery/icons/flags/ly.png +0 -0
  200. data/public/images/refinery/icons/flags/ma.png +0 -0
  201. data/public/images/refinery/icons/flags/mc.png +0 -0
  202. data/public/images/refinery/icons/flags/md.png +0 -0
  203. data/public/images/refinery/icons/flags/me.png +0 -0
  204. data/public/images/refinery/icons/flags/mg.png +0 -0
  205. data/public/images/refinery/icons/flags/mh.png +0 -0
  206. data/public/images/refinery/icons/flags/mk.png +0 -0
  207. data/public/images/refinery/icons/flags/ml.png +0 -0
  208. data/public/images/refinery/icons/flags/mm.png +0 -0
  209. data/public/images/refinery/icons/flags/mn.png +0 -0
  210. data/public/images/refinery/icons/flags/mo.png +0 -0
  211. data/public/images/refinery/icons/flags/mp.png +0 -0
  212. data/public/images/refinery/icons/flags/mq.png +0 -0
  213. data/public/images/refinery/icons/flags/mr.png +0 -0
  214. data/public/images/refinery/icons/flags/ms.png +0 -0
  215. data/public/images/refinery/icons/flags/mt.png +0 -0
  216. data/public/images/refinery/icons/flags/mu.png +0 -0
  217. data/public/images/refinery/icons/flags/mv.png +0 -0
  218. data/public/images/refinery/icons/flags/mw.png +0 -0
  219. data/public/images/refinery/icons/flags/mx.png +0 -0
  220. data/public/images/refinery/icons/flags/my.png +0 -0
  221. data/public/images/refinery/icons/flags/mz.png +0 -0
  222. data/public/images/refinery/icons/flags/na.png +0 -0
  223. data/public/images/refinery/icons/flags/nb.png +0 -0
  224. data/public/images/refinery/icons/flags/nc.png +0 -0
  225. data/public/images/refinery/icons/flags/ne.png +0 -0
  226. data/public/images/refinery/icons/flags/nf.png +0 -0
  227. data/public/images/refinery/icons/flags/ng.png +0 -0
  228. data/public/images/refinery/icons/flags/ni.png +0 -0
  229. data/public/images/refinery/icons/flags/nl.png +0 -0
  230. data/public/images/refinery/icons/flags/nn.png +0 -0
  231. data/public/images/refinery/icons/flags/np.png +0 -0
  232. data/public/images/refinery/icons/flags/nr.png +0 -0
  233. data/public/images/refinery/icons/flags/nu.png +0 -0
  234. data/public/images/refinery/icons/flags/nz.png +0 -0
  235. data/public/images/refinery/icons/flags/om.png +0 -0
  236. data/public/images/refinery/icons/flags/pa.png +0 -0
  237. data/public/images/refinery/icons/flags/pe.png +0 -0
  238. data/public/images/refinery/icons/flags/pf.png +0 -0
  239. data/public/images/refinery/icons/flags/pg.png +0 -0
  240. data/public/images/refinery/icons/flags/ph.png +0 -0
  241. data/public/images/refinery/icons/flags/pk.png +0 -0
  242. data/public/images/refinery/icons/flags/pl.png +0 -0
  243. data/public/images/refinery/icons/flags/pm.png +0 -0
  244. data/public/images/refinery/icons/flags/pn.png +0 -0
  245. data/public/images/refinery/icons/flags/pr.png +0 -0
  246. data/public/images/refinery/icons/flags/ps.png +0 -0
  247. data/public/images/refinery/icons/flags/pt-BR.png +0 -0
  248. data/public/images/refinery/icons/flags/pt.png +0 -0
  249. data/public/images/refinery/icons/flags/pw.png +0 -0
  250. data/public/images/refinery/icons/flags/py.png +0 -0
  251. data/public/images/refinery/icons/flags/qa.png +0 -0
  252. data/public/images/refinery/icons/flags/re.png +0 -0
  253. data/public/images/refinery/icons/flags/ro.png +0 -0
  254. data/public/images/refinery/icons/flags/rs.png +0 -0
  255. data/public/images/refinery/icons/flags/ru.png +0 -0
  256. data/public/images/refinery/icons/flags/rw.png +0 -0
  257. data/public/images/refinery/icons/flags/sa.png +0 -0
  258. data/public/images/refinery/icons/flags/sb.png +0 -0
  259. data/public/images/refinery/icons/flags/sc.png +0 -0
  260. data/public/images/refinery/icons/flags/scotland.png +0 -0
  261. data/public/images/refinery/icons/flags/sd.png +0 -0
  262. data/public/images/refinery/icons/flags/se.png +0 -0
  263. data/public/images/refinery/icons/flags/sg.png +0 -0
  264. data/public/images/refinery/icons/flags/sh.png +0 -0
  265. data/public/images/refinery/icons/flags/si.png +0 -0
  266. data/public/images/refinery/icons/flags/sj.png +0 -0
  267. data/public/images/refinery/icons/flags/sk.png +0 -0
  268. data/public/images/refinery/icons/flags/sl.png +0 -0
  269. data/public/images/refinery/icons/flags/sm.png +0 -0
  270. data/public/images/refinery/icons/flags/sn.png +0 -0
  271. data/public/images/refinery/icons/flags/so.png +0 -0
  272. data/public/images/refinery/icons/flags/sr.png +0 -0
  273. data/public/images/refinery/icons/flags/st.png +0 -0
  274. data/public/images/refinery/icons/flags/sv.png +0 -0
  275. data/public/images/refinery/icons/flags/sy.png +0 -0
  276. data/public/images/refinery/icons/flags/sz.png +0 -0
  277. data/public/images/refinery/icons/flags/tc.png +0 -0
  278. data/public/images/refinery/icons/flags/td.png +0 -0
  279. data/public/images/refinery/icons/flags/tf.png +0 -0
  280. data/public/images/refinery/icons/flags/tg.png +0 -0
  281. data/public/images/refinery/icons/flags/th.png +0 -0
  282. data/public/images/refinery/icons/flags/tj.png +0 -0
  283. data/public/images/refinery/icons/flags/tk.png +0 -0
  284. data/public/images/refinery/icons/flags/tl.png +0 -0
  285. data/public/images/refinery/icons/flags/tm.png +0 -0
  286. data/public/images/refinery/icons/flags/tn.png +0 -0
  287. data/public/images/refinery/icons/flags/to.png +0 -0
  288. data/public/images/refinery/icons/flags/tr.png +0 -0
  289. data/public/images/refinery/icons/flags/tt.png +0 -0
  290. data/public/images/refinery/icons/flags/tv.png +0 -0
  291. data/public/images/refinery/icons/flags/tw.png +0 -0
  292. data/public/images/refinery/icons/flags/tz.png +0 -0
  293. data/public/images/refinery/icons/flags/ua.png +0 -0
  294. data/public/images/refinery/icons/flags/ug.png +0 -0
  295. data/public/images/refinery/icons/flags/um.png +0 -0
  296. data/public/images/refinery/icons/flags/us.png +0 -0
  297. data/public/images/refinery/icons/flags/uy.png +0 -0
  298. data/public/images/refinery/icons/flags/uz.png +0 -0
  299. data/public/images/refinery/icons/flags/va.png +0 -0
  300. data/public/images/refinery/icons/flags/vc.png +0 -0
  301. data/public/images/refinery/icons/flags/ve.png +0 -0
  302. data/public/images/refinery/icons/flags/vg.png +0 -0
  303. data/public/images/refinery/icons/flags/vi.png +0 -0
  304. data/public/images/refinery/icons/flags/vn.png +0 -0
  305. data/public/images/refinery/icons/flags/vu.png +0 -0
  306. data/public/images/refinery/icons/flags/wales.png +0 -0
  307. data/public/images/refinery/icons/flags/wf.png +0 -0
  308. data/public/images/refinery/icons/flags/ws.png +0 -0
  309. data/public/images/refinery/icons/flags/ye.png +0 -0
  310. data/public/images/refinery/icons/flags/yt.png +0 -0
  311. data/public/images/refinery/icons/flags/za.png +0 -0
  312. data/public/images/refinery/icons/flags/zm.png +0 -0
  313. data/public/images/refinery/icons/flags/zw.png +0 -0
  314. data/public/images/refinery/icons/folder_page_white.png +0 -0
  315. data/public/images/refinery/icons/img.png +0 -0
  316. data/public/images/refinery/icons/music.png +0 -0
  317. data/public/images/refinery/icons/page_white_gear.png +0 -0
  318. data/public/images/refinery/icons/pdf.png +0 -0
  319. data/public/images/refinery/icons/ppt.png +0 -0
  320. data/public/images/refinery/icons/xls.png +0 -0
  321. data/public/images/refinery/icons/zip.png +0 -0
  322. data/public/images/refinery/logo-site-bar.png +0 -0
  323. data/public/images/refinery/nav_inactive_background.png +0 -0
  324. data/public/images/refinery/orange_button.png +0 -0
  325. data/public/images/refinery/text_field_background.png +0 -0
  326. data/public/images/refinery/tooltip-nib.png +0 -0
  327. data/public/images/wymeditor/skins/refinery/text_indent.png +0 -0
  328. data/public/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
  329. data/public/javascripts/admin.js +6 -8
  330. data/public/javascripts/i18n-messages.js +2 -0
  331. data/public/javascripts/jquery-min.js +154 -0
  332. data/public/javascripts/jquery-ui-custom-min.js +244 -0
  333. data/public/javascripts/jquery/jquery.corner.js +314 -216
  334. data/public/javascripts/jquery/jquery.html5-placeholder-shim.js +81 -0
  335. data/public/javascripts/jquery/jquery.nestedsortables.js +186 -0
  336. data/public/javascripts/jquery/jquery.textTruncate.js +174 -0
  337. data/public/javascripts/jquery/jquery.timers.js +138 -0
  338. data/public/javascripts/refinery/admin.js +352 -153
  339. data/public/javascripts/refinery/boot_wym.js +81 -46
  340. data/public/javascripts/refinery/i18n.js +340 -0
  341. data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +359 -363
  342. data/public/javascripts/wymeditor/lang/en.js +46 -46
  343. data/public/javascripts/wymeditor/lang/nl.js +5 -3
  344. data/public/javascripts/wymeditor/lang/pt-br.js +3 -2
  345. data/public/javascripts/wymeditor/lang/sl.js +47 -0
  346. data/public/javascripts/wymeditor/skins/refinery/skin.js +23 -23
  347. data/public/robots.txt +1 -0
  348. data/public/stylesheets/application.css +3 -3
  349. data/public/stylesheets/formatting.css +3 -3
  350. data/public/stylesheets/home.css +2 -2
  351. data/public/stylesheets/ie7.css +1 -0
  352. data/public/stylesheets/refinery/application.css +4 -2
  353. data/public/stylesheets/refinery/formatting.css +15 -15
  354. data/public/stylesheets/refinery/ie.css +20 -0
  355. data/public/stylesheets/refinery/refinery.css +680 -462
  356. data/public/stylesheets/refinery/site_bar.css +68 -25
  357. data/public/stylesheets/refinery/theme.css +14 -14
  358. data/public/stylesheets/refinery/tooltips.css +28 -32
  359. data/public/stylesheets/refinery/ui.css +25 -10
  360. data/public/stylesheets/wymeditor/skins/refinery/skin.css +148 -149
  361. data/public/stylesheets/wymeditor/skins/refinery/wymiframe.css +67 -63
  362. data/readme.md +48 -17
  363. data/script/about +1 -1
  364. data/script/autospec +6 -0
  365. data/script/console +1 -1
  366. data/script/cucumber +10 -0
  367. data/script/dbconsole +1 -1
  368. data/script/destroy +1 -1
  369. data/script/generate +1 -1
  370. data/script/performance/benchmarker +1 -1
  371. data/script/performance/profiler +1 -1
  372. data/script/performance/request +1 -1
  373. data/script/plugin +1 -1
  374. data/script/process/inspector +1 -1
  375. data/script/process/reaper +1 -1
  376. data/script/process/spawner +1 -1
  377. data/script/runner +1 -1
  378. data/script/server +1 -1
  379. data/script/spec +10 -0
  380. data/test/fixtures/images.yml +1 -2
  381. data/test/fixtures/pages.yml +4 -4
  382. data/test/fixtures/user_plugins.yml +20 -24
  383. data/test/functional/dashboard_controller_test.rb +2 -1
  384. data/test/functional/images_controller_test.rb +3 -10
  385. data/test/unit/image_test.rb +1 -1
  386. data/test/unit/inquiry_test.rb +6 -6
  387. data/test/unit/page_test.rb +31 -1
  388. data/test/unit/refinery_setting_test.rb +1 -1
  389. data/themes/demolicious/stylesheets/application.css +23 -12
  390. data/themes/demolicious/stylesheets/formatting.css +3 -3
  391. data/themes/demolicious/stylesheets/home.css +1 -4
  392. data/themes/demolicious/views/layouts/application.html.erb +5 -5
  393. data/themes/demolicious/views/pages/home.html.erb +1 -1
  394. data/themes/hemingway/stylesheets/application.css +1 -1
  395. data/themes/hemingway/views/layouts/application.html.erb +1 -0
  396. data/todo.md +19 -5
  397. data/vendor/plugins/authentication/app/controllers/admin/users_controller.rb +13 -18
  398. data/vendor/plugins/authentication/app/controllers/sessions_controller.rb +21 -6
  399. data/vendor/plugins/authentication/app/controllers/users_controller.rb +57 -49
  400. data/vendor/plugins/authentication/app/models/role.rb +16 -0
  401. data/vendor/plugins/authentication/app/models/user.rb +21 -8
  402. data/vendor/plugins/authentication/app/models/user_mailer.rb +3 -2
  403. data/vendor/plugins/authentication/app/models/user_session.rb +1 -1
  404. data/vendor/plugins/authentication/app/views/admin/users/_form.html.erb +29 -10
  405. data/vendor/plugins/authentication/app/views/admin/users/_user.html.erb +11 -10
  406. data/vendor/plugins/authentication/app/views/admin/users/index.html.erb +2 -3
  407. data/vendor/plugins/authentication/app/views/sessions/new.html.erb +15 -18
  408. data/vendor/plugins/authentication/app/views/users/forgot.html.erb +14 -9
  409. data/vendor/plugins/authentication/app/views/users/new.html.erb +11 -13
  410. data/vendor/plugins/authentication/app/views/users/reset.html.erb +14 -9
  411. data/vendor/plugins/authentication/config/locales/da.yml +71 -0
  412. data/vendor/plugins/authentication/config/locales/de.yml +75 -0
  413. data/vendor/plugins/authentication/config/locales/en.yml +75 -0
  414. data/vendor/plugins/authentication/config/locales/es.yml +79 -0
  415. data/vendor/plugins/authentication/config/locales/fr.yml +79 -0
  416. data/vendor/plugins/authentication/config/locales/it.yml +68 -0
  417. data/vendor/plugins/authentication/config/locales/nb.yml +68 -0
  418. data/vendor/plugins/authentication/config/locales/nl.yml +83 -0
  419. data/vendor/plugins/authentication/config/locales/pt-BR.yml +64 -0
  420. data/vendor/plugins/authentication/config/locales/sl.yml +78 -0
  421. data/vendor/plugins/authentication/config/routes.rb +4 -5
  422. data/vendor/plugins/authentication/lib/authenticated_system.rb +5 -1
  423. data/vendor/plugins/authentication/rails/init.rb +5 -1
  424. data/vendor/plugins/authentication/{authentication.md → readme.md} +0 -0
  425. data/vendor/plugins/authentication/test/unit/user_mailer_test.rb +1 -1
  426. data/vendor/plugins/dashboard/app/controllers/admin/dashboard_controller.rb +17 -7
  427. data/vendor/plugins/dashboard/app/helpers/admin/dashboard_helper.rb +5 -9
  428. data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_activity.html.erb +10 -12
  429. data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_inquiries.html.erb +12 -0
  430. data/vendor/plugins/dashboard/app/views/admin/dashboard/index.html.erb +34 -11
  431. data/vendor/plugins/dashboard/config/locales/da.yml +22 -0
  432. data/vendor/plugins/dashboard/config/locales/de.yml +22 -0
  433. data/vendor/plugins/dashboard/config/locales/en.yml +22 -0
  434. data/vendor/plugins/dashboard/config/locales/es.yml +22 -0
  435. data/vendor/plugins/dashboard/config/locales/fr.yml +22 -0
  436. data/vendor/plugins/dashboard/config/locales/it.yml +22 -0
  437. data/vendor/plugins/dashboard/config/locales/nb.yml +22 -0
  438. data/vendor/plugins/dashboard/config/locales/nl.yml +22 -0
  439. data/vendor/plugins/dashboard/config/locales/pt-BR.yml +22 -0
  440. data/vendor/plugins/dashboard/config/locales/sl.yml +22 -0
  441. data/vendor/plugins/dashboard/config/routes.rb +2 -1
  442. data/vendor/plugins/dashboard/rails/init.rb +6 -0
  443. data/vendor/plugins/dashboard/{dashboard.md → readme.md} +0 -0
  444. data/vendor/plugins/i18n-js/README.rdoc +249 -0
  445. data/vendor/plugins/i18n-js/Rakefile +23 -0
  446. data/vendor/plugins/i18n-js/init.rb +1 -0
  447. data/vendor/plugins/i18n-js/install.rb +7 -0
  448. data/vendor/plugins/i18n-js/lib/i18n-js.rb +132 -0
  449. data/vendor/plugins/i18n-js/lib/i18n-js.yml +4 -0
  450. data/vendor/plugins/i18n-js/lib/i18n.js +339 -0
  451. data/vendor/plugins/i18n-js/lib/tasks/i18n-js_tasks.rake +16 -0
  452. data/vendor/plugins/i18n-js/test/i18n-test.html +50 -0
  453. data/vendor/plugins/i18n-js/test/i18n-test.js +661 -0
  454. data/vendor/plugins/i18n-js/test/i18n_js_test.rb +168 -0
  455. data/vendor/plugins/i18n-js/test/jsunittest/jsunittest.js +1017 -0
  456. data/vendor/plugins/i18n-js/test/jsunittest/unittest.css +54 -0
  457. data/vendor/plugins/i18n-js/test/resources/custom_path.yml +4 -0
  458. data/vendor/plugins/i18n-js/test/resources/default.yml +4 -0
  459. data/vendor/plugins/i18n-js/test/resources/locales.yml +76 -0
  460. data/vendor/plugins/i18n-js/test/resources/multiple_files.yml +6 -0
  461. data/vendor/plugins/i18n-js/test/resources/no_scope.yml +3 -0
  462. data/vendor/plugins/i18n-js/test/resources/simple_scope.yml +4 -0
  463. data/vendor/plugins/i18n-js/test/test_helper.rb +24 -0
  464. data/vendor/plugins/i18n/config/locales/ar.yml +121 -0
  465. data/vendor/plugins/i18n/config/locales/bg.yml +198 -0
  466. data/vendor/plugins/i18n/config/locales/bn-IN.yml +180 -0
  467. data/vendor/plugins/i18n/config/locales/bs.yml +114 -0
  468. data/vendor/plugins/i18n/config/locales/ca-ES.yml +155 -0
  469. data/vendor/plugins/i18n/config/locales/cz.rb +166 -0
  470. data/vendor/plugins/i18n/config/locales/da.yml +167 -0
  471. data/vendor/plugins/i18n/config/locales/de-AT.yml +140 -0
  472. data/vendor/plugins/i18n/config/locales/de.yml +141 -0
  473. data/vendor/plugins/i18n/config/locales/dsb.yml +182 -0
  474. data/vendor/plugins/i18n/config/locales/el.yml +191 -0
  475. data/vendor/plugins/i18n/config/locales/es-AR.yml +168 -0
  476. data/vendor/plugins/i18n/config/locales/es-CO.yml +146 -0
  477. data/vendor/plugins/i18n/config/locales/es-MX.yml +118 -0
  478. data/vendor/plugins/i18n/config/locales/es.yml +186 -0
  479. data/vendor/plugins/i18n/config/locales/et.yml +109 -0
  480. data/vendor/plugins/i18n/config/locales/fa.yml +119 -0
  481. data/vendor/plugins/i18n/config/locales/fi.yml +154 -0
  482. data/vendor/plugins/i18n/config/locales/fr-CH.yml +123 -0
  483. data/vendor/plugins/i18n/config/locales/fr.yml +140 -0
  484. data/vendor/plugins/i18n/config/locales/fun/en-AU.rb +105 -0
  485. data/vendor/plugins/i18n/config/locales/fun/gibberish.rb +109 -0
  486. data/vendor/plugins/i18n/config/locales/fur.yml +141 -0
  487. data/vendor/plugins/i18n/config/locales/gl-ES.yml +193 -0
  488. data/vendor/plugins/i18n/config/locales/he.yml +103 -0
  489. data/vendor/plugins/i18n/config/locales/hr.yml +116 -0
  490. data/vendor/plugins/i18n/config/locales/hsb.yml +190 -0
  491. data/vendor/plugins/i18n/config/locales/hu.yml +144 -0
  492. data/vendor/plugins/i18n/config/locales/id.yml +122 -0
  493. data/vendor/plugins/i18n/config/locales/is.yml +142 -0
  494. data/vendor/plugins/i18n/config/locales/it.yml +146 -0
  495. data/vendor/plugins/i18n/config/locales/ja.yml +139 -0
  496. data/vendor/plugins/i18n/config/locales/ko.yml +153 -0
  497. data/vendor/plugins/i18n/config/locales/lo.yml +201 -0
  498. data/vendor/plugins/i18n/config/locales/lt.yml +141 -0
  499. data/vendor/plugins/i18n/config/locales/lv.yml +132 -0
  500. data/vendor/plugins/i18n/config/locales/mk.yml +115 -0
  501. data/vendor/plugins/i18n/config/locales/nb.yml +103 -0
  502. data/vendor/plugins/i18n/config/locales/nl.yml +173 -0
  503. data/vendor/plugins/i18n/config/locales/nn.yml +96 -0
  504. data/vendor/plugins/i18n/config/locales/pl.yml +127 -0
  505. data/vendor/plugins/i18n/config/locales/pt-BR.yml +148 -0
  506. data/vendor/plugins/i18n/config/locales/pt-PT.yml +220 -0
  507. data/vendor/plugins/i18n/config/locales/rm.yml +134 -0
  508. data/vendor/plugins/i18n/config/locales/ro.yml +152 -0
  509. data/vendor/plugins/i18n/config/locales/ru.yml +210 -0
  510. data/vendor/plugins/i18n/config/locales/sk.yml +139 -0
  511. data/vendor/plugins/i18n/config/locales/sl.yml +190 -0
  512. data/vendor/plugins/i18n/config/locales/sr-Latn.yml +116 -0
  513. data/vendor/plugins/i18n/config/locales/sr.yml +116 -0
  514. data/vendor/plugins/i18n/config/locales/sv-SE.yml +191 -0
  515. data/vendor/plugins/i18n/config/locales/sw.yml +123 -0
  516. data/vendor/plugins/i18n/config/locales/th.rb +222 -0
  517. data/vendor/plugins/i18n/config/locales/tr.yml +139 -0
  518. data/vendor/plugins/i18n/config/locales/uk.yml +237 -0
  519. data/vendor/plugins/i18n/config/locales/vi.yml +198 -0
  520. data/vendor/plugins/i18n/config/locales/zh-CN.yml +131 -0
  521. data/vendor/plugins/i18n/config/locales/zh-TW.yml +132 -0
  522. data/vendor/plugins/i18n/lib/i18n.rb +115 -0
  523. data/vendor/plugins/i18n/lib/i18n_filter.rb +48 -0
  524. data/vendor/plugins/i18n/lib/routing_filter/MIT-LICENSE +20 -0
  525. data/vendor/plugins/i18n/lib/routing_filter/README.markdown +123 -0
  526. data/vendor/plugins/i18n/lib/routing_filter/VERSION +1 -0
  527. data/vendor/plugins/i18n/lib/routing_filter/routing_filter.rb +96 -0
  528. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb +31 -0
  529. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/force_extension.rb +57 -0
  530. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/pagination.rb +33 -0
  531. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/uuid_token.rb +78 -0
  532. data/vendor/plugins/i18n/rails/init.rb +4 -0
  533. data/vendor/plugins/images/app/controllers/admin/images_controller.rb +6 -7
  534. data/vendor/plugins/images/app/models/image.rb +24 -6
  535. data/vendor/plugins/images/app/views/admin/images/_existing_image.erb +50 -0
  536. data/vendor/plugins/images/app/views/admin/images/_form.html.erb +15 -7
  537. data/vendor/plugins/images/app/views/admin/images/_grid_view.html.erb +5 -5
  538. data/vendor/plugins/images/app/views/admin/images/_list_view.html.erb +3 -1
  539. data/vendor/plugins/images/app/views/admin/images/_list_view_image.html.erb +10 -10
  540. data/vendor/plugins/images/app/views/admin/images/index.html.erb +5 -8
  541. data/vendor/plugins/images/app/views/admin/images/insert.html.erb +16 -38
  542. data/vendor/plugins/images/config/locales/da.yml +44 -0
  543. data/vendor/plugins/images/config/locales/de.yml +45 -0
  544. data/vendor/plugins/images/config/locales/en.yml +44 -0
  545. data/vendor/plugins/images/config/locales/es.yml +45 -0
  546. data/vendor/plugins/images/config/locales/fr.yml +44 -0
  547. data/vendor/plugins/images/config/locales/it.yml +42 -0
  548. data/vendor/plugins/images/config/locales/nb.yml +43 -0
  549. data/vendor/plugins/images/config/locales/nl.yml +44 -0
  550. data/vendor/plugins/images/config/locales/pt-BR.yml +46 -0
  551. data/vendor/plugins/images/config/locales/sl.yml +44 -0
  552. data/vendor/plugins/images/config/routes.rb +1 -1
  553. data/vendor/plugins/images/lib/tasks/images.rake +6 -6
  554. data/vendor/plugins/images/rails/init.rb +5 -1
  555. data/vendor/plugins/images/readme.md +58 -0
  556. data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +16 -7
  557. data/vendor/plugins/inquiries/app/controllers/admin/inquiry_settings_controller.rb +5 -9
  558. data/vendor/plugins/inquiries/app/controllers/inquiries_controller.rb +14 -12
  559. data/vendor/plugins/inquiries/app/models/inquiry.rb +133 -6
  560. data/vendor/plugins/inquiries/app/models/inquiry_mailer.rb +2 -2
  561. data/vendor/plugins/inquiries/app/models/inquiry_setting.rb +51 -2
  562. data/vendor/plugins/inquiries/app/views/admin/inquiries/_inquiry.html.erb +16 -8
  563. data/vendor/plugins/inquiries/app/views/admin/inquiries/_submenu.html.erb +27 -0
  564. data/vendor/plugins/inquiries/app/views/admin/inquiries/index.html.erb +3 -18
  565. data/vendor/plugins/inquiries/app/views/admin/inquiries/show.html.erb +23 -12
  566. data/vendor/plugins/inquiries/app/views/admin/inquiries/spam.html.erb +20 -0
  567. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +21 -14
  568. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_inquiry_setting.html.erb +11 -0
  569. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_notification_recipients_form.html.erb +21 -14
  570. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_subject_form.html.erb +9 -0
  571. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/edit.html.erb +2 -0
  572. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/index.html.erb +7 -17
  573. data/vendor/plugins/inquiries/app/views/inquiries/new.html.erb +4 -5
  574. data/vendor/plugins/inquiries/config/locales/da.yml +67 -0
  575. data/vendor/plugins/inquiries/config/locales/de.yml +71 -0
  576. data/vendor/plugins/inquiries/config/locales/en.yml +75 -0
  577. data/vendor/plugins/inquiries/config/locales/es.yml +68 -0
  578. data/vendor/plugins/inquiries/config/locales/fr.yml +65 -0
  579. data/vendor/plugins/inquiries/config/locales/it.yml +66 -0
  580. data/vendor/plugins/inquiries/config/locales/nb.yml +67 -0
  581. data/vendor/plugins/inquiries/config/locales/nl.yml +71 -0
  582. data/vendor/plugins/inquiries/config/locales/pt-BR.yml +75 -0
  583. data/vendor/plugins/inquiries/config/locales/sl.yml +68 -0
  584. data/vendor/plugins/inquiries/config/routes.rb +4 -3
  585. data/vendor/plugins/inquiries/rails/init.rb +6 -3
  586. data/vendor/plugins/inquiries/readme.md +31 -0
  587. data/vendor/plugins/model_translations/MIT-LICENSE +20 -0
  588. data/vendor/plugins/model_translations/README.rdoc +90 -0
  589. data/vendor/plugins/model_translations/Rakefile +23 -0
  590. data/vendor/plugins/model_translations/init.rb +1 -0
  591. data/vendor/plugins/model_translations/lib/active_record/model_translations.rb +55 -0
  592. data/vendor/plugins/model_translations/test/model_translations_test.rb +88 -0
  593. data/vendor/plugins/model_translations/test/test_helper.rb +3 -0
  594. data/vendor/plugins/pages/app/controllers/admin/page_dialogs_controller.rb +29 -0
  595. data/vendor/plugins/pages/app/controllers/admin/page_parts_controller.rb +2 -0
  596. data/vendor/plugins/pages/app/controllers/admin/pages_controller.rb +37 -10
  597. data/vendor/plugins/pages/app/controllers/pages_controller.rb +24 -2
  598. data/vendor/plugins/pages/app/models/page.rb +90 -15
  599. data/vendor/plugins/pages/app/models/page_part.rb +1 -1
  600. data/vendor/plugins/pages/app/views/admin/page_dialogs/_page_link.html.erb +1 -1
  601. data/vendor/plugins/pages/app/views/admin/page_dialogs/link_to.html.erb +59 -74
  602. data/vendor/plugins/pages/app/views/admin/pages/_form.html.erb +14 -39
  603. data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options.html.erb +56 -50
  604. data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options_seo.html.erb +23 -21
  605. data/vendor/plugins/pages/app/views/admin/pages/_form_page_parts.html.erb +37 -0
  606. data/vendor/plugins/pages/app/views/admin/pages/_page.html.erb +10 -11
  607. data/vendor/plugins/pages/app/views/admin/pages/_page_part_field.html.erb +3 -2
  608. data/vendor/plugins/pages/app/views/admin/pages/index.html.erb +7 -7
  609. data/vendor/plugins/pages/app/views/pages/home.html.erb +1 -1
  610. data/vendor/plugins/pages/config/locales/da.yml +53 -0
  611. data/vendor/plugins/pages/config/locales/de.yml +53 -0
  612. data/vendor/plugins/pages/config/locales/en.yml +95 -0
  613. data/vendor/plugins/pages/config/locales/es.yml +53 -0
  614. data/vendor/plugins/pages/config/locales/fr.yml +53 -0
  615. data/vendor/plugins/pages/config/locales/it.yml +53 -0
  616. data/vendor/plugins/pages/config/locales/nb.yml +53 -0
  617. data/vendor/plugins/pages/config/locales/nl.yml +54 -0
  618. data/vendor/plugins/pages/config/locales/pt-BR.yml +61 -0
  619. data/vendor/plugins/pages/config/locales/sl.yml +96 -0
  620. data/vendor/plugins/pages/config/routes.rb +2 -2
  621. data/vendor/plugins/pages/rails/init.rb +5 -1
  622. data/vendor/plugins/pages/readme.md +156 -0
  623. data/vendor/plugins/refinery/app/controllers/admin/refinery_core_controller.rb +4 -2
  624. data/vendor/plugins/refinery/app/controllers/refinery/fast_controller.rb +7 -0
  625. data/vendor/plugins/refinery/app/views/admin/_head.html.erb +42 -9
  626. data/vendor/plugins/refinery/app/views/admin/_menu.html.erb +14 -15
  627. data/vendor/plugins/refinery/app/views/admin/_menu_tab.html.erb +4 -0
  628. data/vendor/plugins/refinery/app/views/layouts/admin.html.erb +10 -5
  629. data/vendor/plugins/refinery/app/views/layouts/application.html.erb +3 -3
  630. data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +28 -29
  631. data/vendor/plugins/refinery/app/views/shared/_draft_page_message.html.erb +3 -0
  632. data/vendor/plugins/refinery/app/views/shared/_google_analytics.html.erb +2 -1
  633. data/vendor/plugins/refinery/app/views/shared/_head.html.erb +1 -0
  634. data/vendor/plugins/refinery/app/views/shared/_header.html.erb +1 -1
  635. data/vendor/plugins/refinery/app/views/shared/_ie6check.html.erb +44 -4
  636. data/vendor/plugins/refinery/app/views/shared/_language_switcher.html.erb +5 -0
  637. data/vendor/plugins/refinery/app/views/shared/_menu.html.erb +17 -8
  638. data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +19 -21
  639. data/vendor/plugins/refinery/app/views/shared/_message.html.erb +6 -1
  640. data/vendor/plugins/refinery/app/views/shared/_site_bar.html.erb +38 -15
  641. data/vendor/plugins/refinery/app/views/shared/admin/_continue_editing.html.erb +1 -2
  642. data/vendor/plugins/refinery/app/views/shared/admin/_form_actions.html.erb +58 -14
  643. data/vendor/plugins/refinery/app/views/shared/admin/_image_picker.html.erb +7 -6
  644. data/vendor/plugins/refinery/app/views/shared/admin/_make_sortable.html.erb +10 -9
  645. data/vendor/plugins/refinery/app/views/shared/admin/_resource_picker.html.erb +7 -4
  646. data/vendor/plugins/refinery/app/views/shared/admin/_search.html.erb +3 -4
  647. data/vendor/plugins/refinery/app/views/shared/admin/_sortable_list.html.erb +1 -1
  648. data/vendor/plugins/refinery/app/views/welcome.html.erb +5 -7
  649. data/vendor/plugins/refinery/app/views/wymiframe.html.erb +13 -5
  650. data/vendor/plugins/refinery/config/locales/da.yml +71 -0
  651. data/vendor/plugins/refinery/config/locales/de.yml +67 -0
  652. data/vendor/plugins/refinery/config/locales/en.yml +59 -0
  653. data/vendor/plugins/refinery/config/locales/es.yml +64 -0
  654. data/vendor/plugins/refinery/config/locales/fr.yml +67 -0
  655. data/vendor/plugins/refinery/config/locales/it.yml +68 -0
  656. data/vendor/plugins/refinery/config/locales/nb.yml +64 -0
  657. data/vendor/plugins/refinery/config/locales/nl.yml +63 -0
  658. data/vendor/plugins/refinery/config/locales/pt-BR.yml +60 -0
  659. data/vendor/plugins/refinery/config/locales/sl.yml +61 -0
  660. data/vendor/plugins/refinery/config/routes.rb +4 -4
  661. data/vendor/plugins/refinery/crud.md +2 -2
  662. data/vendor/plugins/refinery/lib/crud.rb +34 -25
  663. data/vendor/plugins/refinery/lib/generators/refinery/refinery_generator.rb +9 -2
  664. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/en.yml +16 -0
  665. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/nl.yml +16 -0
  666. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/routes.rb +2 -2
  667. data/vendor/plugins/refinery/lib/generators/refinery/templates/migration.rb +1 -14
  668. data/vendor/plugins/refinery/lib/generators/refinery/templates/model.rb +1 -2
  669. data/vendor/plugins/refinery/lib/generators/refinery/templates/rails/init.rb +3 -0
  670. data/vendor/plugins/refinery/lib/generators/refinery/templates/seed.rb +15 -0
  671. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_form.html.erb +2 -2
  672. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_singular_name.html.erb +10 -11
  673. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/index.html.erb +5 -6
  674. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/show.html.erb +1 -1
  675. data/vendor/plugins/refinery/lib/refinery.rb +22 -1
  676. data/vendor/plugins/refinery/lib/refinery/activity.rb +1 -1
  677. data/vendor/plugins/refinery/lib/refinery/admin_base_controller.rb +56 -10
  678. data/vendor/plugins/refinery/lib/refinery/application_controller.rb +39 -14
  679. data/vendor/plugins/refinery/lib/refinery/application_helper.rb +62 -12
  680. data/vendor/plugins/refinery/lib/refinery/base_presenter.rb +1 -1
  681. data/vendor/plugins/refinery/lib/refinery/form_helpers.rb +37 -2
  682. data/vendor/plugins/refinery/lib/refinery/html_truncation_helper.rb +10 -100
  683. data/vendor/plugins/refinery/lib/refinery/initializer.rb +15 -1
  684. data/vendor/plugins/refinery/lib/refinery/plugin.rb +26 -14
  685. data/vendor/plugins/refinery/lib/refinery/plugins.rb +21 -8
  686. data/vendor/plugins/refinery/lib/tasks/doc.rake +24 -24
  687. data/vendor/plugins/refinery/lib/tasks/refinery.rake +232 -9
  688. data/vendor/plugins/refinery/lib/tasks/yard.rake +22 -22
  689. data/vendor/plugins/refinery/plugins.md +6 -6
  690. data/vendor/plugins/refinery/rails/init.rb +8 -1
  691. data/vendor/plugins/refinery_dialogs/app/controllers/admin/dialogs_controller.rb +4 -0
  692. data/vendor/plugins/refinery_dialogs/app/views/admin/dialogs/show.html.erb +11 -12
  693. data/vendor/plugins/refinery_dialogs/app/views/layouts/admin_dialog.html.erb +4 -2
  694. data/vendor/plugins/refinery_dialogs/config/routes.rb +1 -1
  695. data/vendor/plugins/refinery_dialogs/rails/init.rb +4 -0
  696. data/vendor/plugins/refinery_settings/app/controllers/admin/refinery_settings_controller.rb +39 -0
  697. data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +67 -10
  698. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_form.html.erb +30 -6
  699. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_refinery_setting.html.erb +10 -11
  700. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/edit.html.erb +0 -3
  701. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/index.html.erb +13 -4
  702. data/vendor/plugins/refinery_settings/config/locales/da.yml +49 -0
  703. data/vendor/plugins/refinery_settings/config/locales/de.yml +23 -0
  704. data/vendor/plugins/refinery_settings/config/locales/en.yml +45 -0
  705. data/vendor/plugins/refinery_settings/config/locales/es.yml +23 -0
  706. data/vendor/plugins/refinery_settings/config/locales/fr.yml +23 -0
  707. data/vendor/plugins/refinery_settings/config/locales/it.yml +23 -0
  708. data/vendor/plugins/refinery_settings/config/locales/nb.yml +23 -0
  709. data/vendor/plugins/refinery_settings/config/locales/nl.yml +46 -0
  710. data/vendor/plugins/refinery_settings/config/locales/pt-BR.yml +23 -0
  711. data/vendor/plugins/refinery_settings/config/locales/sl.yml +24 -0
  712. data/vendor/plugins/refinery_settings/config/routes.rb +1 -1
  713. data/vendor/plugins/refinery_settings/rails/init.rb +5 -8
  714. data/vendor/plugins/refinery_settings/{settings.md → readme.md} +0 -0
  715. data/vendor/plugins/resources/app/controllers/admin/resources_controller.rb +2 -7
  716. data/vendor/plugins/resources/app/models/resource.rb +8 -3
  717. data/vendor/plugins/resources/app/views/admin/resources/_existing_resource.html.erb +34 -0
  718. data/vendor/plugins/resources/app/views/admin/resources/_form.html.erb +15 -7
  719. data/vendor/plugins/resources/app/views/admin/resources/_resource.html.erb +12 -12
  720. data/vendor/plugins/resources/app/views/admin/resources/index.html.erb +8 -6
  721. data/vendor/plugins/resources/app/views/admin/resources/insert.html.erb +4 -40
  722. data/vendor/plugins/resources/config/locales/da.yml +34 -0
  723. data/vendor/plugins/resources/config/locales/de.yml +32 -0
  724. data/vendor/plugins/resources/config/locales/en.yml +32 -0
  725. data/vendor/plugins/resources/config/locales/es.yml +34 -0
  726. data/vendor/plugins/resources/config/locales/fr.yml +34 -0
  727. data/vendor/plugins/resources/config/locales/it.yml +33 -0
  728. data/vendor/plugins/resources/config/locales/nb.yml +34 -0
  729. data/vendor/plugins/resources/config/locales/nl.yml +34 -0
  730. data/vendor/plugins/resources/config/locales/pt-BR.yml +34 -0
  731. data/vendor/plugins/resources/config/locales/sl.yml +34 -0
  732. data/vendor/plugins/resources/config/routes.rb +1 -3
  733. data/vendor/plugins/resources/rails/init.rb +5 -1
  734. data/vendor/plugins/resources/{resources.md → readme.md} +0 -0
  735. data/vendor/plugins/themes/lib/theme_server.rb +1 -1
  736. data/vendor/plugins/themes/rails/init.rb +4 -1
  737. data/vendor/plugins/themes/readme.md +113 -0
  738. data/vendor/plugins/{rails_indexes → translate}/MIT-LICENSE +0 -0
  739. data/vendor/plugins/translate/README +61 -0
  740. data/vendor/plugins/translate/REFINERY_README +8 -0
  741. data/vendor/plugins/translate/Rakefile +11 -0
  742. data/vendor/plugins/translate/init.rb +8 -0
  743. data/vendor/plugins/translate/lib/translate.rb +13 -0
  744. data/vendor/plugins/translate/lib/translate/file.rb +35 -0
  745. data/vendor/plugins/translate/lib/translate/keys.rb +123 -0
  746. data/vendor/plugins/translate/lib/translate/log.rb +39 -0
  747. data/vendor/plugins/translate/lib/translate/storage.rb +20 -0
  748. data/vendor/plugins/translate/tasks/translate.rake +182 -0
  749. metadata +574 -366
  750. data/.gems +0 -0
  751. data/VERSION +0 -1
  752. data/bin/refinery-override +0 -76
  753. data/public/images/thickbox/cross.png +0 -0
  754. data/public/images/thickbox/loadingAnimation.gif +0 -0
  755. data/public/images/thickbox/macFFBgHack.png +0 -0
  756. data/public/javascripts/jquery-ui-1.8.min.js +0 -374
  757. data/vendor/plugins/acts_as_indexed/CHANGELOG +0 -78
  758. data/vendor/plugins/acts_as_indexed/MIT-LICENSE +0 -20
  759. data/vendor/plugins/acts_as_indexed/README.rdoc +0 -114
  760. data/vendor/plugins/acts_as_indexed/Rakefile +0 -35
  761. data/vendor/plugins/acts_as_indexed/init.rb +0 -2
  762. data/vendor/plugins/acts_as_indexed/lib/acts_as_indexed.rb +0 -224
  763. data/vendor/plugins/acts_as_indexed/lib/search_atom.rb +0 -109
  764. data/vendor/plugins/acts_as_indexed/lib/search_index.rb +0 -329
  765. data/vendor/plugins/acts_as_indexed/lib/will_paginate_search.rb +0 -29
  766. data/vendor/plugins/acts_as_indexed/test/abstract_unit.rb +0 -47
  767. data/vendor/plugins/acts_as_indexed/test/acts_as_indexed_test.rb +0 -102
  768. data/vendor/plugins/acts_as_indexed/test/database.yml +0 -10
  769. data/vendor/plugins/acts_as_indexed/test/fixtures/post.rb +0 -5
  770. data/vendor/plugins/acts_as_indexed/test/fixtures/posts.yml +0 -31
  771. data/vendor/plugins/acts_as_indexed/test/schema.rb +0 -6
  772. data/vendor/plugins/authlogic/CHANGELOG.rdoc +0 -345
  773. data/vendor/plugins/authlogic/LICENSE +0 -20
  774. data/vendor/plugins/authlogic/README.rdoc +0 -246
  775. data/vendor/plugins/authlogic/Rakefile +0 -42
  776. data/vendor/plugins/authlogic/VERSION.yml +0 -5
  777. data/vendor/plugins/authlogic/authlogic.gemspec +0 -217
  778. data/vendor/plugins/authlogic/generators/session/session_generator.rb +0 -9
  779. data/vendor/plugins/authlogic/generators/session/templates/session.rb +0 -2
  780. data/vendor/plugins/authlogic/init.rb +0 -1
  781. data/vendor/plugins/authlogic/lib/authlogic.rb +0 -64
  782. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/base.rb +0 -107
  783. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/email.rb +0 -110
  784. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/logged_in_status.rb +0 -60
  785. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/login.rb +0 -141
  786. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/magic_columns.rb +0 -24
  787. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/password.rb +0 -355
  788. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/perishable_token.rb +0 -105
  789. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/persistence_token.rb +0 -68
  790. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/restful_authentication.rb +0 -61
  791. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/session_maintenance.rb +0 -139
  792. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/single_access_token.rb +0 -65
  793. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/validations_scope.rb +0 -32
  794. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/association.rb +0 -42
  795. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/base.rb +0 -55
  796. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/abstract_adapter.rb +0 -67
  797. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/merb_adapter.rb +0 -30
  798. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/rails_adapter.rb +0 -48
  799. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/sinatra_adapter.rb +0 -61
  800. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/aes256.rb +0 -43
  801. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/bcrypt.rb +0 -90
  802. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/md5.rb +0 -34
  803. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha1.rb +0 -35
  804. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha256.rb +0 -50
  805. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha512.rb +0 -50
  806. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/wordpress.rb +0 -43
  807. data/vendor/plugins/authlogic/lib/authlogic/i18n.rb +0 -83
  808. data/vendor/plugins/authlogic/lib/authlogic/i18n/translator.rb +0 -15
  809. data/vendor/plugins/authlogic/lib/authlogic/random.rb +0 -33
  810. data/vendor/plugins/authlogic/lib/authlogic/regex.rb +0 -25
  811. data/vendor/plugins/authlogic/lib/authlogic/session/activation.rb +0 -58
  812. data/vendor/plugins/authlogic/lib/authlogic/session/active_record_trickery.rb +0 -64
  813. data/vendor/plugins/authlogic/lib/authlogic/session/base.rb +0 -37
  814. data/vendor/plugins/authlogic/lib/authlogic/session/brute_force_protection.rb +0 -96
  815. data/vendor/plugins/authlogic/lib/authlogic/session/callbacks.rb +0 -99
  816. data/vendor/plugins/authlogic/lib/authlogic/session/cookies.rb +0 -130
  817. data/vendor/plugins/authlogic/lib/authlogic/session/existence.rb +0 -93
  818. data/vendor/plugins/authlogic/lib/authlogic/session/foundation.rb +0 -63
  819. data/vendor/plugins/authlogic/lib/authlogic/session/http_auth.rb +0 -58
  820. data/vendor/plugins/authlogic/lib/authlogic/session/id.rb +0 -41
  821. data/vendor/plugins/authlogic/lib/authlogic/session/klass.rb +0 -78
  822. data/vendor/plugins/authlogic/lib/authlogic/session/magic_columns.rb +0 -95
  823. data/vendor/plugins/authlogic/lib/authlogic/session/magic_states.rb +0 -59
  824. data/vendor/plugins/authlogic/lib/authlogic/session/params.rb +0 -101
  825. data/vendor/plugins/authlogic/lib/authlogic/session/password.rb +0 -240
  826. data/vendor/plugins/authlogic/lib/authlogic/session/perishable_token.rb +0 -18
  827. data/vendor/plugins/authlogic/lib/authlogic/session/persistence.rb +0 -70
  828. data/vendor/plugins/authlogic/lib/authlogic/session/priority_record.rb +0 -34
  829. data/vendor/plugins/authlogic/lib/authlogic/session/scopes.rb +0 -101
  830. data/vendor/plugins/authlogic/lib/authlogic/session/session.rb +0 -62
  831. data/vendor/plugins/authlogic/lib/authlogic/session/timeout.rb +0 -82
  832. data/vendor/plugins/authlogic/lib/authlogic/session/unauthorized_record.rb +0 -50
  833. data/vendor/plugins/authlogic/lib/authlogic/session/validation.rb +0 -82
  834. data/vendor/plugins/authlogic/lib/authlogic/test_case.rb +0 -120
  835. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_controller.rb +0 -45
  836. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_cookie_jar.rb +0 -14
  837. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_logger.rb +0 -10
  838. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_request.rb +0 -19
  839. data/vendor/plugins/authlogic/lib/authlogic/test_case/rails_request_adapter.rb +0 -30
  840. data/vendor/plugins/authlogic/rails/init.rb +0 -1
  841. data/vendor/plugins/authlogic/shoulda_macros/authlogic.rb +0 -69
  842. data/vendor/plugins/authlogic/test/acts_as_authentic_test/base_test.rb +0 -18
  843. data/vendor/plugins/authlogic/test/acts_as_authentic_test/email_test.rb +0 -97
  844. data/vendor/plugins/authlogic/test/acts_as_authentic_test/logged_in_status_test.rb +0 -36
  845. data/vendor/plugins/authlogic/test/acts_as_authentic_test/login_test.rb +0 -109
  846. data/vendor/plugins/authlogic/test/acts_as_authentic_test/magic_columns_test.rb +0 -27
  847. data/vendor/plugins/authlogic/test/acts_as_authentic_test/password_test.rb +0 -236
  848. data/vendor/plugins/authlogic/test/acts_as_authentic_test/perishable_token_test.rb +0 -90
  849. data/vendor/plugins/authlogic/test/acts_as_authentic_test/persistence_token_test.rb +0 -55
  850. data/vendor/plugins/authlogic/test/acts_as_authentic_test/restful_authentication_test.rb +0 -40
  851. data/vendor/plugins/authlogic/test/acts_as_authentic_test/session_maintenance_test.rb +0 -84
  852. data/vendor/plugins/authlogic/test/acts_as_authentic_test/single_access_test.rb +0 -44
  853. data/vendor/plugins/authlogic/test/authenticates_many_test.rb +0 -16
  854. data/vendor/plugins/authlogic/test/crypto_provider_test/aes256_test.rb +0 -14
  855. data/vendor/plugins/authlogic/test/crypto_provider_test/bcrypt_test.rb +0 -14
  856. data/vendor/plugins/authlogic/test/crypto_provider_test/sha1_test.rb +0 -23
  857. data/vendor/plugins/authlogic/test/crypto_provider_test/sha256_test.rb +0 -14
  858. data/vendor/plugins/authlogic/test/crypto_provider_test/sha512_test.rb +0 -14
  859. data/vendor/plugins/authlogic/test/fixtures/companies.yml +0 -5
  860. data/vendor/plugins/authlogic/test/fixtures/employees.yml +0 -17
  861. data/vendor/plugins/authlogic/test/fixtures/projects.yml +0 -3
  862. data/vendor/plugins/authlogic/test/fixtures/users.yml +0 -24
  863. data/vendor/plugins/authlogic/test/i18n_test.rb +0 -33
  864. data/vendor/plugins/authlogic/test/libs/affiliate.rb +0 -7
  865. data/vendor/plugins/authlogic/test/libs/company.rb +0 -6
  866. data/vendor/plugins/authlogic/test/libs/employee.rb +0 -7
  867. data/vendor/plugins/authlogic/test/libs/employee_session.rb +0 -2
  868. data/vendor/plugins/authlogic/test/libs/ldaper.rb +0 -3
  869. data/vendor/plugins/authlogic/test/libs/ordered_hash.rb +0 -9
  870. data/vendor/plugins/authlogic/test/libs/project.rb +0 -3
  871. data/vendor/plugins/authlogic/test/libs/user.rb +0 -5
  872. data/vendor/plugins/authlogic/test/libs/user_session.rb +0 -6
  873. data/vendor/plugins/authlogic/test/random_test.rb +0 -49
  874. data/vendor/plugins/authlogic/test/session_test/activation_test.rb +0 -43
  875. data/vendor/plugins/authlogic/test/session_test/active_record_trickery_test.rb +0 -36
  876. data/vendor/plugins/authlogic/test/session_test/brute_force_protection_test.rb +0 -101
  877. data/vendor/plugins/authlogic/test/session_test/callbacks_test.rb +0 -6
  878. data/vendor/plugins/authlogic/test/session_test/cookies_test.rb +0 -112
  879. data/vendor/plugins/authlogic/test/session_test/credentials_test.rb +0 -0
  880. data/vendor/plugins/authlogic/test/session_test/existence_test.rb +0 -64
  881. data/vendor/plugins/authlogic/test/session_test/http_auth_test.rb +0 -28
  882. data/vendor/plugins/authlogic/test/session_test/id_test.rb +0 -17
  883. data/vendor/plugins/authlogic/test/session_test/klass_test.rb +0 -40
  884. data/vendor/plugins/authlogic/test/session_test/magic_columns_test.rb +0 -62
  885. data/vendor/plugins/authlogic/test/session_test/magic_states_test.rb +0 -60
  886. data/vendor/plugins/authlogic/test/session_test/params_test.rb +0 -53
  887. data/vendor/plugins/authlogic/test/session_test/password_test.rb +0 -106
  888. data/vendor/plugins/authlogic/test/session_test/perishability_test.rb +0 -15
  889. data/vendor/plugins/authlogic/test/session_test/persistence_test.rb +0 -21
  890. data/vendor/plugins/authlogic/test/session_test/scopes_test.rb +0 -60
  891. data/vendor/plugins/authlogic/test/session_test/session_test.rb +0 -59
  892. data/vendor/plugins/authlogic/test/session_test/timeout_test.rb +0 -52
  893. data/vendor/plugins/authlogic/test/session_test/unauthorized_record_test.rb +0 -13
  894. data/vendor/plugins/authlogic/test/session_test/validation_test.rb +0 -23
  895. data/vendor/plugins/authlogic/test/test_helper.rb +0 -182
  896. data/vendor/plugins/friendly_id/Changelog.md +0 -243
  897. data/vendor/plugins/friendly_id/Contributors.md +0 -30
  898. data/vendor/plugins/friendly_id/Gemfile +0 -2
  899. data/vendor/plugins/friendly_id/Guide.md +0 -509
  900. data/vendor/plugins/friendly_id/LICENSE +0 -19
  901. data/vendor/plugins/friendly_id/README.md +0 -76
  902. data/vendor/plugins/friendly_id/Rakefile +0 -68
  903. data/vendor/plugins/friendly_id/extras/README.txt +0 -3
  904. data/vendor/plugins/friendly_id/extras/bench.rb +0 -59
  905. data/vendor/plugins/friendly_id/extras/extras.rb +0 -31
  906. data/vendor/plugins/friendly_id/extras/prof.rb +0 -14
  907. data/vendor/plugins/friendly_id/extras/template-gem.rb +0 -26
  908. data/vendor/plugins/friendly_id/extras/template-plugin.rb +0 -28
  909. data/vendor/plugins/friendly_id/friendly_id.gemspec +0 -40
  910. data/vendor/plugins/friendly_id/generators/friendly_id/friendly_id_generator.rb +0 -28
  911. data/vendor/plugins/friendly_id/generators/friendly_id/templates/create_slugs.rb +0 -18
  912. data/vendor/plugins/friendly_id/lib/friendly_id.rb +0 -67
  913. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2.rb +0 -47
  914. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/configuration.rb +0 -66
  915. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/finders.rb +0 -140
  916. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/simple_model.rb +0 -162
  917. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slug.rb +0 -111
  918. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slugged_model.rb +0 -323
  919. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks.rb +0 -66
  920. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks/friendly_id.rake +0 -19
  921. data/vendor/plugins/friendly_id/lib/friendly_id/configuration.rb +0 -132
  922. data/vendor/plugins/friendly_id/lib/friendly_id/finders.rb +0 -106
  923. data/vendor/plugins/friendly_id/lib/friendly_id/slug_string.rb +0 -292
  924. data/vendor/plugins/friendly_id/lib/friendly_id/slugged.rb +0 -91
  925. data/vendor/plugins/friendly_id/lib/friendly_id/status.rb +0 -35
  926. data/vendor/plugins/friendly_id/lib/friendly_id/test.rb +0 -175
  927. data/vendor/plugins/friendly_id/lib/friendly_id/version.rb +0 -8
  928. data/vendor/plugins/friendly_id/rails/init.rb +0 -2
  929. data/vendor/plugins/friendly_id/test/active_record2/basic_slugged_model_test.rb +0 -14
  930. data/vendor/plugins/friendly_id/test/active_record2/cached_slug_test.rb +0 -61
  931. data/vendor/plugins/friendly_id/test/active_record2/core.rb +0 -93
  932. data/vendor/plugins/friendly_id/test/active_record2/custom_normalizer_test.rb +0 -20
  933. data/vendor/plugins/friendly_id/test/active_record2/custom_table_name_test.rb +0 -22
  934. data/vendor/plugins/friendly_id/test/active_record2/deprecated_test.rb +0 -23
  935. data/vendor/plugins/friendly_id/test/active_record2/scoped_model_test.rb +0 -111
  936. data/vendor/plugins/friendly_id/test/active_record2/simple_test.rb +0 -59
  937. data/vendor/plugins/friendly_id/test/active_record2/slug_test.rb +0 -34
  938. data/vendor/plugins/friendly_id/test/active_record2/slugged.rb +0 -30
  939. data/vendor/plugins/friendly_id/test/active_record2/slugged_status_test.rb +0 -61
  940. data/vendor/plugins/friendly_id/test/active_record2/sti_test.rb +0 -22
  941. data/vendor/plugins/friendly_id/test/active_record2/support/database.mysql.yml +0 -4
  942. data/vendor/plugins/friendly_id/test/active_record2/support/database.postgres.yml +0 -6
  943. data/vendor/plugins/friendly_id/test/active_record2/support/database.sqlite3.yml +0 -2
  944. data/vendor/plugins/friendly_id/test/active_record2/support/models.rb +0 -78
  945. data/vendor/plugins/friendly_id/test/active_record2/tasks_test.rb +0 -82
  946. data/vendor/plugins/friendly_id/test/active_record2/test_helper.rb +0 -114
  947. data/vendor/plugins/friendly_id/test/friendly_id_test.rb +0 -60
  948. data/vendor/plugins/friendly_id/test/slug_string_test.rb +0 -78
  949. data/vendor/plugins/friendly_id/test/test_helper.rb +0 -9
  950. data/vendor/plugins/hpricot/CHANGELOG +0 -88
  951. data/vendor/plugins/hpricot/COPYING +0 -18
  952. data/vendor/plugins/hpricot/README +0 -275
  953. data/vendor/plugins/hpricot/Rakefile +0 -272
  954. data/vendor/plugins/hpricot/ext/fast_xs/FastXsService.java +0 -1030
  955. data/vendor/plugins/hpricot/ext/fast_xs/extconf.rb +0 -4
  956. data/vendor/plugins/hpricot/ext/fast_xs/fast_xs.c +0 -201
  957. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotCss.java +0 -831
  958. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotScanService.java +0 -2086
  959. data/vendor/plugins/hpricot/ext/hpricot_scan/MANIFEST +0 -0
  960. data/vendor/plugins/hpricot/ext/hpricot_scan/extconf.rb +0 -6
  961. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_common.rl +0 -76
  962. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.c +0 -3503
  963. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.java.rl +0 -155
  964. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.rl +0 -115
  965. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.c +0 -6927
  966. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.h +0 -79
  967. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.java.rl +0 -1152
  968. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.rl +0 -788
  969. data/vendor/plugins/hpricot/extras/mingw-rbconfig.rb +0 -176
  970. data/vendor/plugins/hpricot/hpricot.gemspec +0 -17
  971. data/vendor/plugins/hpricot/lib/hpricot.rb +0 -26
  972. data/vendor/plugins/hpricot/lib/hpricot/blankslate.rb +0 -63
  973. data/vendor/plugins/hpricot/lib/hpricot/builder.rb +0 -216
  974. data/vendor/plugins/hpricot/lib/hpricot/elements.rb +0 -510
  975. data/vendor/plugins/hpricot/lib/hpricot/htmlinfo.rb +0 -691
  976. data/vendor/plugins/hpricot/lib/hpricot/inspect.rb +0 -103
  977. data/vendor/plugins/hpricot/lib/hpricot/modules.rb +0 -40
  978. data/vendor/plugins/hpricot/lib/hpricot/parse.rb +0 -38
  979. data/vendor/plugins/hpricot/lib/hpricot/tag.rb +0 -219
  980. data/vendor/plugins/hpricot/lib/hpricot/tags.rb +0 -164
  981. data/vendor/plugins/hpricot/lib/hpricot/traverse.rb +0 -839
  982. data/vendor/plugins/hpricot/lib/hpricot/xchar.rb +0 -94
  983. data/vendor/plugins/hpricot/setup.rb +0 -1585
  984. data/vendor/plugins/hpricot/test/files/basic.xhtml +0 -17
  985. data/vendor/plugins/hpricot/test/files/boingboing.html +0 -2266
  986. data/vendor/plugins/hpricot/test/files/cy0.html +0 -3653
  987. data/vendor/plugins/hpricot/test/files/immob.html +0 -400
  988. data/vendor/plugins/hpricot/test/files/pace_application.html +0 -1320
  989. data/vendor/plugins/hpricot/test/files/tenderlove.html +0 -16
  990. data/vendor/plugins/hpricot/test/files/uswebgen.html +0 -220
  991. data/vendor/plugins/hpricot/test/files/utf8.html +0 -1054
  992. data/vendor/plugins/hpricot/test/files/week9.html +0 -1723
  993. data/vendor/plugins/hpricot/test/files/why.xml +0 -19
  994. data/vendor/plugins/hpricot/test/load_files.rb +0 -7
  995. data/vendor/plugins/hpricot/test/nokogiri-bench.rb +0 -64
  996. data/vendor/plugins/hpricot/test/test_alter.rb +0 -96
  997. data/vendor/plugins/hpricot/test/test_builder.rb +0 -37
  998. data/vendor/plugins/hpricot/test/test_parser.rb +0 -428
  999. data/vendor/plugins/hpricot/test/test_paths.rb +0 -25
  1000. data/vendor/plugins/hpricot/test/test_preserved.rb +0 -88
  1001. data/vendor/plugins/hpricot/test/test_xml.rb +0 -28
  1002. data/vendor/plugins/images/images.md +0 -53
  1003. data/vendor/plugins/inquiries/inquiries.md +0 -31
  1004. data/vendor/plugins/pages/pages.md +0 -146
  1005. data/vendor/plugins/rails_indexes/README.textile +0 -46
  1006. data/vendor/plugins/rails_indexes/Rakefile +0 -23
  1007. data/vendor/plugins/rails_indexes/lib/indexer.rb +0 -303
  1008. data/vendor/plugins/rails_indexes/tasks/indexer.rake +0 -18
  1009. data/vendor/plugins/rails_indexes/test/fixtures/app/controllers/users_controller.rb +0 -8
  1010. data/vendor/plugins/rails_indexes/test/fixtures/app/models/address.rb +0 -5
  1011. data/vendor/plugins/rails_indexes/test/fixtures/app/models/company.rb +0 -11
  1012. data/vendor/plugins/rails_indexes/test/fixtures/app/models/country.rb +0 -4
  1013. data/vendor/plugins/rails_indexes/test/fixtures/app/models/freelancer.rb +0 -3
  1014. data/vendor/plugins/rails_indexes/test/fixtures/app/models/gift.rb +0 -10
  1015. data/vendor/plugins/rails_indexes/test/fixtures/app/models/god.rb +0 -3
  1016. data/vendor/plugins/rails_indexes/test/fixtures/app/models/user.rb +0 -17
  1017. data/vendor/plugins/rails_indexes/test/fixtures/app/sweepers/user_sweeper.rb +0 -9
  1018. data/vendor/plugins/rails_indexes/test/fixtures/schema.rb +0 -46
  1019. data/vendor/plugins/rails_indexes/test/rails_indexes_test.rb +0 -83
  1020. data/vendor/plugins/rails_indexes/test/test_helper.rb +0 -30
  1021. data/vendor/plugins/refinery/app/views/admin/_footer.html.erb +0 -7
  1022. data/vendor/plugins/refinery/app/views/shared/_submenu.html.erb +0 -5
  1023. data/vendor/plugins/refinery/app/views/shared/_submenu_branch.html.erb +0 -10
  1024. data/vendor/plugins/themes/themes.md +0 -113
  1025. data/vendor/plugins/will_paginate/.manifest +0 -43
  1026. data/vendor/plugins/will_paginate/CHANGELOG.rdoc +0 -139
  1027. data/vendor/plugins/will_paginate/LICENSE +0 -18
  1028. data/vendor/plugins/will_paginate/README.rdoc +0 -107
  1029. data/vendor/plugins/will_paginate/Rakefile +0 -53
  1030. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  1031. data/vendor/plugins/will_paginate/examples/index.haml +0 -69
  1032. data/vendor/plugins/will_paginate/examples/index.html +0 -92
  1033. data/vendor/plugins/will_paginate/examples/pagination.css +0 -90
  1034. data/vendor/plugins/will_paginate/examples/pagination.sass +0 -91
  1035. data/vendor/plugins/will_paginate/init.rb +0 -1
  1036. data/vendor/plugins/will_paginate/lib/will_paginate.rb +0 -90
  1037. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +0 -16
  1038. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +0 -146
  1039. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +0 -43
  1040. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +0 -264
  1041. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +0 -170
  1042. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +0 -37
  1043. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +0 -9
  1044. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +0 -408
  1045. data/vendor/plugins/will_paginate/test/boot.rb +0 -21
  1046. data/vendor/plugins/will_paginate/test/collection_test.rb +0 -143
  1047. data/vendor/plugins/will_paginate/test/console +0 -8
  1048. data/vendor/plugins/will_paginate/test/database.yml +0 -22
  1049. data/vendor/plugins/will_paginate/test/finder_test.rb +0 -473
  1050. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +0 -3
  1051. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +0 -14
  1052. data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +0 -13
  1053. data/vendor/plugins/will_paginate/test/fixtures/project.rb +0 -15
  1054. data/vendor/plugins/will_paginate/test/fixtures/projects.yml +0 -6
  1055. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +0 -29
  1056. data/vendor/plugins/will_paginate/test/fixtures/reply.rb +0 -7
  1057. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +0 -38
  1058. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +0 -10
  1059. data/vendor/plugins/will_paginate/test/fixtures/topics.yml +0 -30
  1060. data/vendor/plugins/will_paginate/test/fixtures/user.rb +0 -2
  1061. data/vendor/plugins/will_paginate/test/fixtures/users.yml +0 -35
  1062. data/vendor/plugins/will_paginate/test/helper.rb +0 -37
  1063. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +0 -43
  1064. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +0 -75
  1065. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +0 -11
  1066. data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +0 -179
  1067. data/vendor/plugins/will_paginate/test/tasks.rake +0 -59
  1068. data/vendor/plugins/will_paginate/test/view_test.rb +0 -373
  1069. data/vendor/plugins/will_paginate/will_paginate.gemspec +0 -19
@@ -1,79 +0,0 @@
1
- /*
2
- * hpricot_scan.h
3
- *
4
- * $Author: why $
5
- * $Date: 2006-05-08 22:03:50 -0600 (Mon, 08 May 2006) $
6
- *
7
- * Copyright (C) 2006 why the lucky stiff
8
- * You can redistribute it and/or modify it under the same terms as Ruby.
9
- */
10
-
11
- #ifndef hpricot_scan_h
12
- #define hpricot_scan_h
13
-
14
- #include <sys/types.h>
15
-
16
- #if defined(_WIN32)
17
- #include <stddef.h>
18
- #endif
19
-
20
- /*
21
- * Memory Allocation
22
- */
23
- #if defined(HAVE_ALLOCA_H) && !defined(__GNUC__)
24
- #include <alloca.h>
25
- #endif
26
-
27
- #ifndef NULL
28
- # define NULL (void *)0
29
- #endif
30
-
31
- #define BUFSIZE 16384
32
-
33
- #define S_ALLOC_N(type,n) (type*)malloc(sizeof(type)*(n))
34
- #define S_ALLOC(type) (type*)malloc(sizeof(type))
35
- #define S_REALLOC_N(var,type,n) (var)=(type*)realloc((char*)(var),sizeof(type)*(n))
36
- #define S_FREE(n) free(n); n = NULL;
37
-
38
- #define S_ALLOCA_N(type,n) (type*)alloca(sizeof(type)*(n))
39
-
40
- #define S_MEMZERO(p,type,n) memset((p), 0, sizeof(type)*(n))
41
- #define S_MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(n))
42
- #define S_MEMMOVE(p1,p2,type,n) memmove((p1), (p2), sizeof(type)*(n))
43
- #define S_MEMCMP(p1,p2,type,n) memcmp((p1), (p2), sizeof(type)*(n))
44
-
45
- typedef struct {
46
- void *name;
47
- void *attributes;
48
- } hpricot_element;
49
-
50
- typedef void (*hpricot_element_cb)(void *data, hpricot_element *token);
51
-
52
- typedef struct hpricot_scan {
53
- int lineno;
54
- int cs;
55
- size_t nread;
56
- size_t mark;
57
-
58
- void *data;
59
-
60
- hpricot_element_cb xmldecl;
61
- hpricot_element_cb doctype;
62
- hpricot_element_cb xmlprocins;
63
- hpricot_element_cb starttag;
64
- hpricot_element_cb endtag;
65
- hpricot_element_cb emptytag;
66
- hpricot_element_cb comment;
67
- hpricot_element_cb cdata;
68
-
69
- } http_scan;
70
-
71
- // int hpricot_scan_init(hpricot_scan *scan);
72
- // int hpricot_scan_finish(hpricot_scan *scan);
73
- // size_t hpricot_scan_execute(hpricot_scan *scan, const char *data, size_t len, size_t off);
74
- // int hpricot_scan_has_error(hpricot_scan *scan);
75
- // int hpricot_scan_is_finished(hpricot_scan *scan);
76
- //
77
- // #define hpricot_scan_nread(scan) (scan)->nread
78
-
79
- #endif
@@ -1,1152 +0,0 @@
1
-
2
- import java.io.IOException;
3
-
4
- import org.jruby.Ruby;
5
- import org.jruby.RubyArray;
6
- import org.jruby.RubyClass;
7
- import org.jruby.RubyHash;
8
- import org.jruby.RubyModule;
9
- import org.jruby.RubyNumeric;
10
- import org.jruby.RubyObject;
11
- import org.jruby.RubyObjectAdapter;
12
- import org.jruby.RubyRegexp;
13
- import org.jruby.RubyString;
14
- import org.jruby.anno.JRubyMethod;
15
- import org.jruby.exceptions.RaiseException;
16
- import org.jruby.javasupport.JavaEmbedUtils;
17
- import org.jruby.runtime.Arity;
18
- import org.jruby.runtime.Block;
19
- import org.jruby.runtime.ObjectAllocator;
20
- import org.jruby.runtime.ThreadContext;
21
- import org.jruby.runtime.builtin.IRubyObject;
22
- import org.jruby.runtime.callback.Callback;
23
- import org.jruby.exceptions.RaiseException;
24
- import org.jruby.runtime.load.BasicLibraryService;
25
- import org.jruby.util.ByteList;
26
-
27
- public class HpricotScanService implements BasicLibraryService {
28
- public static byte[] realloc(byte[] input, int size) {
29
- byte[] newArray = new byte[size];
30
- System.arraycopy(input, 0, newArray, 0, input.length);
31
- return newArray;
32
- }
33
-
34
- // hpricot_state
35
- public static class State {
36
- public IRubyObject doc;
37
- public IRubyObject focus;
38
- public IRubyObject last;
39
- public IRubyObject EC;
40
- public boolean xml, strict, fixup;
41
- }
42
-
43
- static boolean OPT(IRubyObject opts, String key) {
44
- Ruby runtime = opts.getRuntime();
45
- return !opts.isNil() && ((RubyHash)opts).op_aref(runtime.getCurrentContext(), runtime.newSymbol(key)).isTrue();
46
- }
47
-
48
- // H_PROP(name, H_ELE_TAG)
49
- public static IRubyObject hpricot_ele_set_name(IRubyObject self, IRubyObject x) {
50
- H_ELE_SET(self, H_ELE_TAG, x);
51
- return self;
52
- }
53
-
54
- public static IRubyObject hpricot_ele_clear_name(IRubyObject self) {
55
- H_ELE_SET(self, H_ELE_TAG, self.getRuntime().getNil());
56
- return self.getRuntime().getTrue();
57
- }
58
-
59
- public static IRubyObject hpricot_ele_get_name(IRubyObject self) {
60
- return H_ELE_GET(self, H_ELE_TAG);
61
- }
62
-
63
- // H_PROP(raw, H_ELE_RAW)
64
- public static IRubyObject hpricot_ele_set_raw(IRubyObject self, IRubyObject x) {
65
- H_ELE_SET(self, H_ELE_RAW, x);
66
- return self;
67
- }
68
-
69
- public static IRubyObject hpricot_ele_clear_raw(IRubyObject self) {
70
- H_ELE_SET(self, H_ELE_RAW, self.getRuntime().getNil());
71
- return self.getRuntime().getTrue();
72
- }
73
-
74
- public static IRubyObject hpricot_ele_get_raw(IRubyObject self) {
75
- return H_ELE_GET(self, H_ELE_RAW);
76
- }
77
-
78
- // H_PROP(parent, H_ELE_PARENT)
79
- public static IRubyObject hpricot_ele_set_parent(IRubyObject self, IRubyObject x) {
80
- H_ELE_SET(self, H_ELE_PARENT, x);
81
- return self;
82
- }
83
-
84
- public static IRubyObject hpricot_ele_clear_parent(IRubyObject self) {
85
- H_ELE_SET(self, H_ELE_PARENT, self.getRuntime().getNil());
86
- return self.getRuntime().getTrue();
87
- }
88
-
89
- public static IRubyObject hpricot_ele_get_parent(IRubyObject self) {
90
- return H_ELE_GET(self, H_ELE_PARENT);
91
- }
92
-
93
- // H_PROP(attr, H_ELE_ATTR)
94
- public static IRubyObject hpricot_ele_set_attr(IRubyObject self, IRubyObject x) {
95
- H_ELE_SET(self, H_ELE_ATTR, x);
96
- return self;
97
- }
98
-
99
- public static IRubyObject hpricot_ele_clear_attr(IRubyObject self) {
100
- H_ELE_SET(self, H_ELE_ATTR, self.getRuntime().getNil());
101
- return self.getRuntime().getTrue();
102
- }
103
-
104
- public static IRubyObject hpricot_ele_get_attr(IRubyObject self) {
105
- return H_ELE_GET(self, H_ELE_ATTR);
106
- }
107
-
108
- // H_PROP(etag, H_ELE_ETAG)
109
- public static IRubyObject hpricot_ele_set_etag(IRubyObject self, IRubyObject x) {
110
- H_ELE_SET(self, H_ELE_ETAG, x);
111
- return self;
112
- }
113
-
114
- public static IRubyObject hpricot_ele_clear_etag(IRubyObject self) {
115
- H_ELE_SET(self, H_ELE_ETAG, self.getRuntime().getNil());
116
- return self.getRuntime().getTrue();
117
- }
118
-
119
- public static IRubyObject hpricot_ele_get_etag(IRubyObject self) {
120
- return H_ELE_GET(self, H_ELE_ETAG);
121
- }
122
-
123
- // H_PROP(children, H_ELE_CHILDREN)
124
- public static IRubyObject hpricot_ele_set_children(IRubyObject self, IRubyObject x) {
125
- H_ELE_SET(self, H_ELE_CHILDREN, x);
126
- return self;
127
- }
128
-
129
- public static IRubyObject hpricot_ele_clear_children(IRubyObject self) {
130
- H_ELE_SET(self, H_ELE_CHILDREN, self.getRuntime().getNil());
131
- return self.getRuntime().getTrue();
132
- }
133
-
134
- public static IRubyObject hpricot_ele_get_children(IRubyObject self) {
135
- return H_ELE_GET(self, H_ELE_CHILDREN);
136
- }
137
-
138
- // H_ATTR(target)
139
- public static IRubyObject hpricot_ele_set_target(IRubyObject self, IRubyObject x) {
140
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("target"), x);
141
- return self;
142
- }
143
-
144
- public static IRubyObject hpricot_ele_get_target(IRubyObject self) {
145
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("target"));
146
- }
147
-
148
- // H_ATTR(encoding)
149
- public static IRubyObject hpricot_ele_set_encoding(IRubyObject self, IRubyObject x) {
150
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("encoding"), x);
151
- return self;
152
- }
153
-
154
- public static IRubyObject hpricot_ele_get_encoding(IRubyObject self) {
155
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("encoding"));
156
- }
157
-
158
- // H_ATTR(version)
159
- public static IRubyObject hpricot_ele_set_version(IRubyObject self, IRubyObject x) {
160
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("version"), x);
161
- return self;
162
- }
163
-
164
- public static IRubyObject hpricot_ele_get_version(IRubyObject self) {
165
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("version"));
166
- }
167
-
168
- // H_ATTR(standalone)
169
- public static IRubyObject hpricot_ele_set_standalone(IRubyObject self, IRubyObject x) {
170
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("standalone"), x);
171
- return self;
172
- }
173
-
174
- public static IRubyObject hpricot_ele_get_standalone(IRubyObject self) {
175
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("standalone"));
176
- }
177
-
178
- // H_ATTR(system_id)
179
- public static IRubyObject hpricot_ele_set_system_id(IRubyObject self, IRubyObject x) {
180
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("system_id"), x);
181
- return self;
182
- }
183
-
184
- public static IRubyObject hpricot_ele_get_system_id(IRubyObject self) {
185
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("system_id"));
186
- }
187
-
188
- // H_ATTR(public_id)
189
- public static IRubyObject hpricot_ele_set_public_id(IRubyObject self, IRubyObject x) {
190
- ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).fastASet(self.getRuntime().newSymbol("public_id"), x);
191
- return self;
192
- }
193
-
194
- public static IRubyObject hpricot_ele_get_public_id(IRubyObject self) {
195
- return ((RubyHash)H_ELE_GET(self, H_ELE_ATTR)).op_aref(self.getRuntime().getCurrentContext(), self.getRuntime().newSymbol("public_id"));
196
- }
197
-
198
- public static class Scanner {
199
- public IRubyObject SET(int mark, int E, IRubyObject org) {
200
- if(mark == -1 || E == mark) {
201
- return runtime.newString("");
202
- } else if(E > mark) {
203
- return RubyString.newString(runtime, data, mark, E-mark);
204
- } else {
205
- return org;
206
- }
207
- }
208
-
209
- public int SLIDE(int N) {
210
- if(N > ts) {
211
- return N - ts;
212
- } else {
213
- return N;
214
- }
215
- }
216
-
217
- public IRubyObject CAT(IRubyObject N, int mark, int E) {
218
- if(N.isNil()) {
219
- return SET(mark, E, N);
220
- } else {
221
- ((RubyString)N).cat(data, mark, E-mark);
222
- return N;
223
- }
224
- }
225
-
226
- public void ATTR(IRubyObject K, IRubyObject V) {
227
- if(!K.isNil()) {
228
- if(attr.isNil()) {
229
- attr = RubyHash.newHash(runtime);
230
- }
231
- ((RubyHash)attr).fastASet(K, V);
232
- }
233
- }
234
-
235
- public void TEXT_PASS() {
236
- if(!text) {
237
- if(ele_open) {
238
- ele_open = false;
239
- if(ts != -1) {
240
- mark_tag = ts;
241
- }
242
- } else {
243
- mark_tag = p;
244
- }
245
- attr = runtime.getNil();
246
- tag = runtime.getNil();
247
- text = true;
248
- }
249
- }
250
-
251
- public void ELE(IRubyObject N) {
252
- if(te > ts || text) {
253
- int raw = -1;
254
- int rawlen = 0;
255
- ele_open = false;
256
- text = false;
257
-
258
- if(ts != -1 && N != x.sym_cdata && N != x.sym_text && N != x.sym_procins && N != x.sym_comment) {
259
- raw = ts;
260
- rawlen = te - ts;
261
- }
262
-
263
- if(block.isGiven()) {
264
- IRubyObject raw_string = runtime.getNil();
265
- if(raw != -1) {
266
- raw_string = RubyString.newString(runtime, data, raw, rawlen);
267
- }
268
- yieldTokens(N, tag, attr, runtime.getNil(), taint);
269
- } else {
270
- hpricotToken(S, N, tag, attr, raw, rawlen, taint);
271
- }
272
- }
273
- }
274
-
275
-
276
- public void EBLK(IRubyObject N, int T) {
277
- tag = CAT(tag, mark_tag, p - T + 1);
278
- ELE(N);
279
- }
280
-
281
- public void hpricotAdd(IRubyObject focus, IRubyObject ele) {
282
- IRubyObject children = H_ELE_GET(focus, H_ELE_CHILDREN);
283
- if(children.isNil()) {
284
- H_ELE_SET(focus, H_ELE_CHILDREN, children = RubyArray.newArray(runtime, 1));
285
- }
286
- ((RubyArray)children).append(ele);
287
- H_ELE_SET(ele, H_ELE_PARENT, focus);
288
- }
289
-
290
- private static class TokenInfo {
291
- public IRubyObject sym;
292
- public IRubyObject tag;
293
- public IRubyObject attr;
294
- public int raw;
295
- public int rawlen;
296
- public IRubyObject ec;
297
- public IRubyObject ele;
298
- public Extra x;
299
- public Ruby runtime;
300
- public Scanner scanner;
301
- public State S;
302
-
303
- public void H_ELE(RubyClass klass) {
304
- ele = klass.allocate();
305
- if(klass == x.cElem) {
306
- H_ELE_SET(ele, H_ELE_TAG, tag);
307
- H_ELE_SET(ele, H_ELE_ATTR, attr);
308
- H_ELE_SET(ele, H_ELE_EC, ec);
309
- if(raw != -1 && (sym == x.sym_emptytag || sym == x.sym_stag || sym == x.sym_doctype)) {
310
- H_ELE_SET(ele, H_ELE_RAW, RubyString.newString(runtime, scanner.data, raw, rawlen));
311
- }
312
- } else if(klass == x.cDocType || klass == x.cProcIns || klass == x.cXMLDecl || klass == x.cBogusETag) {
313
- if(klass == x.cBogusETag) {
314
- H_ELE_SET(ele, H_ELE_TAG, tag);
315
- if(raw != -1) {
316
- H_ELE_SET(ele, H_ELE_ATTR, RubyString.newString(runtime, scanner.data, raw, rawlen));
317
- }
318
- } else {
319
- if(klass == x.cDocType) {
320
- scanner.ATTR(runtime.newSymbol("target"), tag);
321
- }
322
- H_ELE_SET(ele, H_ELE_ATTR, attr);
323
- if(klass != x.cProcIns) {
324
- tag = runtime.getNil();
325
- if(raw != -1) {
326
- tag = RubyString.newString(runtime, scanner.data, raw, rawlen);
327
- }
328
- }
329
- H_ELE_SET(ele, H_ELE_TAG, tag);
330
- }
331
- } else {
332
- H_ELE_SET(ele, H_ELE_TAG, tag);
333
- }
334
- S.last = ele;
335
- }
336
-
337
- public void hpricotToken(boolean taint) {
338
- //
339
- // in html mode, fix up start tags incorrectly formed as empty tags
340
- //
341
- if(!S.xml) {
342
- if(sym == x.sym_emptytag || sym == x.sym_stag || sym == x.sym_etag) {
343
- ec = ((RubyHash)S.EC).op_aref(scanner.ctx, tag);
344
- if(ec.isNil()) {
345
- tag = tag.callMethod(scanner.ctx, "downcase");
346
- ec = ((RubyHash)S.EC).op_aref(scanner.ctx, tag);
347
- }
348
- }
349
-
350
- if(H_ELE_GET(S.focus, H_ELE_EC) == x.sym_CDATA &&
351
- (sym != x.sym_procins && sym != x.sym_comment && sym != x.sym_cdata && sym != x.sym_text) &&
352
- !(sym == x.sym_etag && runtime.newFixnum(tag.hashCode()).equals(H_ELE_GET(S.focus, H_ELE_HASH)))) {
353
- sym = x.sym_text;
354
- tag = RubyString.newString(runtime, scanner.data, raw, rawlen);
355
- }
356
-
357
- if(!ec.isNil()) {
358
- if(sym == x.sym_emptytag) {
359
- if(ec != x.sym_EMPTY) {
360
- sym = x.sym_stag;
361
- }
362
- } else if(sym == x.sym_stag) {
363
- if(ec == x.sym_EMPTY) {
364
- sym = x.sym_emptytag;
365
- }
366
- }
367
- }
368
- }
369
-
370
- if(sym == x.sym_emptytag || sym == x.sym_stag) {
371
- IRubyObject name = runtime.newFixnum(tag.hashCode());
372
- H_ELE(x.cElem);
373
- H_ELE_SET(ele, H_ELE_HASH, name);
374
-
375
- if(!S.xml) {
376
- IRubyObject match = runtime.getNil(), e = S.focus;
377
- while(e != S.doc) {
378
- IRubyObject hEC = H_ELE_GET(e, H_ELE_EC);
379
- if(hEC instanceof RubyHash) {
380
- IRubyObject has = ((RubyHash)hEC).op_aref(scanner.ctx, name);
381
- if(!has.isNil()) {
382
- if(has == runtime.getTrue()) {
383
- if(match.isNil()) {
384
- match = e;
385
- }
386
- } else if(has == x.symAllow) {
387
- match = S.focus;
388
- } else if(has == x.symDeny) {
389
- match = runtime.getNil();
390
- }
391
- }
392
- }
393
- e = H_ELE_GET(e, H_ELE_PARENT);
394
- }
395
-
396
- if(match.isNil()) {
397
- match = S.focus;
398
- }
399
- S.focus = match;
400
- }
401
-
402
- scanner.hpricotAdd(S.focus, ele);
403
-
404
- //
405
- // in the case of a start tag that should be empty, just
406
- // skip the step that focuses the element. focusing moves
407
- // us deeper into the document.
408
- //
409
- if(sym == x.sym_stag) {
410
- if(S.xml || ec != x.sym_EMPTY) {
411
- S.focus = ele;
412
- S.last = runtime.getNil();
413
- }
414
- }
415
- } else if(sym == x.sym_etag) {
416
- IRubyObject name, match = runtime.getNil(), e = S.focus;
417
- if(S.strict) {
418
- if(((RubyHash)S.EC).op_aref(scanner.ctx, tag).isNil()) {
419
- tag = runtime.newString("div");
420
- }
421
- }
422
-
423
- name = runtime.newFixnum(tag.hashCode());
424
- while(e != S.doc) {
425
- if(H_ELE_GET(e, H_ELE_HASH).equals(name)) {
426
- match = e;
427
- break;
428
- }
429
- e = H_ELE_GET(e, H_ELE_PARENT);
430
-
431
- }
432
- if(match.isNil()) {
433
- H_ELE(x.cBogusETag);
434
- scanner.hpricotAdd(S.focus, ele);
435
- } else {
436
- ele = runtime.getNil();
437
- if(raw != -1) {
438
- ele = RubyString.newString(runtime, scanner.data, raw, rawlen);
439
- }
440
- H_ELE_SET(match, H_ELE_ETAG, ele);
441
- S.focus = H_ELE_GET(match, H_ELE_PARENT);
442
- S.last = runtime.getNil();
443
-
444
- }
445
- } else if(sym == x.sym_cdata) {
446
- H_ELE(x.cCData);
447
- scanner.hpricotAdd(S.focus, ele);
448
- } else if(sym == x.sym_comment) {
449
- H_ELE(x.cComment);
450
- scanner.hpricotAdd(S.focus, ele);
451
- } else if(sym == x.sym_doctype) {
452
- H_ELE(x.cDocType);
453
- if(S.strict) {
454
- RubyHash h = (RubyHash)attr;
455
- h.fastASet(runtime.newSymbol("system_id"), runtime.newString("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"));
456
- h.fastASet(runtime.newSymbol("public_id"), runtime.newString("-//W3C//DTD XHTML 1.0 Strict//EN"));
457
- }
458
- scanner.hpricotAdd(S.focus, ele);
459
- } else if(sym == x.sym_procins) {
460
- IRubyObject match = tag.callMethod(scanner.ctx, "match", x.reProcInsParse);
461
- tag = RubyRegexp.nth_match(1, match);
462
- attr = RubyRegexp.nth_match(2, match);
463
- H_ELE(x.cProcIns);
464
- scanner.hpricotAdd(S.focus, ele);
465
- } else if(sym == x.sym_text) {
466
- if(!S.last.isNil() && S.last.getType() == x.cText) {
467
- ((RubyString)H_ELE_GET(S.last, H_ELE_TAG)).append(tag);
468
- } else {
469
- H_ELE(x.cText);
470
- scanner.hpricotAdd(S.focus, ele);
471
- }
472
- } else if(sym == x.sym_xmldecl) {
473
- H_ELE(x.cXMLDecl);
474
- scanner.hpricotAdd(S.focus, ele);
475
- }
476
- }
477
- }
478
-
479
- public void hpricotToken(State S, IRubyObject _sym, IRubyObject _tag, IRubyObject _attr, int _raw, int _rawlen, boolean taint) {
480
- TokenInfo t = new TokenInfo();
481
- t.sym = _sym;
482
- t.tag = _tag;
483
- t.attr = _attr;
484
- t.raw = _raw;
485
- t.rawlen = _rawlen;
486
- t.ec = runtime.getNil();
487
- t.ele = runtime.getNil();
488
- t.x = x;
489
- t.runtime = runtime;
490
- t.scanner = this;
491
- t.S = S;
492
-
493
- t.hpricotToken(taint);
494
- }
495
-
496
- public void yieldTokens(IRubyObject sym, IRubyObject tag, IRubyObject attr, IRubyObject raw, boolean taint) {
497
- if(sym == x.sym_text) {
498
- raw = tag;
499
- }
500
- IRubyObject ary = RubyArray.newArrayNoCopy(runtime, new IRubyObject[]{sym, tag, attr, raw});
501
- if(taint) {
502
- ary.setTaint(true);
503
- tag.setTaint(true);
504
- attr.setTaint(true);
505
- raw.setTaint(true);
506
- }
507
-
508
- block.yield(ctx, ary);
509
- }
510
-
511
- %%{
512
- machine hpricot_scan;
513
-
514
- action newEle {
515
- if(text) {
516
- tag = CAT(tag, mark_tag, p);
517
- ELE(x.sym_text);
518
- text = false;
519
- }
520
- attr = runtime.getNil();
521
- tag = runtime.getNil();
522
- mark_tag = -1;
523
- ele_open = true;
524
- }
525
-
526
- action _tag { mark_tag = p; }
527
- action _aval { mark_aval = p; }
528
- action _akey { mark_akey = p; }
529
- action tag { tag = SET(mark_tag, p, tag); }
530
- action tagc { tag = SET(mark_tag, p-1, tag); }
531
- action aval { aval = SET(mark_aval, p, aval); }
532
- action aunq {
533
- if(data[p-1] == '"' || data[p-1] == '\'') {
534
- aval = SET(mark_aval, p-1, aval);
535
- } else {
536
- aval = SET(mark_aval, p, aval);
537
- }
538
- }
539
- action akey { akey = SET(mark_akey, p, akey); }
540
- action xmlver { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("version"), aval); }
541
- action xmlenc { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("encoding"), aval); }
542
- action xmlsd { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("standalone"), aval); }
543
- action pubid { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("public_id"), aval); }
544
- action sysid { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("system_id"), aval); }
545
-
546
- action new_attr {
547
- akey = runtime.getNil();
548
- aval = runtime.getNil();
549
- mark_akey = -1;
550
- mark_aval = -1;
551
- }
552
-
553
- action save_attr {
554
- if(!S.xml) {
555
- akey = akey.callMethod(runtime.getCurrentContext(), "downcase");
556
- }
557
- ATTR(akey, aval);
558
- }
559
-
560
- include hpricot_common "hpricot_common.rl";
561
- }%%
562
-
563
- %% write data nofinal;
564
-
565
- public final static int BUFSIZE = 16384;
566
-
567
-
568
- private int cs, act, have = 0, nread = 0, curline = 1;
569
- private int ts = 0, te = 0, eof = -1, p = -1, pe = -1, buf = 0;
570
- private byte[] data;
571
- private State S = null;
572
- private IRubyObject port, opts, attr, tag, akey, aval, bufsize;
573
- private int mark_tag = -1, mark_akey = -1, mark_aval = -1;
574
- private boolean done = false, ele_open = false, taint = false, io = false, text = false;
575
- private int buffer_size = 0;
576
-
577
- private Extra x;
578
-
579
- private IRubyObject self;
580
- private Ruby runtime;
581
- private ThreadContext ctx;
582
- private Block block;
583
-
584
- private IRubyObject xmldecl, doctype, stag, etag, emptytag, comment, cdata, procins;
585
-
586
- private RaiseException newRaiseException(RubyClass exceptionClass, String message) {
587
- return new RaiseException(runtime, exceptionClass, message, true);
588
- }
589
-
590
- public Scanner(IRubyObject self, IRubyObject[] args, Block block) {
591
- this.self = self;
592
- this.runtime = self.getRuntime();
593
- this.ctx = runtime.getCurrentContext();
594
- this.block = block;
595
- attr = runtime.getNil();
596
- tag = runtime.getNil();
597
- akey = runtime.getNil();
598
- aval = runtime.getNil();
599
- bufsize = runtime.getNil();
600
-
601
- this.x = (Extra)this.runtime.getModule("Hpricot").dataGetStruct();
602
-
603
- this.xmldecl = x.sym_xmldecl;
604
- this.doctype = x.sym_doctype;
605
- this.stag = x.sym_stag;
606
- this.etag = x.sym_etag;
607
- this.emptytag = x.sym_emptytag;
608
- this.comment = x.sym_comment;
609
- this.cdata = x.sym_cdata;
610
- this.procins = x.sym_procins;
611
-
612
- port = args[0];
613
- if(args.length == 2) {
614
- opts = args[1];
615
- } else {
616
- opts = runtime.getNil();
617
- }
618
-
619
- taint = port.isTaint();
620
- io = port.respondsTo("read");
621
- if(!io) {
622
- if(port.respondsTo("to_str")) {
623
- port = port.callMethod(ctx, "to_str");
624
- port = port.convertToString();
625
- } else {
626
- throw runtime.newArgumentError("an Hpricot document must be built from an input source (a String or IO object.)");
627
- }
628
- }
629
-
630
- if(!(opts instanceof RubyHash)) {
631
- opts = runtime.getNil();
632
- }
633
-
634
- if(!block.isGiven()) {
635
- S = new State();
636
- S.doc = x.cDoc.allocate();
637
- S.focus = S.doc;
638
- S.last = runtime.getNil();
639
- S.xml = OPT(opts, "xml");
640
- S.strict = OPT(opts, "xhtml_strict");
641
- S.fixup = OPT(opts, "fixup_tags");
642
- if(S.strict) {
643
- S.fixup = true;
644
- }
645
- S.doc.getInstanceVariables().fastSetInstanceVariable("@options", opts);
646
- S.EC = x.mHpricot.getConstant("ElementContent");
647
- }
648
-
649
- buffer_size = BUFSIZE;
650
- if(self.getInstanceVariables().fastHasInstanceVariable("@buffer_size")) {
651
- bufsize = self.getInstanceVariables().fastGetInstanceVariable("@buffer_size");
652
- if(!bufsize.isNil()) {
653
- buffer_size = RubyNumeric.fix2int(bufsize);
654
- }
655
- }
656
-
657
- if(io) {
658
- buf = 0;
659
- data = new byte[buffer_size];
660
- }
661
- }
662
-
663
- private int len, space;
664
- // hpricot_scan
665
- public IRubyObject scan() {
666
- %% write init;
667
- while(!done) {
668
- p = pe = len = buf;
669
- space = buffer_size - have;
670
-
671
- if(io) {
672
- if(space == 0) {
673
- /* We've used up the entire buffer storing an already-parsed token
674
- * prefix that must be preserved. Likely caused by super-long attributes.
675
- * Increase buffer size and continue */
676
- buffer_size += BUFSIZE;
677
- data = realloc(data, buffer_size);
678
- space = buffer_size - have;
679
- }
680
-
681
- p = have;
682
- IRubyObject str = port.callMethod(ctx, "read", runtime.newFixnum(space));
683
- ByteList bl = str.convertToString().getByteList();
684
- len = bl.realSize;
685
- System.arraycopy(bl.bytes, bl.begin, data, p, len);
686
- } else {
687
- ByteList bl = port.convertToString().getByteList();
688
- data = bl.bytes;
689
- buf = bl.begin;
690
- p = bl.begin;
691
- len = bl.realSize + 1;
692
- if(p + len >= data.length) {
693
- data = new byte[len];
694
- System.arraycopy(bl.bytes, bl.begin, data, 0, bl.realSize);
695
- p = 0;
696
- buf = 0;
697
- }
698
- done = true;
699
- eof = p + len;
700
- }
701
-
702
- nread += len;
703
-
704
- /* If this is the last buffer, tack on an EOF. */
705
- if(io && len < space) {
706
- data[p + len++] = 0;
707
- eof = p + len;
708
- done = true;
709
- }
710
-
711
- pe = p + len;
712
-
713
- %% write exec;
714
-
715
- if(cs == hpricot_scan_error) {
716
- if(!tag.isNil()) {
717
- throw newRaiseException(x.rb_eHpricotParseError, "parse error on element <" + tag + ">, starting on line " + curline + ".\n" + NO_WAY_SERIOUSLY);
718
- } else {
719
- throw newRaiseException(x.rb_eHpricotParseError, "parse error on line " + curline + ".\n" + NO_WAY_SERIOUSLY);
720
- }
721
- }
722
-
723
- if(done && ele_open) {
724
- ele_open = false;
725
- if(ts > 0) {
726
- mark_tag = ts;
727
- ts = 0;
728
- text = true;
729
- }
730
- }
731
-
732
- if(ts == -1) {
733
- have = 0;
734
- if(mark_tag != -1 && text) {
735
- if(done) {
736
- if(mark_tag < p - 1) {
737
- tag = CAT(tag, mark_tag, p-1);
738
- ELE(x.sym_text);
739
- }
740
- } else {
741
- tag = CAT(tag, mark_tag, p);
742
- }
743
- }
744
- if(io) {
745
- mark_tag = 0;
746
- } else {
747
- mark_tag = ((RubyString)port).getByteList().begin;
748
- }
749
- } else if(io) {
750
- have = pe - ts;
751
- System.arraycopy(data, ts, data, buf, have);
752
- mark_tag = SLIDE(mark_tag);
753
- mark_akey = SLIDE(mark_akey);
754
- mark_aval = SLIDE(mark_aval);
755
- te -= ts;
756
- ts = 0;
757
- }
758
- }
759
-
760
- if(S != null) {
761
- return S.doc;
762
- }
763
-
764
- return runtime.getNil();
765
- }
766
- }
767
-
768
- public static class HpricotModule {
769
- // hpricot_scan
770
- @JRubyMethod(module = true, optional = 1, required = 1, frame = true)
771
- public static IRubyObject scan(IRubyObject self, IRubyObject[] args, Block block) {
772
- return new Scanner(self, args, block).scan();
773
- }
774
-
775
- // hpricot_css
776
- @JRubyMethod(module = true)
777
- public static IRubyObject css(IRubyObject self, IRubyObject mod, IRubyObject str, IRubyObject node) {
778
- return new HpricotCss(self, mod, str, node).scan();
779
- }
780
- }
781
-
782
- public static class CData {
783
- @JRubyMethod
784
- public static IRubyObject content(IRubyObject self) {
785
- return hpricot_ele_get_name(self);
786
- }
787
-
788
- @JRubyMethod(name = "content=")
789
- public static IRubyObject content_set(IRubyObject self, IRubyObject value) {
790
- return hpricot_ele_set_name(self, value);
791
- }
792
- }
793
-
794
- public static class Comment {
795
- @JRubyMethod
796
- public static IRubyObject content(IRubyObject self) {
797
- return hpricot_ele_get_name(self);
798
- }
799
-
800
- @JRubyMethod(name = "content=")
801
- public static IRubyObject content_set(IRubyObject self, IRubyObject value) {
802
- return hpricot_ele_set_name(self, value);
803
- }
804
- }
805
-
806
- public static class DocType {
807
- @JRubyMethod
808
- public static IRubyObject raw_string(IRubyObject self) {
809
- return hpricot_ele_get_name(self);
810
- }
811
-
812
- @JRubyMethod
813
- public static IRubyObject clear_raw(IRubyObject self) {
814
- return hpricot_ele_clear_name(self);
815
- }
816
-
817
- @JRubyMethod
818
- public static IRubyObject target(IRubyObject self) {
819
- return hpricot_ele_get_target(self);
820
- }
821
-
822
- @JRubyMethod(name = "target=")
823
- public static IRubyObject target_set(IRubyObject self, IRubyObject value) {
824
- return hpricot_ele_set_target(self, value);
825
- }
826
-
827
- @JRubyMethod
828
- public static IRubyObject public_id(IRubyObject self) {
829
- return hpricot_ele_get_public_id(self);
830
- }
831
-
832
- @JRubyMethod(name = "public_id=")
833
- public static IRubyObject public_id_set(IRubyObject self, IRubyObject value) {
834
- return hpricot_ele_set_public_id(self, value);
835
- }
836
-
837
- @JRubyMethod
838
- public static IRubyObject system_id(IRubyObject self) {
839
- return hpricot_ele_get_system_id(self);
840
- }
841
-
842
- @JRubyMethod(name = "system_id=")
843
- public static IRubyObject system_id_set(IRubyObject self, IRubyObject value) {
844
- return hpricot_ele_set_system_id(self, value);
845
- }
846
- }
847
-
848
- public static class Elem {
849
- @JRubyMethod
850
- public static IRubyObject clear_raw(IRubyObject self) {
851
- return hpricot_ele_clear_raw(self);
852
- }
853
- }
854
-
855
- public static class BogusETag {
856
- @JRubyMethod
857
- public static IRubyObject raw_string(IRubyObject self) {
858
- return hpricot_ele_get_attr(self);
859
- }
860
-
861
- @JRubyMethod
862
- public static IRubyObject clear_raw(IRubyObject self) {
863
- return hpricot_ele_clear_attr(self);
864
- }
865
- }
866
-
867
- public static class Text {
868
- @JRubyMethod
869
- public static IRubyObject raw_string(IRubyObject self) {
870
- return hpricot_ele_get_name(self);
871
- }
872
-
873
- @JRubyMethod
874
- public static IRubyObject clear_raw(IRubyObject self) {
875
- return hpricot_ele_clear_name(self);
876
- }
877
-
878
- @JRubyMethod
879
- public static IRubyObject content(IRubyObject self) {
880
- return hpricot_ele_get_name(self);
881
- }
882
-
883
- @JRubyMethod(name = "content=")
884
- public static IRubyObject content_set(IRubyObject self, IRubyObject value) {
885
- return hpricot_ele_set_name(self, value);
886
- }
887
- }
888
-
889
- public static class XMLDecl {
890
- @JRubyMethod
891
- public static IRubyObject raw_string(IRubyObject self) {
892
- return hpricot_ele_get_name(self);
893
- }
894
-
895
- @JRubyMethod
896
- public static IRubyObject clear_raw(IRubyObject self) {
897
- return hpricot_ele_clear_name(self);
898
- }
899
-
900
- @JRubyMethod
901
- public static IRubyObject encoding(IRubyObject self) {
902
- return hpricot_ele_get_encoding(self);
903
- }
904
-
905
- @JRubyMethod(name = "encoding=")
906
- public static IRubyObject encoding_set(IRubyObject self, IRubyObject value) {
907
- return hpricot_ele_set_encoding(self, value);
908
- }
909
-
910
- @JRubyMethod
911
- public static IRubyObject standalone(IRubyObject self) {
912
- return hpricot_ele_get_standalone(self);
913
- }
914
-
915
- @JRubyMethod(name = "standalone=")
916
- public static IRubyObject standalone_set(IRubyObject self, IRubyObject value) {
917
- return hpricot_ele_set_standalone(self, value);
918
- }
919
-
920
- @JRubyMethod
921
- public static IRubyObject version(IRubyObject self) {
922
- return hpricot_ele_get_version(self);
923
- }
924
-
925
- @JRubyMethod(name = "version=")
926
- public static IRubyObject version_set(IRubyObject self, IRubyObject value) {
927
- return hpricot_ele_set_version(self, value);
928
- }
929
- }
930
-
931
- public static class ProcIns {
932
- @JRubyMethod
933
- public static IRubyObject target(IRubyObject self) {
934
- return hpricot_ele_get_name(self);
935
- }
936
-
937
- @JRubyMethod(name = "target=")
938
- public static IRubyObject target_set(IRubyObject self, IRubyObject value) {
939
- return hpricot_ele_set_name(self, value);
940
- }
941
-
942
- @JRubyMethod
943
- public static IRubyObject content(IRubyObject self) {
944
- return hpricot_ele_get_attr(self);
945
- }
946
-
947
- @JRubyMethod(name = "content=")
948
- public static IRubyObject content_set(IRubyObject self, IRubyObject value) {
949
- return hpricot_ele_set_attr(self, value);
950
- }
951
- }
952
-
953
- public final static String NO_WAY_SERIOUSLY = "*** This should not happen, please send a bug report with the HTML you're parsing to why@whytheluckystiff.net. So sorry!";
954
-
955
- public final static int H_ELE_TAG = 0;
956
- public final static int H_ELE_PARENT = 1;
957
- public final static int H_ELE_ATTR = 2;
958
- public final static int H_ELE_ETAG = 3;
959
- public final static int H_ELE_RAW = 4;
960
- public final static int H_ELE_EC = 5;
961
- public final static int H_ELE_HASH = 6;
962
- public final static int H_ELE_CHILDREN = 7;
963
-
964
- public static IRubyObject H_ELE_GET(IRubyObject recv, int n) {
965
- return ((IRubyObject[])recv.dataGetStruct())[n];
966
- }
967
-
968
- public static IRubyObject H_ELE_SET(IRubyObject recv, int n, IRubyObject value) {
969
- ((IRubyObject[])recv.dataGetStruct())[n] = value;
970
- return value;
971
- }
972
-
973
- private static class RefCallback implements Callback {
974
- private final int n;
975
- public RefCallback(int n) { this.n = n; }
976
-
977
- public IRubyObject execute(IRubyObject recv, IRubyObject[] args, Block block) {
978
- return H_ELE_GET(recv, n);
979
- }
980
-
981
- public Arity getArity() {
982
- return Arity.NO_ARGUMENTS;
983
- }
984
- }
985
-
986
- private static class SetCallback implements Callback {
987
- private final int n;
988
- public SetCallback(int n) { this.n = n; }
989
-
990
- public IRubyObject execute(IRubyObject recv, IRubyObject[] args, Block block) {
991
- return H_ELE_SET(recv, n, args[0]);
992
- }
993
-
994
- public Arity getArity() {
995
- return Arity.ONE_ARGUMENT;
996
- }
997
- }
998
-
999
- private final static Callback[] ref_func = new Callback[]{
1000
- new RefCallback(0),
1001
- new RefCallback(1),
1002
- new RefCallback(2),
1003
- new RefCallback(3),
1004
- new RefCallback(4),
1005
- new RefCallback(5),
1006
- new RefCallback(6),
1007
- new RefCallback(7),
1008
- new RefCallback(8),
1009
- new RefCallback(9)};
1010
-
1011
- private final static Callback[] set_func = new Callback[]{
1012
- new SetCallback(0),
1013
- new SetCallback(1),
1014
- new SetCallback(2),
1015
- new SetCallback(3),
1016
- new SetCallback(4),
1017
- new SetCallback(5),
1018
- new SetCallback(6),
1019
- new SetCallback(7),
1020
- new SetCallback(8),
1021
- new SetCallback(9)};
1022
-
1023
- public final static ObjectAllocator alloc_hpricot_struct = new ObjectAllocator() {
1024
- // alloc_hpricot_struct
1025
- public IRubyObject allocate(Ruby runtime, RubyClass klass) {
1026
- RubyClass kurrent = klass;
1027
- Object sz = kurrent.fastGetInternalVariable("__size__");
1028
- while(sz == null && kurrent != null) {
1029
- kurrent = kurrent.getSuperClass();
1030
- sz = kurrent.fastGetInternalVariable("__size__");
1031
- }
1032
- int size = RubyNumeric.fix2int((RubyObject)sz);
1033
- RubyObject obj = new RubyObject(runtime, klass);
1034
- IRubyObject[] all = new IRubyObject[size];
1035
- java.util.Arrays.fill(all, runtime.getNil());
1036
- obj.dataWrapStruct(all);
1037
- return obj;
1038
- }
1039
- };
1040
-
1041
- public static RubyClass makeHpricotStruct(Ruby runtime, IRubyObject[] members) {
1042
- RubyClass klass = RubyClass.newClass(runtime, runtime.getObject());
1043
- klass.fastSetInternalVariable("__size__", runtime.newFixnum(members.length));
1044
- klass.setAllocator(alloc_hpricot_struct);
1045
-
1046
- for(int i = 0; i < members.length; i++) {
1047
- String id = members[i].toString();
1048
- klass.defineMethod(id, ref_func[i]);
1049
- klass.defineMethod(id + "=", set_func[i]);
1050
- }
1051
-
1052
- return klass;
1053
- }
1054
-
1055
- public boolean basicLoad(final Ruby runtime) throws IOException {
1056
- Init_hpricot_scan(runtime);
1057
- return true;
1058
- }
1059
-
1060
- public static class Extra {
1061
- IRubyObject symAllow, symDeny, sym_xmldecl, sym_doctype,
1062
- sym_procins, sym_stag, sym_etag, sym_emptytag,
1063
- sym_allowed, sym_children, sym_comment,
1064
- sym_cdata, sym_name, sym_parent,
1065
- sym_raw_attributes, sym_raw_string, sym_tagno,
1066
- sym_text, sym_EMPTY, sym_CDATA;
1067
-
1068
- public RubyModule mHpricot;
1069
- public RubyClass structElem;
1070
- public RubyClass structAttr;
1071
- public RubyClass structBasic;
1072
- public RubyClass cDoc;
1073
- public RubyClass cCData;
1074
- public RubyClass cComment;
1075
- public RubyClass cDocType;
1076
- public RubyClass cElem;
1077
- public RubyClass cBogusETag;
1078
- public RubyClass cText;
1079
- public RubyClass cXMLDecl;
1080
- public RubyClass cProcIns;
1081
- public RubyClass rb_eHpricotParseError;
1082
- public IRubyObject reProcInsParse;
1083
-
1084
- public Extra(Ruby runtime) {
1085
- symAllow = runtime.newSymbol("allow");
1086
- symDeny = runtime.newSymbol("deny");
1087
- sym_xmldecl = runtime.newSymbol("xmldecl");
1088
- sym_doctype = runtime.newSymbol("doctype");
1089
- sym_procins = runtime.newSymbol("procins");
1090
- sym_stag = runtime.newSymbol("stag");
1091
- sym_etag = runtime.newSymbol("etag");
1092
- sym_emptytag = runtime.newSymbol("emptytag");
1093
- sym_allowed = runtime.newSymbol("allowed");
1094
- sym_children = runtime.newSymbol("children");
1095
- sym_comment = runtime.newSymbol("comment");
1096
- sym_cdata = runtime.newSymbol("cdata");
1097
- sym_name = runtime.newSymbol("name");
1098
- sym_parent = runtime.newSymbol("parent");
1099
- sym_raw_attributes = runtime.newSymbol("raw_attributes");
1100
- sym_raw_string = runtime.newSymbol("raw_string");
1101
- sym_tagno = runtime.newSymbol("tagno");
1102
- sym_text = runtime.newSymbol("text");
1103
- sym_EMPTY = runtime.newSymbol("EMPTY");
1104
- sym_CDATA = runtime.newSymbol("CDATA");
1105
- }
1106
- }
1107
-
1108
- public static void Init_hpricot_scan(Ruby runtime) {
1109
- Extra x = new Extra(runtime);
1110
-
1111
- x.mHpricot = runtime.defineModule("Hpricot");
1112
- x.mHpricot.dataWrapStruct(x);
1113
-
1114
- x.mHpricot.getSingletonClass().attr_accessor(runtime.getCurrentContext(),new IRubyObject[]{runtime.newSymbol("buffer_size")});
1115
- x.mHpricot.defineAnnotatedMethods(HpricotModule.class);
1116
-
1117
- x.rb_eHpricotParseError = x.mHpricot.defineClassUnder("ParseError",runtime.getClass("StandardError"),runtime.getClass("StandardError").getAllocator());
1118
-
1119
- x.structElem = makeHpricotStruct(runtime, new IRubyObject[] {x.sym_name, x.sym_parent, x.sym_raw_attributes, x.sym_etag, x.sym_raw_string, x.sym_allowed, x.sym_tagno, x.sym_children});
1120
- x.structAttr = makeHpricotStruct(runtime, new IRubyObject[] {x.sym_name, x.sym_parent, x.sym_raw_attributes});
1121
- x.structBasic= makeHpricotStruct(runtime, new IRubyObject[] {x.sym_name, x.sym_parent});
1122
-
1123
- x.cDoc = x.mHpricot.defineClassUnder("Doc", x.structElem, x.structElem.getAllocator());
1124
-
1125
- x.cCData = x.mHpricot.defineClassUnder("CData", x.structBasic, x.structBasic.getAllocator());
1126
- x.cCData.defineAnnotatedMethods(CData.class);
1127
-
1128
- x.cComment = x.mHpricot.defineClassUnder("Comment", x.structBasic, x.structBasic.getAllocator());
1129
- x.cComment.defineAnnotatedMethods(Comment.class);
1130
-
1131
- x.cDocType = x.mHpricot.defineClassUnder("DocType", x.structAttr, x.structAttr.getAllocator());
1132
- x.cDocType.defineAnnotatedMethods(DocType.class);
1133
-
1134
- x.cElem = x.mHpricot.defineClassUnder("Elem", x.structElem, x.structElem.getAllocator());
1135
- x.cElem.defineAnnotatedMethods(Elem.class);
1136
-
1137
- x.cBogusETag = x.mHpricot.defineClassUnder("BogusETag", x.structAttr, x.structAttr.getAllocator());
1138
- x.cBogusETag.defineAnnotatedMethods(BogusETag.class);
1139
-
1140
- x.cText = x.mHpricot.defineClassUnder("Text", x.structBasic, x.structBasic.getAllocator());
1141
- x.cText.defineAnnotatedMethods(Text.class);
1142
-
1143
- x.cXMLDecl = x.mHpricot.defineClassUnder("XMLDecl", x.structAttr, x.structAttr.getAllocator());
1144
- x.cXMLDecl.defineAnnotatedMethods(XMLDecl.class);
1145
-
1146
- x.cProcIns = x.mHpricot.defineClassUnder("ProcIns", x.structAttr, x.structAttr.getAllocator());
1147
- x.cProcIns.defineAnnotatedMethods(ProcIns.class);
1148
-
1149
- x.reProcInsParse = runtime.evalScriptlet("/\\A<\\?(\\S+)\\s+(.+)/m");
1150
- x.mHpricot.setConstant("ProcInsParse", x.reProcInsParse);
1151
- }
1152
- }