rango 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (616) hide show
  1. data/CHANGELOG +8 -0
  2. data/LICENSE +20 -0
  3. data/README.textile +18 -0
  4. data/bin/rango +30 -0
  5. data/doc/head/Array.html +114 -0
  6. data/doc/head/AttributeMixin.html +613 -0
  7. data/doc/head/Class.html +102 -0
  8. data/doc/head/ColoredString.html +476 -0
  9. data/doc/head/Hash.html +643 -0
  10. data/doc/head/Kernel.html +641 -0
  11. data/doc/head/Object.html +140 -0
  12. data/doc/head/ObjectSpace.html +103 -0
  13. data/doc/head/Path.html +2499 -0
  14. data/doc/head/Range.html +109 -0
  15. data/doc/head/Rango.html +397 -0
  16. data/doc/head/Rango/ApplicationMixin.html +396 -0
  17. data/doc/head/Rango/Bundling.html +23 -0
  18. data/doc/head/Rango/Bundling/RequireStrategy.html +283 -0
  19. data/doc/head/Rango/Bundling/Strategy.html +703 -0
  20. data/doc/head/Rango/CallableStrategy.html +300 -0
  21. data/doc/head/Rango/Chainable.html +181 -0
  22. data/doc/head/Rango/Configurable.html +199 -0
  23. data/doc/head/Rango/Controller.html +962 -0
  24. data/doc/head/Rango/ControllerMixin.html +860 -0
  25. data/doc/head/Rango/ControllerStrategy.html +264 -0
  26. data/doc/head/Rango/DependencyStrategy.html +116 -0
  27. data/doc/head/Rango/Dispatcher.html +305 -0
  28. data/doc/head/Rango/Form.html +162 -0
  29. data/doc/head/Rango/GemDependencyStrategy.html +210 -0
  30. data/doc/head/Rango/Generator.html +93 -0
  31. data/doc/head/Rango/GenericViews.html +128 -0
  32. data/doc/head/Rango/GitDependencyStrategy.html +224 -0
  33. data/doc/head/Rango/GithubDependencyStrategy.html +118 -0
  34. data/doc/head/Rango/Handler.html +474 -0
  35. data/doc/head/Rango/Helpers.html +1271 -0
  36. data/doc/head/Rango/Hookable.html +202 -0
  37. data/doc/head/Rango/ImportMixin.html +755 -0
  38. data/doc/head/Rango/Logger.html +920 -0
  39. data/doc/head/Rango/ModelForm.html +42 -0
  40. data/doc/head/Rango/Project.html +516 -0
  41. data/doc/head/Rango/RenderMixin.html +23 -0
  42. data/doc/head/Rango/Request.html +1177 -0
  43. data/doc/head/Rango/Route.html +751 -0
  44. data/doc/head/Rango/Router.html +42 -0
  45. data/doc/head/Rango/Router/Dispatcher.html +311 -0
  46. data/doc/head/Rango/RouterStrategy.html +258 -0
  47. data/doc/head/Rango/Session.html +23 -0
  48. data/doc/head/Rango/Settings.html +23 -0
  49. data/doc/head/Rango/Settings/Erubis.html +23 -0
  50. data/doc/head/Rango/Settings/Framework.html +198 -0
  51. data/doc/head/Rango/Settings/Haml.html +23 -0
  52. data/doc/head/Rango/SimpleTemplate.html +187 -0
  53. data/doc/head/Rango/StrategyMixin.html +261 -0
  54. data/doc/head/Rango/Tasks.html +251 -0
  55. data/doc/head/Rango/Template.html +95 -0
  56. data/doc/head/Rango/Template/Adapter.html +90 -0
  57. data/doc/head/Rango/Templates.html +116 -0
  58. data/doc/head/Rango/Templates/Adapter.html +128 -0
  59. data/doc/head/Rango/Templates/Template.html +636 -0
  60. data/doc/head/Rango/Templates/TemplateHelpers.html +328 -0
  61. data/doc/head/RangoThor.html +205 -0
  62. data/doc/head/String.html +163 -0
  63. data/doc/head/TimeDSL.html +612 -0
  64. data/doc/head/all-methods.html +2012 -0
  65. data/doc/head/all-namespaces.html +114 -0
  66. data/doc/head/app.js +18 -0
  67. data/doc/head/index.html +18 -0
  68. data/doc/head/jquery.js +11 -0
  69. data/doc/head/readme.html +34 -0
  70. data/doc/head/style.css +68 -0
  71. data/doc/head/syntax_highlight.css +21 -0
  72. data/doc/versions/0.0.1/Rango.html +1025 -0
  73. data/doc/versions/0.0.1/Rango/CallableStrategy.html +166 -0
  74. data/doc/versions/0.0.1/Rango/ControllerStrategy.html +180 -0
  75. data/doc/versions/0.0.1/Rango/Route.html +340 -0
  76. data/doc/versions/0.0.1/Rango/Router.html +502 -0
  77. data/doc/versions/0.0.1/Rango/RouterStrategy.html +94 -0
  78. data/doc/versions/0.0.1/Rango/Template.html +28 -0
  79. data/doc/versions/0.0.1/Rango/Template/Adapter.html +90 -0
  80. data/doc/versions/0.0.1/all-methods.html +228 -0
  81. data/doc/versions/0.0.1/all-namespaces.html +36 -0
  82. data/doc/versions/0.0.1/app.js +18 -0
  83. data/doc/versions/0.0.1/index.html +18 -0
  84. data/doc/versions/0.0.1/jquery.js +11 -0
  85. data/doc/versions/0.0.1/readme.html +137 -0
  86. data/doc/versions/0.0.1/style.css +68 -0
  87. data/doc/versions/0.0.1/syntax_highlight.css +21 -0
  88. data/lib/rango.rb +25 -0
  89. data/lib/rango/boot.rb +54 -0
  90. data/lib/rango/bundling/dependency.rb +65 -0
  91. data/lib/rango/bundling/strategies/copy.rb +36 -0
  92. data/lib/rango/bundling/strategies/gem.rb +55 -0
  93. data/lib/rango/bundling/strategies/git.rb +71 -0
  94. data/lib/rango/bundling/strategies/hg.rb +9 -0
  95. data/lib/rango/bundling/strategy.rb +85 -0
  96. data/lib/rango/cli/generator.rb +15 -0
  97. data/lib/rango/cli/project.rb +87 -0
  98. data/lib/rango/cli/simple_template.rb +47 -0
  99. data/lib/rango/contrib/pagination.rb +15 -0
  100. data/lib/rango/contrib/pagination/README.textile +21 -0
  101. data/lib/rango/contrib/pagination/TODO +3 -0
  102. data/lib/rango/contrib/pagination/_pagination.html.haml +39 -0
  103. data/lib/rango/contrib/pagination/adapters/datamapper.rb +22 -0
  104. data/lib/rango/contrib/pagination/helpers.rb +12 -0
  105. data/lib/rango/contrib/pagination/page.rb +107 -0
  106. data/lib/rango/contrib/pagination/strategies.rb +49 -0
  107. data/lib/rango/contrib/syndication.rb +1 -0
  108. data/lib/rango/exceptions.rb +269 -0
  109. data/lib/rango/ext.rb +14 -0
  110. data/lib/rango/ext/attribute.rb +140 -0
  111. data/lib/rango/ext/class.rb +99 -0
  112. data/lib/rango/ext/colored_string.rb +105 -0
  113. data/lib/rango/ext/core_ext.rb +52 -0
  114. data/lib/rango/ext/hash.rb +21 -0
  115. data/lib/rango/ext/kernel.rb +74 -0
  116. data/lib/rango/ext/object_space.rb +11 -0
  117. data/lib/rango/ext/path.rb +222 -0
  118. data/lib/rango/ext/random.rb +22 -0
  119. data/lib/rango/ext/string.rb +16 -0
  120. data/lib/rango/ext/thor.rb +32 -0
  121. data/lib/rango/ext/time_dsl.rb +63 -0
  122. data/lib/rango/ext/try.rb +30 -0
  123. data/lib/rango/forms/form.rb +29 -0
  124. data/lib/rango/generic_views/static.rb +7 -0
  125. data/lib/rango/helpers.rb +24 -0
  126. data/lib/rango/helpers/README +179 -0
  127. data/lib/rango/helpers/assets.rb +29 -0
  128. data/lib/rango/helpers/general.rb +41 -0
  129. data/lib/rango/helpers/merb-helpers.rb +40 -0
  130. data/lib/rango/helpers/merb-helpers/core_ext.rb +58 -0
  131. data/lib/rango/helpers/merb-helpers/core_ext/numeric.rb +388 -0
  132. data/lib/rango/helpers/merb-helpers/date_time_formatting.rb +158 -0
  133. data/lib/rango/helpers/merb-helpers/date_time_helpers.rb +191 -0
  134. data/lib/rango/helpers/merb-helpers/form/builder.rb +447 -0
  135. data/lib/rango/helpers/merb-helpers/form/helpers.rb +451 -0
  136. data/lib/rango/helpers/merb-helpers/form_helpers.rb +19 -0
  137. data/lib/rango/helpers/merb-helpers/tag_helpers.rb +63 -0
  138. data/lib/rango/helpers/merb-helpers/text_helpers.rb +63 -0
  139. data/lib/rango/helpers/merb-helpers/time_dsl.rb +61 -0
  140. data/lib/rango/helpers/spec/core_ext_spec.rb +21 -0
  141. data/lib/rango/helpers/spec/fixture/app/controllers/application.rb +4 -0
  142. data/lib/rango/helpers/spec/fixture/app/controllers/bound_check_box.rb +2 -0
  143. data/lib/rango/helpers/spec/fixture/app/controllers/bound_file_field.rb +2 -0
  144. data/lib/rango/helpers/spec/fixture/app/controllers/bound_hidden_field.rb +2 -0
  145. data/lib/rango/helpers/spec/fixture/app/controllers/bound_option_tag.rb +2 -0
  146. data/lib/rango/helpers/spec/fixture/app/controllers/bound_password_field.rb +2 -0
  147. data/lib/rango/helpers/spec/fixture/app/controllers/bound_radio_button.rb +2 -0
  148. data/lib/rango/helpers/spec/fixture/app/controllers/bound_radio_group.rb +2 -0
  149. data/lib/rango/helpers/spec/fixture/app/controllers/bound_select.rb +2 -0
  150. data/lib/rango/helpers/spec/fixture/app/controllers/bound_text_area.rb +2 -0
  151. data/lib/rango/helpers/spec/fixture/app/controllers/bound_text_field.rb +2 -0
  152. data/lib/rango/helpers/spec/fixture/app/controllers/button.rb +2 -0
  153. data/lib/rango/helpers/spec/fixture/app/controllers/check_box.rb +2 -0
  154. data/lib/rango/helpers/spec/fixture/app/controllers/custom_builder.rb +2 -0
  155. data/lib/rango/helpers/spec/fixture/app/controllers/delete_button.rb +2 -0
  156. data/lib/rango/helpers/spec/fixture/app/controllers/exceptions.rb +25 -0
  157. data/lib/rango/helpers/spec/fixture/app/controllers/field_set.rb +2 -0
  158. data/lib/rango/helpers/spec/fixture/app/controllers/fields_for.rb +3 -0
  159. data/lib/rango/helpers/spec/fixture/app/controllers/file_field.rb +2 -0
  160. data/lib/rango/helpers/spec/fixture/app/controllers/foo.rb +23 -0
  161. data/lib/rango/helpers/spec/fixture/app/controllers/form.rb +2 -0
  162. data/lib/rango/helpers/spec/fixture/app/controllers/form_for.rb +2 -0
  163. data/lib/rango/helpers/spec/fixture/app/controllers/hacker.rb +2 -0
  164. data/lib/rango/helpers/spec/fixture/app/controllers/hidden_field.rb +2 -0
  165. data/lib/rango/helpers/spec/fixture/app/controllers/label.rb +3 -0
  166. data/lib/rango/helpers/spec/fixture/app/controllers/numeric_ext.rb +3 -0
  167. data/lib/rango/helpers/spec/fixture/app/controllers/option_tag.rb +2 -0
  168. data/lib/rango/helpers/spec/fixture/app/controllers/password_field.rb +2 -0
  169. data/lib/rango/helpers/spec/fixture/app/controllers/radio_button.rb +2 -0
  170. data/lib/rango/helpers/spec/fixture/app/controllers/radio_group.rb +2 -0
  171. data/lib/rango/helpers/spec/fixture/app/controllers/relative_date.rb +2 -0
  172. data/lib/rango/helpers/spec/fixture/app/controllers/relative_date_span.rb +2 -0
  173. data/lib/rango/helpers/spec/fixture/app/controllers/select.rb +2 -0
  174. data/lib/rango/helpers/spec/fixture/app/controllers/specs_controller.rb +11 -0
  175. data/lib/rango/helpers/spec/fixture/app/controllers/submit.rb +2 -0
  176. data/lib/rango/helpers/spec/fixture/app/controllers/tag_helper.rb +21 -0
  177. data/lib/rango/helpers/spec/fixture/app/controllers/text_area.rb +2 -0
  178. data/lib/rango/helpers/spec/fixture/app/controllers/text_field.rb +3 -0
  179. data/lib/rango/helpers/spec/fixture/app/helpers/global_helpers.rb +8 -0
  180. data/lib/rango/helpers/spec/fixture/app/models/fake_dm_model.rb +25 -0
  181. data/lib/rango/helpers/spec/fixture/app/models/first_generic_fake_model.rb +57 -0
  182. data/lib/rango/helpers/spec/fixture/app/models/hacker_generic_model.rb +5 -0
  183. data/lib/rango/helpers/spec/fixture/app/models/second_generic_fake_model.rb +18 -0
  184. data/lib/rango/helpers/spec/fixture/app/models/third_generic_fake_model.rb +3 -0
  185. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/basic.html.erb +4 -0
  186. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/basic_unchecked.html.erb +3 -0
  187. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/checked.html.erb +4 -0
  188. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/errors.html.erb +4 -0
  189. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/label.html.erb +3 -0
  190. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/on_and_off.html.erb +3 -0
  191. data/lib/rango/helpers/spec/fixture/app/views/bound_check_box_specs/raise_value_error.html.erb +3 -0
  192. data/lib/rango/helpers/spec/fixture/app/views/bound_file_field_specs/additional_attributes.html.erb +3 -0
  193. data/lib/rango/helpers/spec/fixture/app/views/bound_file_field_specs/takes_string.html.erb +3 -0
  194. data/lib/rango/helpers/spec/fixture/app/views/bound_file_field_specs/with_label.html.erb +3 -0
  195. data/lib/rango/helpers/spec/fixture/app/views/bound_hidden_field_specs/basic.html.erb +3 -0
  196. data/lib/rango/helpers/spec/fixture/app/views/bound_hidden_field_specs/errors.html.erb +3 -0
  197. data/lib/rango/helpers/spec/fixture/app/views/bound_hidden_field_specs/hidden_error.html.erb +3 -0
  198. data/lib/rango/helpers/spec/fixture/app/views/bound_hidden_field_specs/label.html.erb +3 -0
  199. data/lib/rango/helpers/spec/fixture/app/views/bound_option_tag_specs/grouped.html.erb +3 -0
  200. data/lib/rango/helpers/spec/fixture/app/views/bound_option_tag_specs/nested.html.erb +3 -0
  201. data/lib/rango/helpers/spec/fixture/app/views/bound_option_tag_specs/text_and_value.html.erb +4 -0
  202. data/lib/rango/helpers/spec/fixture/app/views/bound_password_field_specs/attributes.html.erb +3 -0
  203. data/lib/rango/helpers/spec/fixture/app/views/bound_password_field_specs/basic.html.erb +3 -0
  204. data/lib/rango/helpers/spec/fixture/app/views/bound_password_field_specs/label.html.erb +3 -0
  205. data/lib/rango/helpers/spec/fixture/app/views/bound_radio_button_specs/basic.html.erb +3 -0
  206. data/lib/rango/helpers/spec/fixture/app/views/bound_radio_group_specs/basic.html.erb +3 -0
  207. data/lib/rango/helpers/spec/fixture/app/views/bound_radio_group_specs/hashes.html.erb +3 -0
  208. data/lib/rango/helpers/spec/fixture/app/views/bound_radio_group_specs/mixed.html.erb +4 -0
  209. data/lib/rango/helpers/spec/fixture/app/views/bound_radio_group_specs/override_id.html.erb +3 -0
  210. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/basic.html.erb +3 -0
  211. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/blank.html.erb +3 -0
  212. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/label.html.erb +3 -0
  213. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/multiple.html.erb +3 -0
  214. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/prompt.html.erb +3 -0
  215. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/with_options.html.erb +3 -0
  216. data/lib/rango/helpers/spec/fixture/app/views/bound_select_specs/with_options_with_blank.html.erb +3 -0
  217. data/lib/rango/helpers/spec/fixture/app/views/bound_text_area_specs/basic.html.erb +3 -0
  218. data/lib/rango/helpers/spec/fixture/app/views/bound_text_area_specs/label.html.erb +3 -0
  219. data/lib/rango/helpers/spec/fixture/app/views/bound_text_field_specs/basic.html.erb +3 -0
  220. data/lib/rango/helpers/spec/fixture/app/views/button_specs/button_with_label.html.erb +1 -0
  221. data/lib/rango/helpers/spec/fixture/app/views/button_specs/button_with_values.html.erb +1 -0
  222. data/lib/rango/helpers/spec/fixture/app/views/button_specs/disabled_button.html.erb +1 -0
  223. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/basic.html.erb +1 -0
  224. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/boolean.html.erb +1 -0
  225. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/disabled.html.erb +1 -0
  226. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/label.html.erb +1 -0
  227. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/on_off_is_boolean.html.erb +1 -0
  228. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/raise_unless_both_on_and_off.html.erb +2 -0
  229. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/raises_error_if_not_boolean.html.erb +1 -0
  230. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/raises_error_if_on_off_and_boolean_false.html.erb +1 -0
  231. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/simple.html.erb +1 -0
  232. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/to_string.html.erb +8 -0
  233. data/lib/rango/helpers/spec/fixture/app/views/check_box_specs/unchecked.html.erb +2 -0
  234. data/lib/rango/helpers/spec/fixture/app/views/custom_builder_specs/everything.html.erb +10 -0
  235. data/lib/rango/helpers/spec/fixture/app/views/delete_button_specs/delete_with_explicit_url.html.erb +1 -0
  236. data/lib/rango/helpers/spec/fixture/app/views/delete_button_specs/delete_with_extra_params.html.erb +1 -0
  237. data/lib/rango/helpers/spec/fixture/app/views/delete_button_specs/delete_with_label.html.erb +1 -0
  238. data/lib/rango/helpers/spec/fixture/app/views/delete_button_specs/simple_delete.html.erb +1 -0
  239. data/lib/rango/helpers/spec/fixture/app/views/exeptions/client_error.html.erb +37 -0
  240. data/lib/rango/helpers/spec/fixture/app/views/exeptions/internal_server_error.html.erb +216 -0
  241. data/lib/rango/helpers/spec/fixture/app/views/exeptions/not_acceptable.html.erb +38 -0
  242. data/lib/rango/helpers/spec/fixture/app/views/exeptions/not_found.html.erb +40 -0
  243. data/lib/rango/helpers/spec/fixture/app/views/fields_for_specs/basic.html.erb +3 -0
  244. data/lib/rango/helpers/spec/fixture/app/views/fields_for_specs/midstream.html.erb +7 -0
  245. data/lib/rango/helpers/spec/fixture/app/views/fields_for_specs/nil.html.erb +3 -0
  246. data/lib/rango/helpers/spec/fixture/app/views/fieldset_specs/legend.html.erb +3 -0
  247. data/lib/rango/helpers/spec/fixture/app/views/file_field_specs/disabled.html.erb +1 -0
  248. data/lib/rango/helpers/spec/fixture/app/views/file_field_specs/makes_multipart.html.erb +3 -0
  249. data/lib/rango/helpers/spec/fixture/app/views/file_field_specs/with_label.html.erb +1 -0
  250. data/lib/rango/helpers/spec/fixture/app/views/file_field_specs/with_values.html.erb +1 -0
  251. data/lib/rango/helpers/spec/fixture/app/views/foo/bar.html.erb +0 -0
  252. data/lib/rango/helpers/spec/fixture/app/views/form_for_specs/basic.html.erb +3 -0
  253. data/lib/rango/helpers/spec/fixture/app/views/form_specs/create_a_form.html.erb +3 -0
  254. data/lib/rango/helpers/spec/fixture/app/views/form_specs/create_a_multipart_form.html.erb +3 -0
  255. data/lib/rango/helpers/spec/fixture/app/views/form_specs/fake_delete_if_set.html.erb +3 -0
  256. data/lib/rango/helpers/spec/fixture/app/views/form_specs/fake_put_if_set.html.erb +3 -0
  257. data/lib/rango/helpers/spec/fixture/app/views/form_specs/get_if_set.html.erb +3 -0
  258. data/lib/rango/helpers/spec/fixture/app/views/form_specs/post_by_default.html.erb +3 -0
  259. data/lib/rango/helpers/spec/fixture/app/views/form_specs/resourceful_form.html.erb +3 -0
  260. data/lib/rango/helpers/spec/fixture/app/views/hacker/file_field.html.erb +3 -0
  261. data/lib/rango/helpers/spec/fixture/app/views/hacker/hidden_field.html.erb +3 -0
  262. data/lib/rango/helpers/spec/fixture/app/views/hacker/option_tag.html.erb +4 -0
  263. data/lib/rango/helpers/spec/fixture/app/views/hacker/password_field.html.erb +3 -0
  264. data/lib/rango/helpers/spec/fixture/app/views/hacker/radio_button.html.erb +3 -0
  265. data/lib/rango/helpers/spec/fixture/app/views/hacker/radio_group.html.erb +3 -0
  266. data/lib/rango/helpers/spec/fixture/app/views/hacker/text_area.html.erb +3 -0
  267. data/lib/rango/helpers/spec/fixture/app/views/hacker/text_field.html.erb +3 -0
  268. data/lib/rango/helpers/spec/fixture/app/views/hidden_field_specs/basic.html.erb +1 -0
  269. data/lib/rango/helpers/spec/fixture/app/views/hidden_field_specs/disabled.html.erb +1 -0
  270. data/lib/rango/helpers/spec/fixture/app/views/hidden_field_specs/label.html.erb +1 -0
  271. data/lib/rango/helpers/spec/fixture/app/views/label_specs/basic.html.erb +1 -0
  272. data/lib/rango/helpers/spec/fixture/app/views/label_specs/basic_with_attributes.html.erb +1 -0
  273. data/lib/rango/helpers/spec/fixture/app/views/label_specs/basic_with_class.html.erb +1 -0
  274. data/lib/rango/helpers/spec/fixture/app/views/layout/application.html.erb +11 -0
  275. data/lib/rango/helpers/spec/fixture/app/views/numeric_ext_specs/minutes_to_hours.html.erb +1 -0
  276. data/lib/rango/helpers/spec/fixture/app/views/numeric_ext_specs/to_concurrency_default.html.erb +1 -0
  277. data/lib/rango/helpers/spec/fixture/app/views/numeric_ext_specs/two_digits.html.erb +1 -0
  278. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/array.html.erb +1 -0
  279. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/clean.html.erb +1 -0
  280. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/collection.html.erb +1 -0
  281. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/multiple_selects.html.erb +1 -0
  282. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/no_extra_attributes.html.erb +1 -0
  283. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/optgroups.html.erb +1 -0
  284. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/selected.html.erb +1 -0
  285. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/with_blank.html.erb +1 -0
  286. data/lib/rango/helpers/spec/fixture/app/views/option_tag_specs/with_prompt.html.erb +1 -0
  287. data/lib/rango/helpers/spec/fixture/app/views/password_field_specs/basic.html.erb +1 -0
  288. data/lib/rango/helpers/spec/fixture/app/views/password_field_specs/disabled.html.erb +1 -0
  289. data/lib/rango/helpers/spec/fixture/app/views/radio_button_specs/basic.html.erb +1 -0
  290. data/lib/rango/helpers/spec/fixture/app/views/radio_button_specs/checked.html.erb +1 -0
  291. data/lib/rango/helpers/spec/fixture/app/views/radio_button_specs/disabled.html.erb +1 -0
  292. data/lib/rango/helpers/spec/fixture/app/views/radio_button_specs/label.html.erb +1 -0
  293. data/lib/rango/helpers/spec/fixture/app/views/radio_button_specs/unchecked.html.erb +1 -0
  294. data/lib/rango/helpers/spec/fixture/app/views/radio_group_specs/attributes.html.erb +1 -0
  295. data/lib/rango/helpers/spec/fixture/app/views/radio_group_specs/basic.html.erb +1 -0
  296. data/lib/rango/helpers/spec/fixture/app/views/radio_group_specs/checked.html.erb +1 -0
  297. data/lib/rango/helpers/spec/fixture/app/views/radio_group_specs/hash.html.erb +1 -0
  298. data/lib/rango/helpers/spec/fixture/app/views/radio_group_specs/specific_attributes.html.erb +1 -0
  299. data/lib/rango/helpers/spec/fixture/app/views/relative_date_span_specs/date_span_on_same_day.html.erb +1 -0
  300. data/lib/rango/helpers/spec/fixture/app/views/relative_date_span_specs/date_span_on_same_day_on_different_year.html.erb +1 -0
  301. data/lib/rango/helpers/spec/fixture/app/views/relative_date_specs/relative_date_with_year.html.erb +1 -0
  302. data/lib/rango/helpers/spec/fixture/app/views/relative_date_specs/relative_date_without_year.html.erb +1 -0
  303. data/lib/rango/helpers/spec/fixture/app/views/relative_date_specs/relative_today.html.erb +1 -0
  304. data/lib/rango/helpers/spec/fixture/app/views/relative_date_specs/relative_tomorrow.html.erb +1 -0
  305. data/lib/rango/helpers/spec/fixture/app/views/relative_date_specs/relative_yesterday.html.erb +1 -0
  306. data/lib/rango/helpers/spec/fixture/app/views/select_specs/basic.html.erb +1 -0
  307. data/lib/rango/helpers/spec/fixture/app/views/select_specs/blank.html.erb +1 -0
  308. data/lib/rango/helpers/spec/fixture/app/views/select_specs/multiple.html.erb +1 -0
  309. data/lib/rango/helpers/spec/fixture/app/views/select_specs/selected.html.erb +1 -0
  310. data/lib/rango/helpers/spec/fixture/app/views/submit_specs/disabled_submit.html.erb +1 -0
  311. data/lib/rango/helpers/spec/fixture/app/views/submit_specs/submit_with_label.html.erb +1 -0
  312. data/lib/rango/helpers/spec/fixture/app/views/submit_specs/submit_with_values.html.erb +1 -0
  313. data/lib/rango/helpers/spec/fixture/app/views/tag_helper/nested_tags.html.erb +5 -0
  314. data/lib/rango/helpers/spec/fixture/app/views/tag_helper/tag_with_attributes.html.erb +1 -0
  315. data/lib/rango/helpers/spec/fixture/app/views/tag_helper/tag_with_content.html.erb +1 -0
  316. data/lib/rango/helpers/spec/fixture/app/views/tag_helper/tag_with_content_in_the_block.html.erb +3 -0
  317. data/lib/rango/helpers/spec/fixture/app/views/text_area_specs/basic.html.erb +1 -0
  318. data/lib/rango/helpers/spec/fixture/app/views/text_area_specs/disabled.html.erb +1 -0
  319. data/lib/rango/helpers/spec/fixture/app/views/text_area_specs/label.html.erb +1 -0
  320. data/lib/rango/helpers/spec/fixture/app/views/text_area_specs/nil.html.erb +1 -0
  321. data/lib/rango/helpers/spec/fixture/app/views/text_field_specs/basic.html.erb +1 -0
  322. data/lib/rango/helpers/spec/fixture/app/views/text_field_specs/class.html.erb +1 -0
  323. data/lib/rango/helpers/spec/fixture/app/views/text_field_specs/disabled.html.erb +1 -0
  324. data/lib/rango/helpers/spec/fixture/app/views/text_field_specs/label.html.erb +1 -0
  325. data/lib/rango/helpers/spec/fixture/app/views/text_field_specs/symbolized_name.html.erb +1 -0
  326. data/lib/rango/helpers/spec/fixture/config/environments/development.rb +6 -0
  327. data/lib/rango/helpers/spec/fixture/config/environments/production.rb +5 -0
  328. data/lib/rango/helpers/spec/fixture/config/environments/test.rb +6 -0
  329. data/lib/rango/helpers/spec/fixture/config/init.rb +46 -0
  330. data/lib/rango/helpers/spec/fixture/config/rack.rb +11 -0
  331. data/lib/rango/helpers/spec/fixture/config/router.rb +38 -0
  332. data/lib/rango/helpers/spec/fixture/public/images/merb.jpg +0 -0
  333. data/lib/rango/helpers/spec/fixture/public/merb.fcgi +4 -0
  334. data/lib/rango/helpers/spec/fixture/public/stylesheets/master.css +119 -0
  335. data/lib/rango/helpers/spec/merb_helpers_config_spec.rb +84 -0
  336. data/lib/rango/helpers/spec/merb_helpers_date_time_spec.rb +270 -0
  337. data/lib/rango/helpers/spec/merb_helpers_form_spec.rb +1371 -0
  338. data/lib/rango/helpers/spec/merb_helpers_tag_helper_spec.rb +42 -0
  339. data/lib/rango/helpers/spec/merb_helpers_text_spec.rb +69 -0
  340. data/lib/rango/helpers/spec/numeric_extlib_spec.rb +137 -0
  341. data/lib/rango/helpers/spec/ordinalize_spec.rb +53 -0
  342. data/lib/rango/helpers/spec/spec_helper.rb +160 -0
  343. data/lib/rango/helpers/spec/time_dsl_spec.rb +45 -0
  344. data/lib/rango/helpers/syntax.rb +28 -0
  345. data/lib/rango/loggers/fireruby.rb +1 -0
  346. data/lib/rango/loggers/logger.rb +100 -0
  347. data/lib/rango/mixins/application.rb +25 -0
  348. data/lib/rango/mixins/configurable.rb +20 -0
  349. data/lib/rango/mixins/controller.rb +113 -0
  350. data/lib/rango/mixins/import.rb +89 -0
  351. data/lib/rango/mixins/strategy.rb +28 -0
  352. data/lib/rango/mvc/controller.rb +139 -0
  353. data/lib/rango/mvc/strategies.rb +6 -0
  354. data/lib/rango/orm/adapters/datamapper/fields.rb +3 -0
  355. data/lib/rango/orm/adapters/datamapper/setup.rb +16 -0
  356. data/lib/rango/orm/adapters/datamapper/support.rb +15 -0
  357. data/lib/rango/orm/adapters/datamapper/tasks.thor +41 -0
  358. data/lib/rango/orm/adapters/datamapper/types/unicode_string.rb +15 -0
  359. data/lib/rango/project.rb +28 -0
  360. data/lib/rango/rack/dispatcher.rb +61 -0
  361. data/lib/rango/rack/middlewares/emails.rb +7 -0
  362. data/lib/rango/rack/middlewares/encoding.rb +25 -0
  363. data/lib/rango/rack/middlewares/static.rb +49 -0
  364. data/lib/rango/rack/request.rb +166 -0
  365. data/lib/rango/rango.rb +75 -0
  366. data/lib/rango/router/adapters/basic.rb +21 -0
  367. data/lib/rango/router/adapters/rack-router.rb +18 -0
  368. data/lib/rango/router/dispatcher.rb +29 -0
  369. data/lib/rango/router/specification.txt +16 -0
  370. data/lib/rango/settings.rb +87 -0
  371. data/lib/rango/settings/erubis.rb +13 -0
  372. data/lib/rango/settings/framework.rb +85 -0
  373. data/lib/rango/settings/haml.rb +35 -0
  374. data/lib/rango/support/cucumber/steps/given_steps.rb +5 -0
  375. data/lib/rango/support/cucumber/steps/then_steps.rb +41 -0
  376. data/lib/rango/support/cucumber/steps/when_steps.rb +54 -0
  377. data/lib/rango/tasks/bundle.thor +28 -0
  378. data/lib/rango/tasks/stats.thor +0 -0
  379. data/lib/rango/templates/adapter.rb +19 -0
  380. data/lib/rango/templates/adapters/erb.rb +45 -0
  381. data/lib/rango/templates/adapters/erubis.rb +60 -0
  382. data/lib/rango/templates/adapters/haml.rb +17 -0
  383. data/lib/rango/templates/template.rb +123 -0
  384. data/rango.gemspec +35 -0
  385. data/spec/factories.rb +21 -0
  386. data/spec/rango/auth/core/authenticated_helper_spec.rb +0 -0
  387. data/spec/rango/auth/core/authentication_spec.rb +0 -0
  388. data/spec/rango/auth/core/callbacks_spec.rb +0 -0
  389. data/spec/rango/auth/core/errors_spec.rb +0 -0
  390. data/spec/rango/auth/core/responses_spec.rb +0 -0
  391. data/spec/rango/auth/core/session_mixin_spec.rb +0 -0
  392. data/spec/rango/auth/core/spec/helpers/authentication_helper_spec_spec.rb +0 -0
  393. data/spec/rango/auth/core/spec/merb-auth-core/activation_fixture_spec.rb +0 -0
  394. data/spec/rango/auth/core/spec/merb-auth-core/authentication_spec_spec.rb +0 -0
  395. data/spec/rango/auth/core/spec/merb-auth-core/callbacks_spec_spec.rb +0 -0
  396. data/spec/rango/auth/core/spec/merb-auth-core/customizations_spec_spec.rb +0 -0
  397. data/spec/rango/auth/core/spec/merb-auth-core/errors_spec_spec.rb +0 -0
  398. data/spec/rango/auth/core/spec/merb-auth-core/failed_login_spec_spec.rb +0 -0
  399. data/spec/rango/auth/core/spec/merb-auth-core/merb-auth-core_spec_spec.rb +0 -0
  400. data/spec/rango/auth/core/spec/merb-auth-core/router_helper_spec_spec.rb +0 -0
  401. data/spec/rango/auth/core/spec/merb-auth-core/strategy_spec_spec.rb +0 -0
  402. data/spec/rango/auth/core/spec/spec_helper_spec.rb +0 -0
  403. data/spec/rango/auth/core/strategy_spec.rb +0 -0
  404. data/spec/rango/auth/core_spec.rb +0 -0
  405. data/spec/rango/auth/more/mixins/redirect_back_spec.rb +0 -0
  406. data/spec/rango/auth/more/mixins/salted_user/ar_salted_user_spec.rb +0 -0
  407. data/spec/rango/auth/more/mixins/salted_user/dm_salted_user_spec.rb +0 -0
  408. data/spec/rango/auth/more/mixins/salted_user/relaxdb_salted_user_spec.rb +0 -0
  409. data/spec/rango/auth/more/mixins/salted_user/sq_salted_user_spec.rb +0 -0
  410. data/spec/rango/auth/more/mixins/salted_user_spec.rb +0 -0
  411. data/spec/rango/auth/more/spec/merb-auth-more_spec_spec.rb +0 -0
  412. data/spec/rango/auth/more/spec/mixins/redirect_back_spec_spec.rb +0 -0
  413. data/spec/rango/auth/more/spec/mixins/salted_user_spec_spec.rb +0 -0
  414. data/spec/rango/auth/more/spec/spec_helper_spec.rb +0 -0
  415. data/spec/rango/auth/more/strategies/abstract_password_spec.rb +0 -0
  416. data/spec/rango/auth/more/strategies/basic/basic_auth_spec.rb +0 -0
  417. data/spec/rango/auth/more/strategies/basic/openid_spec.rb +0 -0
  418. data/spec/rango/auth/more/strategies/basic/password_form_spec.rb +0 -0
  419. data/spec/rango/auth/more_spec.rb +0 -0
  420. data/spec/rango/auth/slice/exceptions_spec.rb +0 -0
  421. data/spec/rango/auth/slice/merb-auth-slice-password_spec.rb +0 -0
  422. data/spec/rango/auth/slice/sessions_spec.rb +0 -0
  423. data/spec/rango/auth/slice/spec_helper_spec.rb +0 -0
  424. data/spec/rango/auth/slice/xsessions_spec.rb +0 -0
  425. data/spec/rango/boot_spec.rb +19 -0
  426. data/spec/rango/bundling/dependency_spec.rb +0 -0
  427. data/spec/rango/bundling/strategies_spec.rb +0 -0
  428. data/spec/rango/cli/project_spec.rb +0 -0
  429. data/spec/rango/contrib/pagination/adapters/dm_spec.rb +0 -0
  430. data/spec/rango/contrib/pagination/helpers_spec.rb +0 -0
  431. data/spec/rango/contrib/pagination/page_spec.rb +94 -0
  432. data/spec/rango/contrib/pagination/strategies_spec.rb +0 -0
  433. data/spec/rango/contrib/pagination_spec.rb +0 -0
  434. data/spec/rango/contrib/syndication_spec.rb +0 -0
  435. data/spec/rango/exceptions_spec.rb +0 -0
  436. data/spec/rango/ext/attribute_spec.rb +0 -0
  437. data/spec/rango/ext/colored_string_spec.rb +0 -0
  438. data/spec/rango/ext/core_ext_spec.rb +0 -0
  439. data/spec/rango/ext/kernel_spec.rb +0 -0
  440. data/spec/rango/ext/path_spec.rb +0 -0
  441. data/spec/rango/ext/string_spec.rb +0 -0
  442. data/spec/rango/ext/thor_spec.rb +0 -0
  443. data/spec/rango/ext/time_dsl_spec.rb +0 -0
  444. data/spec/rango/ext_spec.rb +0 -0
  445. data/spec/rango/forms/form_spec.rb +0 -0
  446. data/spec/rango/generators_spec.rb +0 -0
  447. data/spec/rango/generic_views/static_spec.rb +0 -0
  448. data/spec/rango/helpers/assets_spec.rb +0 -0
  449. data/spec/rango/helpers/general_spec.rb +0 -0
  450. data/spec/rango/helpers/merb-helpers/core_ext/numeric_spec.rb +0 -0
  451. data/spec/rango/helpers/merb-helpers/core_ext_spec.rb +0 -0
  452. data/spec/rango/helpers/merb-helpers/date_time_formatting_spec.rb +0 -0
  453. data/spec/rango/helpers/merb-helpers/date_time_helpers_spec.rb +0 -0
  454. data/spec/rango/helpers/merb-helpers/form/builder_spec.rb +0 -0
  455. data/spec/rango/helpers/merb-helpers/form/helpers_spec.rb +0 -0
  456. data/spec/rango/helpers/merb-helpers/form_helpers_spec.rb +0 -0
  457. data/spec/rango/helpers/merb-helpers/tag_helpers_spec.rb +0 -0
  458. data/spec/rango/helpers/merb-helpers/text_helpers_spec.rb +0 -0
  459. data/spec/rango/helpers/merb-helpers/time_dsl_spec.rb +0 -0
  460. data/spec/rango/helpers/merb-helpers_spec.rb +0 -0
  461. data/spec/rango/helpers/spec/core_ext_spec_spec.rb +0 -0
  462. data/spec/rango/helpers/spec/fixture/app/controllers/application_spec.rb +0 -0
  463. data/spec/rango/helpers/spec/fixture/app/controllers/bound_check_box_spec.rb +0 -0
  464. data/spec/rango/helpers/spec/fixture/app/controllers/bound_file_field_spec.rb +0 -0
  465. data/spec/rango/helpers/spec/fixture/app/controllers/bound_hidden_field_spec.rb +0 -0
  466. data/spec/rango/helpers/spec/fixture/app/controllers/bound_option_tag_spec.rb +0 -0
  467. data/spec/rango/helpers/spec/fixture/app/controllers/bound_password_field_spec.rb +0 -0
  468. data/spec/rango/helpers/spec/fixture/app/controllers/bound_radio_button_spec.rb +0 -0
  469. data/spec/rango/helpers/spec/fixture/app/controllers/bound_radio_group_spec.rb +0 -0
  470. data/spec/rango/helpers/spec/fixture/app/controllers/bound_select_spec.rb +0 -0
  471. data/spec/rango/helpers/spec/fixture/app/controllers/bound_text_area_spec.rb +0 -0
  472. data/spec/rango/helpers/spec/fixture/app/controllers/bound_text_field_spec.rb +0 -0
  473. data/spec/rango/helpers/spec/fixture/app/controllers/button_spec.rb +0 -0
  474. data/spec/rango/helpers/spec/fixture/app/controllers/check_box_spec.rb +0 -0
  475. data/spec/rango/helpers/spec/fixture/app/controllers/custom_builder_spec.rb +0 -0
  476. data/spec/rango/helpers/spec/fixture/app/controllers/delete_button_spec.rb +0 -0
  477. data/spec/rango/helpers/spec/fixture/app/controllers/exceptions_spec.rb +0 -0
  478. data/spec/rango/helpers/spec/fixture/app/controllers/field_set_spec.rb +0 -0
  479. data/spec/rango/helpers/spec/fixture/app/controllers/fields_for_spec.rb +0 -0
  480. data/spec/rango/helpers/spec/fixture/app/controllers/file_field_spec.rb +0 -0
  481. data/spec/rango/helpers/spec/fixture/app/controllers/foo_spec.rb +0 -0
  482. data/spec/rango/helpers/spec/fixture/app/controllers/form_for_spec.rb +0 -0
  483. data/spec/rango/helpers/spec/fixture/app/controllers/form_spec.rb +0 -0
  484. data/spec/rango/helpers/spec/fixture/app/controllers/hacker_spec.rb +0 -0
  485. data/spec/rango/helpers/spec/fixture/app/controllers/hidden_field_spec.rb +0 -0
  486. data/spec/rango/helpers/spec/fixture/app/controllers/label_spec.rb +0 -0
  487. data/spec/rango/helpers/spec/fixture/app/controllers/numeric_ext_spec.rb +0 -0
  488. data/spec/rango/helpers/spec/fixture/app/controllers/option_tag_spec.rb +0 -0
  489. data/spec/rango/helpers/spec/fixture/app/controllers/password_field_spec.rb +0 -0
  490. data/spec/rango/helpers/spec/fixture/app/controllers/radio_button_spec.rb +0 -0
  491. data/spec/rango/helpers/spec/fixture/app/controllers/radio_group_spec.rb +0 -0
  492. data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_span_spec.rb +0 -0
  493. data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_spec.rb +0 -0
  494. data/spec/rango/helpers/spec/fixture/app/controllers/select_spec.rb +0 -0
  495. data/spec/rango/helpers/spec/fixture/app/controllers/specs_controller_spec.rb +0 -0
  496. data/spec/rango/helpers/spec/fixture/app/controllers/submit_spec.rb +0 -0
  497. data/spec/rango/helpers/spec/fixture/app/controllers/tag_helper_spec.rb +0 -0
  498. data/spec/rango/helpers/spec/fixture/app/controllers/text_area_spec.rb +0 -0
  499. data/spec/rango/helpers/spec/fixture/app/controllers/text_field_spec.rb +0 -0
  500. data/spec/rango/helpers/spec/fixture/app/helpers/global_helpers_spec.rb +0 -0
  501. data/spec/rango/helpers/spec/fixture/app/models/fake_dm_model_spec.rb +0 -0
  502. data/spec/rango/helpers/spec/fixture/app/models/first_generic_fake_model_spec.rb +0 -0
  503. data/spec/rango/helpers/spec/fixture/app/models/hacker_generic_model_spec.rb +0 -0
  504. data/spec/rango/helpers/spec/fixture/app/models/second_generic_fake_model_spec.rb +0 -0
  505. data/spec/rango/helpers/spec/fixture/app/models/third_generic_fake_model_spec.rb +0 -0
  506. data/spec/rango/helpers/spec/fixture/config/environments/development_spec.rb +0 -0
  507. data/spec/rango/helpers/spec/fixture/config/environments/production_spec.rb +0 -0
  508. data/spec/rango/helpers/spec/fixture/config/environments/test_spec.rb +0 -0
  509. data/spec/rango/helpers/spec/fixture/config/init_spec.rb +0 -0
  510. data/spec/rango/helpers/spec/fixture/config/rack_spec.rb +0 -0
  511. data/spec/rango/helpers/spec/fixture/config/router_spec.rb +0 -0
  512. data/spec/rango/helpers/spec/merb_helpers_config_spec_spec.rb +0 -0
  513. data/spec/rango/helpers/spec/merb_helpers_date_time_spec_spec.rb +0 -0
  514. data/spec/rango/helpers/spec/merb_helpers_form_spec_spec.rb +0 -0
  515. data/spec/rango/helpers/spec/merb_helpers_tag_helper_spec_spec.rb +0 -0
  516. data/spec/rango/helpers/spec/merb_helpers_text_spec_spec.rb +0 -0
  517. data/spec/rango/helpers/spec/numeric_extlib_spec_spec.rb +0 -0
  518. data/spec/rango/helpers/spec/ordinalize_spec_spec.rb +0 -0
  519. data/spec/rango/helpers/spec/spec_helper_spec.rb +0 -0
  520. data/spec/rango/helpers/spec/time_dsl_spec_spec.rb +0 -0
  521. data/spec/rango/helpers/syntax_spec.rb +0 -0
  522. data/spec/rango/helpers_spec.rb +0 -0
  523. data/spec/rango/loggers/fireruby_spec.rb +0 -0
  524. data/spec/rango/loggers/logger_spec.rb +0 -0
  525. data/spec/rango/mixins/application_spec.rb +0 -0
  526. data/spec/rango/mixins/controller_spec.rb +0 -0
  527. data/spec/rango/mixins/import_spec.rb +0 -0
  528. data/spec/rango/mvc/controller_spec.rb +24 -0
  529. data/spec/rango/mvc/strategies_spec.rb +0 -0
  530. data/spec/rango/orm/adapters/dm/fields_spec.rb +0 -0
  531. data/spec/rango/orm/adapters/dm/setup_spec.rb +0 -0
  532. data/spec/rango/project_spec.rb +46 -0
  533. data/spec/rango/rack/dispatcher_spec.rb +0 -0
  534. data/spec/rango/rack/middlewares/emails_spec.rb +0 -0
  535. data/spec/rango/rack/middlewares/static_spec.rb +0 -0
  536. data/spec/rango/rack/request_spec.rb +18 -0
  537. data/spec/rango/rango_spec.rb +0 -0
  538. data/spec/rango/router/route_spec.rb +0 -0
  539. data/spec/rango/router/router_spec.rb +0 -0
  540. data/spec/rango/router/strategies_spec.rb +0 -0
  541. data/spec/rango/settings_spec.rb +26 -0
  542. data/spec/rango/spec/cucumber_spec.rb +0 -0
  543. data/spec/rango/spec/rspec_spec.rb +0 -0
  544. data/spec/rango/templates/adapter_spec.rb +0 -0
  545. data/spec/rango/templates/adapters/erb_spec.rb +0 -0
  546. data/spec/rango/templates/adapters/erubis_spec.rb +0 -0
  547. data/spec/rango/templates/adapters/haml_spec.rb +0 -0
  548. data/spec/rango/templates/template_spec.rb +0 -0
  549. data/spec/rango_spec.rb +37 -0
  550. data/spec/spec.opts +5 -0
  551. data/spec/spec_helper.rb +7 -0
  552. data/spec/stubs/flat.rb +0 -0
  553. data/stubs/app/content/init.rb.rbt +6 -0
  554. data/stubs/app/content/models.rb.rbt +9 -0
  555. data/stubs/app/content/views.rb.rbt +10 -0
  556. data/stubs/app/preprocess.rb +13 -0
  557. data/stubs/bigapp/content/init.rb +0 -0
  558. data/stubs/bigapp/content/views/application.rb +0 -0
  559. data/stubs/bigapp/preprocess.rb +5 -0
  560. data/stubs/features/content/env.rb +36 -0
  561. data/stubs/flat/content/flat.ru.rbt +19 -0
  562. data/stubs/flat/preprocess.rb +5 -0
  563. data/stubs/project/content/TODO +0 -0
  564. data/stubs/project/content/Thorfile +12 -0
  565. data/stubs/project/content/config.ru +34 -0
  566. data/stubs/project/content/init.rb +14 -0
  567. data/stubs/project/content/settings.rb.rbt +10 -0
  568. data/stubs/project/content/settings_local.rb.rbt +6 -0
  569. data/stubs/project/content/templates/base.html.haml.rbt +29 -0
  570. data/stubs/project/preprocess.rb +5 -0
  571. data/stubs/pupu/preprocess.rb +5 -0
  572. data/stubs/stub/content/metadata.yml +2 -0
  573. data/stubs/stub/content/postprocess.rb +7 -0
  574. data/stubs/stub/content/preprocess.rb +5 -0
  575. data/stubs/stub/preprocess.rb +5 -0
  576. data/support/Rango.tmbundle/Commands/Documentation for current word.tmCommand +22 -0
  577. data/support/Rango.tmbundle/Commands/Got to import.tmCommand +23 -0
  578. data/support/Rango.tmbundle/Commands/Rango console.tmCommand +22 -0
  579. data/support/Rango.tmbundle/Commands/Rango server.tmCommand +22 -0
  580. data/support/Rango.tmbundle/Commands/Read documentation.tmCommand +22 -0
  581. data/support/Rango.tmbundle/Snippets/Method with yardoc.tmSnippet +20 -0
  582. data/support/Rango.tmbundle/Snippets/Project_configure.tmSnippet +18 -0
  583. data/support/Rango.tmbundle/Snippets/Project_import.tmSnippet +16 -0
  584. data/support/Rango.tmbundle/Snippets/Project_logger_debug.tmSnippet +16 -0
  585. data/support/Rango.tmbundle/Snippets/Project_logger_error.tmSnippet +16 -0
  586. data/support/Rango.tmbundle/Snippets/Project_logger_fatal.tmSnippet +16 -0
  587. data/support/Rango.tmbundle/Snippets/Project_logger_inspect.tmSnippet +16 -0
  588. data/support/Rango.tmbundle/Snippets/Project_logger_warn.tmSnippet +16 -0
  589. data/support/Rango.tmbundle/Snippets/Rango_dependency.tmSnippet +16 -0
  590. data/support/Rango.tmbundle/Snippets/Rango_import.tmSnippet +16 -0
  591. data/support/Rango.tmbundle/Snippets/Rango_logger_debug.tmSnippet +16 -0
  592. data/support/Rango.tmbundle/Snippets/Rango_logger_error.tmSnippet +16 -0
  593. data/support/Rango.tmbundle/Snippets/Rango_logger_fatal.tmSnippet +16 -0
  594. data/support/Rango.tmbundle/Snippets/Rango_logger_inspect.tmSnippet +16 -0
  595. data/support/Rango.tmbundle/Snippets/Rango_logger_warn.tmSnippet +16 -0
  596. data/support/Rango.tmbundle/Snippets/controller.tmSnippet +28 -0
  597. data/support/Rango.tmbundle/Snippets/doc.tmSnippet +20 -0
  598. data/support/Rango.tmbundle/Snippets/match.tmSnippet +16 -0
  599. data/support/Rango.tmbundle/Snippets/thor task.tmSnippet +19 -0
  600. data/support/Rango.tmbundle/info.plist +37 -0
  601. data/support/hooks/commit-msg +13 -0
  602. data/support/hooks/post-commit +4 -0
  603. data/support/hooks/pre-commit +4 -0
  604. data/support/hooks/pre-rebase +169 -0
  605. data/support/hooks/prepare-commit-msg +36 -0
  606. data/tasks/hooks.thor +26 -0
  607. data/tasks/package.thor +49 -0
  608. data/tasks/release.thor +72 -0
  609. data/tasks/repair.thor +75 -0
  610. data/tasks/spec.thor +39 -0
  611. data/tasks/stats.thor +66 -0
  612. data/tasks/yardoc.thor +16 -0
  613. data/templates/errors/404.html.erb +52 -0
  614. data/templates/errors/406.html.erb +1 -0
  615. data/templates/errors/500.html.erb +48 -0
  616. metadata +866 -0
@@ -0,0 +1,8 @@
1
+ === Version 0.0.1 Miracle Born ===
2
+ Just basics
3
+
4
+ === Version 0.0.2 MVC Princess ===
5
+ static files middleware
6
+ MVC layer
7
+ sessions, cookies
8
+ integrated merb-auth
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Jakub Šťastný aka Botanicus
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,18 @@
1
+ h1. Installation
2
+
3
+ @sudo gem install botanicus-rango -s http://gems.github.com@
4
+
5
+ h1. Documentation
6
+
7
+ # "Tutorial":http://rango-project.org/docs/tutorial
8
+ # "API Docs":http://api.rango-project.org
9
+ # "Examples":http://github.com/botanicus/rango-examples
10
+
11
+ h1. Rango Development
12
+
13
+ # "Roadmap":http://bit.ly/1xIq67
14
+
15
+ h1. Community
16
+
17
+ # "Jabber MUC":rango@conf.netlab.cz
18
+ # "Twitter":https://twitter.com/RangoProject
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby1.9
2
+ # coding: utf-8
3
+
4
+ rango_root = File.join(File.dirname(__FILE__), '..')
5
+ $:.unshift("#{rango_root}/lib")
6
+
7
+ require "rango/ext/colored_string"
8
+
9
+ def help(command, description, indentation = 40)
10
+ indentation = indentation - command.length
11
+ spaces = " " * indentation
12
+ STDERR.puts(command + spaces + description)
13
+ end
14
+
15
+ case command = ARGV.first
16
+ when "create"
17
+ require "rango/cli/generators"
18
+ Rango::Generator.new(ARGV)
19
+ when "-i"
20
+ require "rango"
21
+ Rango.boot
22
+ Rango.interactive
23
+ else
24
+ # STDERR.puts(ColoredString.template("=== <green.bold>Usage</green.bold> ==="))
25
+ STDERR.puts("=== Usage ===")
26
+ help "rango create project mycoolproject", "Generate new site"
27
+ help "rango create app mycoolapp", "Generate new application"
28
+ help "rango -i", "Start Rango console"
29
+ exit 1
30
+ end
@@ -0,0 +1,114 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Class: Array</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section class Array">
16
+ <h1 class="title">Class: Array</h1>
17
+ <div class="section inheritance">
18
+ <ul>
19
+ <li><a href="Object.html" title="Object">Object</a></li><ul><li>Array</li>
20
+ </ul></ul>
21
+ </div><div class="section docstring">
22
+ <p>
23
+ coding: utf-8
24
+ </p>
25
+
26
+ </div><div class="section constants">
27
+
28
+ </div> <div class="section visibilitygroup public">
29
+ <h1>Public Visibility</h1>
30
+ <div class="section methodsummary instance public">
31
+ <h1>Public Instance Method Summary</h1>
32
+ <table class="summary">
33
+
34
+ <tr>
35
+ <th class="signature">
36
+ <span class='name'><a href="#rand-instance_method" title="#rand">#rand</a></span><span class='args'></span>
37
+ <span class='block'></span>
38
+
39
+ <span class='alias'>#random</span>
40
+
41
+ </th>
42
+ <td class="docstring">
43
+
44
+
45
+ </td>
46
+ </tr>
47
+
48
+ </table><div class="inherited">
49
+
50
+ <div>
51
+ <h1>Public Instance Methods Inherited from <a href="Object.html" title="Object">Object</a></h1>
52
+ <p><span class='name'><a href="Object.html#try-instance_method" title="try">try</a></span></p>
53
+ </div>
54
+
55
+ </div>
56
+ <div class="clear"></div>
57
+ </div>
58
+ <div class="section methoddetails instance public">
59
+ <h1>Public Instance Method Details</h1>
60
+
61
+ <div class="method">
62
+ <div class="method_header">
63
+ <h3>rand</h3>
64
+ </div><div id="rand-instance_method" class="section method">
65
+ <div class="details_title">
66
+ <div class='section methodsignature'>
67
+ <tt class='def'>
68
+ <span class='visibility'>public</span>
69
+ <span class='return_types'></span>
70
+ <span class='name'>rand</span><span class='args'></span>
71
+ <span class='block'></span>
72
+ </tt>
73
+ </div>
74
+ <p class="aliases">
75
+ <span class="aka">Also known as:</span>
76
+
77
+ <tt id="random-instance_method">random</tt>
78
+
79
+ </p>
80
+ </div><div class="section source">
81
+ <span>[<a class="source_link" href="#">View source</a>]</span>
82
+ <div class="source_code">
83
+ <table>
84
+ <tr>
85
+ <td>
86
+ <pre class="lines">
87
+
88
+
89
+ 4
90
+ 5
91
+ 6</pre>
92
+ </td>
93
+ <td>
94
+ <pre class="code"><span class="info file"># File 'lib/rango/ext/random.rb', line 4</span>
95
+
96
+ <span class='def def kw'>def</span> <span class='rand identifier id'>rand</span>
97
+ <span class='self self kw'>self</span><span class='lbrack token'>[</span><span class='Kernel constant id'>Kernel</span><span class='dot token'>.</span><span class='rand identifier id'>rand</span><span class='lparen token'>(</span><span class='length identifier id'>length</span><span class='rparen token'>)</span><span class='rbrack token'>]</span>
98
+ <span class='end end kw'>end</span>
99
+ </pre>
100
+ </td>
101
+ </tr>
102
+ </table>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </div>
107
+
108
+ </div>
109
+ </div>
110
+
111
+ </div>
112
+ </div>
113
+ </body>
114
+ </html>
@@ -0,0 +1,613 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Module: AttributeMixin</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section module AttributeMixin">
16
+ <h1 class="title">Module: AttributeMixin</h1>
17
+ <div class="section docstring">
18
+ <p>
19
+ default value for attr
20
+ </p>
21
+
22
+ </div><div class="section constants">
23
+
24
+ </div> <div class="section visibilitygroup public">
25
+ <h1>Public Visibility</h1>
26
+ <div class="section methodsummary instance public">
27
+ <h1>Public Instance Method Summary</h1>
28
+ <table class="summary">
29
+
30
+ <tr>
31
+ <th class="signature">
32
+ <span class='name'><a href="#attribute-instance_method" title="#attribute">#attribute</a></span><span class='args'>(name, default_value = nil)</span>
33
+ <span class='block'></span>
34
+
35
+ </th>
36
+ <td class="docstring">
37
+
38
+
39
+ <p class='returns'>
40
+ Returns:
41
+ <span class='return_types'>
42
+ <tt>name</tt>
43
+ </span>
44
+ </p>
45
+
46
+ </td>
47
+ </tr>
48
+
49
+ <tr>
50
+ <th class="signature">
51
+ <span class='name'><a href="#default_hattribute_names-instance_method" title="#default_hattribute_names">#default_hattribute_names</a></span><span class='args'></span>
52
+ <span class='block'></span>
53
+
54
+ </th>
55
+ <td class="docstring">
56
+ <p>
57
+ This will also define title and title= methods, but it doesn&#8217;t define
58
+ @title variable, but @<em>hattributes</em> hash with all the attributes.
59
+ </p>
60
+
61
+
62
+ <p class='returns'>
63
+ Returns:
64
+ <span class='return_types'>
65
+ <tt>name</tt>
66
+ </span>
67
+ </p>
68
+
69
+ </td>
70
+ </tr>
71
+
72
+ <tr>
73
+ <th class="signature">
74
+ <span class='name'><a href="#hattribute-instance_method" title="#hattribute">#hattribute</a></span><span class='args'>(name, default_value = nil)</span>
75
+ <span class='block'></span>
76
+
77
+ </th>
78
+ <td class="docstring">
79
+
80
+
81
+ </td>
82
+ </tr>
83
+
84
+ <tr>
85
+ <th class="signature">
86
+ <span class='name'><a href="#questionable-instance_method" title="#questionable">#questionable</a></span><span class='args'>(name, default_value)</span>
87
+ <span class='block'></span>
88
+
89
+ </th>
90
+ <td class="docstring">
91
+ <p>
92
+ class << self.
93
+ </p>
94
+
95
+
96
+ </td>
97
+ </tr>
98
+
99
+ </table>
100
+ </div>
101
+ <div class="section methoddetails instance public">
102
+ <h1>Public Instance Method Details</h1>
103
+
104
+ <div class="method">
105
+ <div class="method_header">
106
+ <h3>attribute</h3>
107
+ </div><div id="attribute-instance_method" class="section method">
108
+ <div class="details_title">
109
+ <div class='section methodsignature'>
110
+ <tt class='def'>
111
+ <span class='visibility'>public</span>
112
+ <span class='return_types'><tt>name</tt></span>
113
+ <span class='name'>attribute</span><span class='args'>(name, default_value = nil)</span>
114
+ <span class='block'></span>
115
+ </tt>
116
+ </div>
117
+
118
+ </div><div class="section tags">
119
+ <h2>Meta Tags</h2>
120
+ <div class="param">
121
+ <h3>Parameters:</h3>
122
+ <dl>
123
+
124
+
125
+ <dt>
126
+ <span class='type'>[<tt>Symbol</tt>]</span>
127
+ <span class='name'>name</span>
128
+
129
+ </dt>
130
+ <dd>
131
+ <span class='desc'><p>
132
+ Name of object variable which will be set. If you have <tt>attribute
133
+ :title</tt>, then the <tt>@title</tt> variable will be defined. It also create
134
+ <tt>#title</tt> and <tt>#title=</tt> accessors.
135
+ </p>
136
+ </span>
137
+ </dd>
138
+
139
+
140
+
141
+ <dt>
142
+ <span class='type'>[<tt><a href="Object.html" title="Object">Object</a></tt>, <tt>@optional</tt>]</span>
143
+ <span class='name'>default_value</span>
144
+
145
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
146
+
147
+ </dt>
148
+ <dd>
149
+ <span class='desc'><p>
150
+ Default value of the variable.
151
+ </p>
152
+ </span>
153
+ </dd>
154
+
155
+
156
+ </dl>
157
+ </div><div class="return">
158
+ <h3>Returns:</h3>
159
+ <dl>
160
+
161
+ <dt>
162
+
163
+ <span class='type'>[<tt>name</tt>]</span>
164
+
165
+
166
+ <span class='name'></span>
167
+
168
+
169
+ </dt>
170
+ <dd>
171
+ <span class='desc'><p>
172
+ Returns given default value or if default value.
173
+ </p>
174
+ </span>
175
+ </dd>
176
+
177
+ </dl>
178
+ </div>
179
+ <div class="since">
180
+ <h3>Since:</h3>
181
+ <dl>
182
+
183
+ <dt>
184
+
185
+
186
+
187
+ </dt>
188
+ <dd>
189
+ <span class='desc'><p>
190
+ 0.0.1
191
+ </p>
192
+ </span>
193
+ </dd>
194
+
195
+ </dl>
196
+ </div>
197
+ <div class="see">
198
+ <h3>See Also:</h3>
199
+ <dl>
200
+ <dt></dt>
201
+ <dd>
202
+ <span class='desc'>
203
+ <tt><a href="#hattribute-instance_method" title="#hattribute">#hattribute</a></tt>
204
+ </span>
205
+ </dd>
206
+ </dl>
207
+ </div>
208
+
209
+ </div><div class="section source">
210
+ <span>[<a class="source_link" href="#">View source</a>]</span>
211
+ <div class="source_code">
212
+ <table>
213
+ <tr>
214
+ <td>
215
+ <pre class="lines">
216
+
217
+
218
+ 21
219
+ 22
220
+ 23
221
+ 24
222
+ 25
223
+ 26
224
+ 27
225
+ 28
226
+ 29
227
+ 30
228
+ 31
229
+ 32
230
+ 33
231
+ 34
232
+ 35
233
+ 36
234
+ 37
235
+ 38
236
+ 39
237
+ 40</pre>
238
+ </td>
239
+ <td>
240
+ <pre class="code"><span class="info file"># File 'lib/rango/ext/attribute.rb', line 21</span>
241
+
242
+ <span class='def def kw'>def</span> <span class='attribute identifier id'>attribute</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='comma token'>,</span> <span class='default_value identifier id'>default_value</span> <span class='assign token'>=</span> <span class='nil nil kw'>nil</span><span class='rparen token'>)</span>
243
+ <span class='comment val'># define reader method</span>
244
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
245
+ <span class='if if kw'>if</span> <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
246
+ <span class='comment val'># lazy loading</span>
247
+ <span class='comment val'># TODO: why is it lazy loaded?</span>
248
+ <span class='default_value identifier id'>default_value</span> <span class='assign token'>=</span> <span class='default_value identifier id'>default_value</span><span class='dot token'>.</span><span class='call identifier id'>call</span> <span class='if if_mod kw'>if</span> <span class='default_value identifier id'>default_value</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='Proc constant id'>Proc</span><span class='rparen token'>)</span>
249
+ <span class='instance_variable_set identifier id'>instance_variable_set</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='comma token'>,</span> <span class='default_value identifier id'>default_value</span><span class='dot token'>.</span><span class='try_dup identifier id'>try_dup</span><span class='rparen token'>)</span> <span class='comment val'># dup is terribly important, otherwise all the objects will points to one object. If it is for example array, all of the objects will push into one array.</span>
250
+ <span class='end end kw'>end</span>
251
+ <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='rparen token'>)</span>
252
+ <span class='end end kw'>end</span>
253
+
254
+ <span class='comment val'># define writer method</span>
255
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{name}=&quot;</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='value identifier id'>value</span><span class='bitor op'>|</span>
256
+ <span class='instance_variable_set identifier id'>instance_variable_set</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='comma token'>,</span> <span class='value identifier id'>value</span><span class='rparen token'>)</span>
257
+ <span class='comment val'># TODO: here should be rewritten the reader for cases when user want to do foo.bar = nil because now it will still returns the default value</span>
258
+ <span class='end end kw'>end</span>
259
+
260
+ <span class='return return kw'>return</span> <span class='default_value identifier id'>default_value</span>
261
+ <span class='end end kw'>end</span>
262
+ </pre>
263
+ </td>
264
+ </tr>
265
+ </table>
266
+ </div>
267
+ </div>
268
+ </div>
269
+ </div>
270
+
271
+ <div class="method">
272
+ <div class="method_header">
273
+ <h3>default_hattribute_names</h3>
274
+ </div><div id="default_hattribute_names-instance_method" class="section method">
275
+ <div class="details_title">
276
+ <div class='section methodsignature'>
277
+ <tt class='def'>
278
+ <span class='visibility'>public</span>
279
+ <span class='return_types'><tt>name</tt></span>
280
+ <span class='name'>default_hattribute_names</span><span class='args'></span>
281
+ <span class='block'></span>
282
+ </tt>
283
+ </div>
284
+
285
+ </div><div class="section docstring">
286
+ <p>
287
+ This will also define title and title= methods, but it doesn&#8217;t define
288
+ @title variable, but @<em>hattributes</em> hash with all the attributes
289
+ </p>
290
+
291
+ </div><div class="section tags">
292
+ <h2>Meta Tags</h2>
293
+ <div class="param">
294
+ <h3>Parameters:</h3>
295
+ <dl>
296
+
297
+ </dl>
298
+ </div><div class="return">
299
+ <h3>Returns:</h3>
300
+ <dl>
301
+
302
+ <dt>
303
+
304
+ <span class='type'>[<tt>name</tt>]</span>
305
+
306
+
307
+ <span class='name'></span>
308
+
309
+
310
+ </dt>
311
+ <dd>
312
+ <span class='desc'><p>
313
+ Returns given default value or if default value.
314
+ </p>
315
+ </span>
316
+ </dd>
317
+
318
+ </dl>
319
+ </div>
320
+ <div class="since">
321
+ <h3>Since:</h3>
322
+ <dl>
323
+
324
+ <dt>
325
+
326
+
327
+
328
+ </dt>
329
+ <dd>
330
+ <span class='desc'><p>
331
+ 0.0.1
332
+ </p>
333
+ </span>
334
+ </dd>
335
+
336
+ </dl>
337
+ </div>
338
+ <div class="see">
339
+ <h3>See Also:</h3>
340
+ <dl>
341
+ <dt></dt>
342
+ <dd>
343
+ <span class='desc'>
344
+ <tt><a href="#attribute-instance_method" title="#attribute">#attribute</a></tt>
345
+ </span>
346
+ </dd>
347
+ </dl>
348
+ </div>
349
+
350
+ </div><div class="section source">
351
+ <span>[<a class="source_link" href="#">View source</a>]</span>
352
+ <div class="source_code">
353
+ <table>
354
+ <tr>
355
+ <td>
356
+ <pre class="lines">
357
+
358
+
359
+ 56
360
+ 57
361
+ 58
362
+ 59
363
+ 60</pre>
364
+ </td>
365
+ <td>
366
+ <pre class="code"><span class="info file"># File 'lib/rango/ext/attribute.rb', line 56</span>
367
+
368
+ <span class='def def kw'>def</span> <span class='default_hattribute_names identifier id'>default_hattribute_names</span>
369
+ <span class='comment val'># this can't be hash because in case the value will be lambda, we can't call it,</span>
370
+ <span class='comment val'># because lambda is evaluated in scope of instance</span>
371
+ <span class='@default_hattribute_names ivar id'>@default_hattribute_names</span> <span class='opasgn op'>||=</span> <span class='Array constant id'>Array</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
372
+ <span class='end end kw'>end</span>
373
+ </pre>
374
+ </td>
375
+ </tr>
376
+ </table>
377
+ </div>
378
+ </div>
379
+ </div>
380
+ </div>
381
+
382
+ <div class="method">
383
+ <div class="method_header">
384
+ <h3>hattribute</h3>
385
+ </div><div id="hattribute-instance_method" class="section method">
386
+ <div class="details_title">
387
+ <div class='section methodsignature'>
388
+ <tt class='def'>
389
+ <span class='visibility'>public</span>
390
+ <span class='return_types'></span>
391
+ <span class='name'>hattribute</span><span class='args'>(name, default_value = nil)</span>
392
+ <span class='block'></span>
393
+ </tt>
394
+ </div>
395
+
396
+ </div><div class="section source">
397
+ <span>[<a class="source_link" href="#">View source</a>]</span>
398
+ <div class="source_code">
399
+ <table>
400
+ <tr>
401
+ <td>
402
+ <pre class="lines">
403
+
404
+
405
+ 62
406
+ 63
407
+ 64
408
+ 65
409
+ 66
410
+ 67
411
+ 68
412
+ 69
413
+ 70
414
+ 71
415
+ 72
416
+ 73
417
+ 74
418
+ 75
419
+ 76
420
+ 77
421
+ 78
422
+ 79
423
+ 80
424
+ 81
425
+ 82
426
+ 83
427
+ 84
428
+ 85
429
+ 86
430
+ 87
431
+ 88
432
+ 89
433
+ 90
434
+ 91
435
+ 92
436
+ 93
437
+ 94
438
+ 95
439
+ 96
440
+ 97
441
+ 98
442
+ 99
443
+ 100
444
+ 101
445
+ 102
446
+ 103
447
+ 104
448
+ 105
449
+ 106
450
+ 107</pre>
451
+ </td>
452
+ <td>
453
+ <pre class="code"><span class="info file"># File 'lib/rango/ext/attribute.rb', line 62</span>
454
+
455
+ <span class='def def kw'>def</span> <span class='hattribute identifier id'>hattribute</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='comma token'>,</span> <span class='default_value identifier id'>default_value</span> <span class='assign token'>=</span> <span class='nil nil kw'>nil</span><span class='rparen token'>)</span>
456
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='default_hattribute_names identifier id'>default_hattribute_names</span><span class='dot token'>.</span><span class='push identifier id'>push</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span>
457
+
458
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='symbol val'>:hattributes</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
459
+ <span class='@__hattributes__ ivar id'>@__hattributes__</span> <span class='opasgn op'>||=</span> <span class='Hash constant id'>Hash</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
460
+ <span class='comment val'># this is importat for initialization @__hattributes__</span>
461
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='class identifier id'>class</span><span class='dot token'>.</span><span class='default_hattribute_names identifier id'>default_hattribute_names</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='hattribute identifier id'>hattribute</span><span class='bitor op'>|</span>
462
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='send identifier id'>send</span><span class='lparen token'>(</span><span class='hattribute identifier id'>hattribute</span><span class='rparen token'>)</span>
463
+ <span class='end end kw'>end</span>
464
+ <span class='return return kw'>return</span> <span class='@__hattributes__ ivar id'>@__hattributes__</span>
465
+ <span class='end end kw'>end</span>
466
+
467
+ <span class='comment val'># define reader method</span>
468
+ <span class='if if kw'>if</span> <span class='default_value identifier id'>default_value</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='Proc constant id'>Proc</span><span class='rparen token'>)</span>
469
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
470
+ <span class='properties identifier id'>properties</span> <span class='assign token'>=</span> <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='string val'>&quot;@__hattributes__&quot;</span><span class='rparen token'>)</span> <span class='orop op'>||</span> <span class='Hash constant id'>Hash</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
471
+ <span class='if if kw'>if</span> <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
472
+ <span class='comment val'># instance_variable_set(&quot;@#{name}&quot;, default_value)</span>
473
+ <span class='comment val'># lazy loading</span>
474
+ <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='instance_eval identifier id'>instance_eval</span><span class='lparen token'>(</span><span class='bitand op'>&amp;</span><span class='default_value identifier id'>default_value</span><span class='rparen token'>)</span>
475
+ <span class='end end kw'>end</span>
476
+ <span class='comment val'># instance_variable_get(&quot;@#{name}&quot;)</span>
477
+ <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span>
478
+ <span class='end end kw'>end</span>
479
+ <span class='else else kw'>else</span>
480
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
481
+ <span class='properties identifier id'>properties</span> <span class='assign token'>=</span> <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='string val'>&quot;@__hattributes__&quot;</span><span class='rparen token'>)</span> <span class='orop op'>||</span> <span class='Hash constant id'>Hash</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
482
+ <span class='comment val'># properties = @__hattributes__</span>
483
+ <span class='if if kw'>if</span> <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
484
+ <span class='comment val'># instance_variable_set(&quot;@#{name}&quot;, default_value)</span>
485
+ <span class='comment val'># lazy loading</span>
486
+ <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='default_value identifier id'>default_value</span><span class='dot token'>.</span><span class='try_dup identifier id'>try_dup</span>
487
+ <span class='end end kw'>end</span>
488
+ <span class='comment val'># instance_variable_get(&quot;@#{name}&quot;)</span>
489
+ <span class='properties identifier id'>properties</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span>
490
+ <span class='end end kw'>end</span>
491
+ <span class='end end kw'>end</span>
492
+
493
+ <span class='comment val'># define writer method</span>
494
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{name}=&quot;</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='value identifier id'>value</span><span class='bitor op'>|</span>
495
+ <span class='instance_variable_set identifier id'>instance_variable_set</span><span class='lparen token'>(</span><span class='string val'>&quot;@__hattributes__&quot;</span><span class='comma token'>,</span> <span class='Hash constant id'>Hash</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='rparen token'>)</span> <span class='unless unless_mod kw'>unless</span> <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='string val'>&quot;@__hattributes__&quot;</span><span class='rparen token'>)</span>
496
+ <span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='string val'>&quot;@__hattributes__&quot;</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='value identifier id'>value</span>
497
+ <span class='end end kw'>end</span>
498
+
499
+ <span class='return return kw'>return</span> <span class='default_value identifier id'>default_value</span>
500
+ <span class='end end kw'>end</span>
501
+ </pre>
502
+ </td>
503
+ </tr>
504
+ </table>
505
+ </div>
506
+ </div>
507
+ </div>
508
+ </div>
509
+
510
+ <div class="method">
511
+ <div class="method_header">
512
+ <h3>questionable</h3>
513
+ </div><div id="questionable-instance_method" class="section method">
514
+ <div class="details_title">
515
+ <div class='section methodsignature'>
516
+ <tt class='def'>
517
+ <span class='visibility'>public</span>
518
+ <span class='return_types'></span>
519
+ <span class='name'>questionable</span><span class='args'>(name, default_value)</span>
520
+ <span class='block'></span>
521
+ </tt>
522
+ </div>
523
+
524
+ </div><div class="section docstring">
525
+ <p>
526
+ class << self.class
527
+ </p>
528
+ <pre class="code">
529
+ <span class='def def kw'>def</span> <span class='hattributes identifier id'>hattributes</span>
530
+ <span class='raise identifier id'>raise</span> <span class='string val'>&quot;Y&quot;</span>
531
+ <span class='end end kw'>end</span>
532
+ </pre>
533
+ <p>
534
+ end class Post
535
+ </p>
536
+ <pre class="code">
537
+ <span class='questionable identifier id'>questionable</span> <span class='symbol val'>:updated</span><span class='comma token'>,</span> <span class='true true kw'>true</span>
538
+ </pre>
539
+ <p>
540
+ end Post.new.updated? # => true
541
+ </p>
542
+
543
+ </div><div class="section tags">
544
+ <h2>Meta Tags</h2>
545
+ <div class="param">
546
+ <h3>Parameters:</h3>
547
+ <dl>
548
+
549
+ </dl>
550
+ </div><div class="since">
551
+ <h3>Since:</h3>
552
+ <dl>
553
+
554
+ <dt>
555
+
556
+
557
+
558
+ </dt>
559
+ <dd>
560
+ <span class='desc'><p>
561
+ 0.0.2
562
+ </p>
563
+ </span>
564
+ </dd>
565
+
566
+ </dl>
567
+ </div>
568
+
569
+ </div><div class="section source">
570
+ <span>[<a class="source_link" href="#">View source</a>]</span>
571
+ <div class="source_code">
572
+ <table>
573
+ <tr>
574
+ <td>
575
+ <pre class="lines">
576
+
577
+
578
+ 121
579
+ 122
580
+ 123
581
+ 124
582
+ 125
583
+ 126
584
+ 127
585
+ 128</pre>
586
+ </td>
587
+ <td>
588
+ <pre class="code"><span class="info file"># File 'lib/rango/ext/attribute.rb', line 121</span>
589
+
590
+ <span class='def def kw'>def</span> <span class='questionable identifier id'>questionable</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='comma token'>,</span> <span class='default_value identifier id'>default_value</span><span class='rparen token'>)</span>
591
+ <span class='define_method identifier id'>define_method</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{name}?&quot;</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
592
+ <span class='unless unless kw'>unless</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='instance_variables identifier id'>instance_variables</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='name identifier id'>name</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='rparen token'>)</span>
593
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='instance_variable_set identifier id'>instance_variable_set</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='comma token'>,</span> <span class='default_value identifier id'>default_value</span><span class='rparen token'>)</span>
594
+ <span class='end end kw'>end</span>
595
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='instance_variable_get identifier id'>instance_variable_get</span><span class='lparen token'>(</span><span class='dstring node'>&quot;@#{name}&quot;</span><span class='rparen token'>)</span>
596
+ <span class='end end kw'>end</span>
597
+ <span class='end end kw'>end</span>
598
+ </pre>
599
+ </td>
600
+ </tr>
601
+ </table>
602
+ </div>
603
+ </div>
604
+ </div>
605
+ </div>
606
+
607
+ </div>
608
+ </div>
609
+
610
+ </div>
611
+ </div>
612
+ </body>
613
+ </html>