rtml 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +396 -0
  3. data/PostInstall.txt +2 -0
  4. data/README.rdoc +42 -0
  5. data/Rakefile +33 -0
  6. data/app_generators/rtml/USAGE +5 -0
  7. data/app_generators/rtml/rtml_generator.rb +78 -0
  8. data/app_generators/rtml/templates/rails_template.rb +36 -0
  9. data/app_generators/rtml/templates/rtml/MIT-LICENSE +20 -0
  10. data/app_generators/rtml/templates/rtml/README +109 -0
  11. data/app_generators/rtml/templates/rtml/Rakefile +38 -0
  12. data/app_generators/rtml/templates/rtml/app/controllers/beryl_controller.rb +70 -0
  13. data/app_generators/rtml/templates/rtml/app/controllers/rtml/magcard_demo_controller.rb +9 -0
  14. data/app_generators/rtml/templates/rtml/app/controllers/rtml/oe/btmlpa_controller.rb +158 -0
  15. data/app_generators/rtml/templates/rtml/app/controllers/rtml/rtml_app_controller.rb +252 -0
  16. data/app_generators/rtml/templates/rtml/app/controllers/rtml/tml_app_controller.rb +418 -0
  17. data/app_generators/rtml/templates/rtml/app/helpers/beryl_helper.rb +72 -0
  18. data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/auth_result.rb +56 -0
  19. data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/common.rb +19 -0
  20. data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/index.rb +82 -0
  21. data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_helper.rb +2 -0
  22. data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/authorized.rb +10 -0
  23. data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/common.rb +20 -0
  24. data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/index.rb +33 -0
  25. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_helper.rb +2 -0
  26. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/auth_result.rb +23 -0
  27. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/common.rb +23 -0
  28. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/dynamic.rb +11 -0
  29. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/icc.rb +384 -0
  30. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/index.rb +191 -0
  31. data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/receipt.rb +152 -0
  32. data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_helper.rb +74 -0
  33. data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_tml_helpers/common.rb +9 -0
  34. data/app_generators/rtml/templates/rtml/app/helpers/rtml/tml_app_helper.rb +43 -0
  35. data/app_generators/rtml/templates/rtml/app/models/rtml/card.rb +83 -0
  36. data/app_generators/rtml/templates/rtml/app/models/rtml/card_avs.rb +14 -0
  37. data/app_generators/rtml/templates/rtml/app/models/rtml/card_cvv.rb +14 -0
  38. data/app_generators/rtml/templates/rtml/app/models/rtml/card_parser.rb +21 -0
  39. data/app_generators/rtml/templates/rtml/app/models/rtml/card_pin.rb +18 -0
  40. data/app_generators/rtml/templates/rtml/app/models/rtml/emv_card_data.rb +25 -0
  41. data/app_generators/rtml/templates/rtml/app/models/rtml/mag_card_data.rb +21 -0
  42. data/app_generators/rtml/templates/rtml/app/models/rtml/reference_code.rb +26 -0
  43. data/app_generators/rtml/templates/rtml/app/models/rtml/state.rb +12 -0
  44. data/app_generators/rtml/templates/rtml/app/models/rtml/terminal.rb +8 -0
  45. data/app_generators/rtml/templates/rtml/app/models/rtml/transaction.rb +68 -0
  46. data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/another_rcpt.rtml.erb +15 -0
  47. data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt.rtml.erb +108 -0
  48. data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt_single_column.rtml.erb +106 -0
  49. data/app_generators/rtml/templates/rtml/app/views/beryl/index/about.rtml.erb +8 -0
  50. data/app_generators/rtml/templates/rtml/app/views/beryl/index/admin.rtml.erb +4 -0
  51. data/app_generators/rtml/templates/rtml/app/views/beryl/index/construction.rtml.erb +10 -0
  52. data/app_generators/rtml/templates/rtml/app/views/beryl/index/idle.rtml.erb +13 -0
  53. data/app_generators/rtml/templates/rtml/app/views/beryl/index/main_menu.rtml.erb +12 -0
  54. data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_credit.rtml.erb +8 -0
  55. data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_debit.rtml.erb +3 -0
  56. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_color.rtml.erb +24 -0
  57. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_mono.rtml.erb +8 -0
  58. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_color.rtml.erb +24 -0
  59. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_mono.rtml.erb +3 -0
  60. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i5100.rtml.erb +3 -0
  61. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i8550.rtml.erb +17 -0
  62. data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/uml.html.erb +11 -0
  63. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized.html.erb +15 -0
  64. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized/main.rtml.erb +5 -0
  65. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index.html.erb +15 -0
  66. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/_error.rtml.erb +2 -0
  67. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/enter_amount.rtml.erb +5 -0
  68. data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/main.rtml.erb +4 -0
  69. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/dynamic/response.rtml.erb +2 -0
  70. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/icc.rtml.erb +760 -0
  71. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_enter_amount.rtml.erb +4 -0
  72. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_about.rtml.erb +8 -0
  73. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_duplicate.rtml.erb +9 -0
  74. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_examples.rtml.erb +9 -0
  75. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_logo.rtml.erb +11 -0
  76. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_other.rtml.erb +20 -0
  77. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_refund.rtml.erb +8 -0
  78. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_reversal.rtml.erb +9 -0
  79. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale.rtml.erb +8 -0
  80. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale_cashback.rtml.erb +8 -0
  81. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/about.rtml.erb +1 -0
  82. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/assert.rtml.erb +2 -0
  83. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/card_nmb.rtml.erb +19 -0
  84. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/compl_txn.rtml.erb +1 -0
  85. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/confirm_rev.rtml.erb +3 -0
  86. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/duplicate_na.rtml.erb +1 -0
  87. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/error_scr.rtml.erb +4 -0
  88. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.bak +31 -0
  89. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.erb +40 -0
  90. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/print_pf.rtml.erb +1 -0
  91. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rd_sale_disp.rtml.erb +1 -0
  92. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_refund.rtml.erb +1 -0
  93. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_scb.rtml.erb +10 -0
  94. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/reject_trans.rtml.erb +1 -0
  95. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/remove_card.rtml.erb +1 -0
  96. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rev_bad.rtml.erb +1 -0
  97. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/scb_check_f.rtml.erb +2 -0
  98. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/sign_check.rtml.erb +3 -0
  99. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/subm_err.rtml.erb +2 -0
  100. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/to_man_entry.rtml.erb +2 -0
  101. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/trans_abrt.rtml.erb +1 -0
  102. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/void_trans.rtml.erb +1 -0
  103. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/_receipt.rtml.erb +29 -0
  104. data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/error_paper.rtml.erb +3 -0
  105. data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_development.html.erb +167 -0
  106. data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_header.html.erb +12 -0
  107. data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_production.html.erb +8 -0
  108. data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/charts.html.erb +14 -0
  109. data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/do_tml_redirect.rtml.erb +7 -0
  110. data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/get_terminal_info.rtml.erb +26 -0
  111. data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_in_public.rtml.erb +9 -0
  112. data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_locally.rtml.erb +42 -0
  113. data/app_generators/rtml/templates/rtml/components/rtml/features/common.rb +303 -0
  114. data/app_generators/rtml/templates/rtml/components/rtml/features/force.rb +46 -0
  115. data/app_generators/rtml/templates/rtml/components/rtml/features/return.rb +22 -0
  116. data/app_generators/rtml/templates/rtml/components/rtml/features/sale.rb +49 -0
  117. data/app_generators/rtml/templates/rtml/components/rtml/features/views/_confirmation.rtml.erb +10 -0
  118. data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_agreement.rtml.erb +3 -0
  119. data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_footer.rtml.erb +2 -0
  120. data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_header.rtml.erb +4 -0
  121. data/app_generators/rtml/templates/rtml/components/rtml/features/views/ask_cashback.rtml.erb +11 -0
  122. data/app_generators/rtml/templates/rtml/components/rtml/features/views/card_imprint.rtml.erb +7 -0
  123. data/app_generators/rtml/templates/rtml/components/rtml/features/views/check_cb.rtml.erb +11 -0
  124. data/app_generators/rtml/templates/rtml/components/rtml/features/views/conf_debit.rtml.erb +5 -0
  125. data/app_generators/rtml/templates/rtml/components/rtml/features/views/confirm_sale.rtml.erb +4 -0
  126. data/app_generators/rtml/templates/rtml/components/rtml/features/views/confrm_force.rtml.erb +4 -0
  127. data/app_generators/rtml/templates/rtml/components/rtml/features/views/cvv_skipped.rtml.erb +10 -0
  128. data/app_generators/rtml/templates/rtml/components/rtml/features/views/disp_avs.rtml.erb +8 -0
  129. data/app_generators/rtml/templates/rtml/components/rtml/features/views/do_avs_zip.rtml.erb +8 -0
  130. data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_amount.rtml.erb +12 -0
  131. data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_card.rtml.erb +8 -0
  132. data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cashbk.rtml.erb +10 -0
  133. data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cvv2.rtml.erb +8 -0
  134. data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_expiry.rtml.erb +9 -0
  135. data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check1.rtml.erb +6 -0
  136. data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check2.rtml.erb +8 -0
  137. data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_aprvl.rtml.erb +8 -0
  138. data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_avs_zip.rtml.erb +8 -0
  139. data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_bad_aprv.rtml.erb +5 -0
  140. data/app_generators/rtml/templates/rtml/components/rtml/features/views/frd_chk_fail.rtml.erb +5 -0
  141. data/app_generators/rtml/templates/rtml/components/rtml/features/views/invalid_exp.rtml.erb +1 -0
  142. data/app_generators/rtml/templates/rtml/components/rtml/features/views/no_entr_crd.rtml.erb +1 -0
  143. data/app_generators/rtml/templates/rtml/components/rtml/features/views/remove_card.rtml.erb +1 -0
  144. data/app_generators/rtml/templates/rtml/components/rtml/features/views/swipe_card.rtml.erb +7 -0
  145. data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_abort.rtml.erb +1 -0
  146. data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_reject.rtml.erb +1 -0
  147. data/app_generators/rtml/templates/rtml/components/rtml/features/views/void_ref.rtml.erb +10 -0
  148. data/app_generators/rtml/templates/rtml/components/rtml/features/void.rb +30 -0
  149. data/app_generators/rtml/templates/rtml/components/rtml/widgets/card_parser_widget.rb +90 -0
  150. data/app_generators/rtml/templates/rtml/components/rtml/widgets/display_widget.rb +66 -0
  151. data/app_generators/rtml/templates/rtml/components/rtml/widgets/element_builder_widget.rb +123 -0
  152. data/app_generators/rtml/templates/rtml/components/rtml/widgets/emv_support_widget.rb +365 -0
  153. data/app_generators/rtml/templates/rtml/components/rtml/widgets/form_submit_widget.rb +65 -0
  154. data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_transaction_variables_widget.rb +33 -0
  155. data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_variable_widget.rb +39 -0
  156. data/app_generators/rtml/templates/rtml/components/rtml/widgets/receipt_widget.rb +66 -0
  157. data/app_generators/rtml/templates/rtml/components/rtml/widgets/screen_builder_widget.rb +49 -0
  158. data/app_generators/rtml/templates/rtml/db/migrate/20090825132217_create_rtml_states.rb +15 -0
  159. data/app_generators/rtml/templates/rtml/db/migrate/20090825132401_create_rtml_terminals.rb +16 -0
  160. data/app_generators/rtml/templates/rtml/db/migrate/20090825132530_create_rtml_transactions.rb +24 -0
  161. data/app_generators/rtml/templates/rtml/db/migrate/20090825134118_create_rtml_cards.rb +23 -0
  162. data/app_generators/rtml/templates/rtml/db/migrate/20090825134622_create_rtml_emv_card_data.rb +20 -0
  163. data/app_generators/rtml/templates/rtml/db/migrate/20090825134629_create_rtml_mag_card_data.rb +17 -0
  164. data/app_generators/rtml/templates/rtml/db/migrate/20090825135838_create_rtml_card_parsers.rb +19 -0
  165. data/app_generators/rtml/templates/rtml/db/migrate/20090826103509_create_reference_codes.rb +14 -0
  166. data/app_generators/rtml/templates/rtml/db/migrate/20090915030044_add_batch_to_rtml_transactions.rb +10 -0
  167. data/app_generators/rtml/templates/rtml/db/migrate/20090915031155_add_additional_data_to_rtml_transactions.rb +10 -0
  168. data/app_generators/rtml/templates/rtml/db/migrate/20090915031156_add_hidden_data_to_rtml_transactions.rb +10 -0
  169. data/app_generators/rtml/templates/rtml/db/migrate/20091016133313_create_rtml_card_avs.rb +16 -0
  170. data/app_generators/rtml/templates/rtml/db/migrate/20091016135800_create_rtml_card_cvvs.rb +16 -0
  171. data/app_generators/rtml/templates/rtml/db/migrate/20091016135810_create_rtml_card_pins.rb +16 -0
  172. data/app_generators/rtml/templates/rtml/db/migrate/20091016135820_reverse_card_transaction_relationship.rb +11 -0
  173. data/app_generators/rtml/templates/rtml/db/migrate/20100127115105_convert_rtml_migrations_to_rails_migrations.rb +31 -0
  174. data/app_generators/rtml/templates/rtml/generators/rtml_controller/USAGE +25 -0
  175. data/app_generators/rtml/templates/rtml/generators/rtml_controller/rtml_controller_generator.rb +49 -0
  176. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/common_tml_helper.rb +20 -0
  177. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/controller.rb +3 -0
  178. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_color.css +37 -0
  179. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_mono.css +12 -0
  180. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/functional_test.rb +11 -0
  181. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/helper.rb +2 -0
  182. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_color.rtml.erb +24 -0
  183. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_mono.rtml.erb +3 -0
  184. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/tml_helper.rb +16 -0
  185. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.html.erb +15 -0
  186. data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.rtml.erb +2 -0
  187. data/app_generators/rtml/templates/rtml/generators/rtml_document/USAGE +8 -0
  188. data/app_generators/rtml/templates/rtml/generators/rtml_document/rtml_document_generator.rb +45 -0
  189. data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/controller.rb +7 -0
  190. data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/functional_test.rb +10 -0
  191. data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/helper.rb +2 -0
  192. data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/view.rtml.erb +11 -0
  193. data/app_generators/rtml/templates/rtml/generators/rtml_widget/USAGE +8 -0
  194. data/app_generators/rtml/templates/rtml/generators/rtml_widget/rtml_widget_generator.rb +66 -0
  195. data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget.rb +57 -0
  196. data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget_no_help.rb +27 -0
  197. data/app_generators/rtml/templates/rtml/init.rb +40 -0
  198. data/app_generators/rtml/templates/rtml/install.rb +18 -0
  199. data/app_generators/rtml/templates/rtml/lib/environment.rb +61 -0
  200. data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/request.rb +9 -0
  201. data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/routing/route_set.rb +34 -0
  202. data/app_generators/rtml/templates/rtml/lib/extensions/action_view/base.rb +74 -0
  203. data/app_generators/rtml/templates/rtml/lib/extensions/action_view/partial_template.rb +24 -0
  204. data/app_generators/rtml/templates/rtml/lib/extensions/active_record.rb +13 -0
  205. data/app_generators/rtml/templates/rtml/lib/extensions/active_support/dependencies.rb +25 -0
  206. data/app_generators/rtml/templates/rtml/lib/extensions/array.rb +15 -0
  207. data/app_generators/rtml/templates/rtml/lib/extensions/attr_boolean.rb +10 -0
  208. data/app_generators/rtml/templates/rtml/lib/extensions/hash.rb +28 -0
  209. data/app_generators/rtml/templates/rtml/lib/extensions/nil_class.rb +20 -0
  210. data/app_generators/rtml/templates/rtml/lib/extensions/rake.rb +19 -0
  211. data/app_generators/rtml/templates/rtml/lib/extensions/regexp.rb +16 -0
  212. data/app_generators/rtml/templates/rtml/lib/extensions/string.rb +37 -0
  213. data/app_generators/rtml/templates/rtml/lib/other_plugins.rb +23 -0
  214. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/MIT-LICENSE +20 -0
  215. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/README +36 -0
  216. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/Rakefile +44 -0
  217. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/init.rb +25 -0
  218. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/action_controller/filters/before_render_filter.rb +30 -0
  219. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render.rb +43 -0
  220. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render_instance.rb +45 -0
  221. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_chain_has_many_types_of_filters.rb +87 -0
  222. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_has_before_render.rb +26 -0
  223. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/tasks/before_render_tasks.rake +25 -0
  224. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/before_render_test.rb +29 -0
  225. data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/test_helper.rb +24 -0
  226. data/app_generators/rtml/templates/rtml/lib/rtml.rb +77 -0
  227. data/app_generators/rtml/templates/rtml/lib/rtml/beryl/constants.rb +12 -0
  228. data/app_generators/rtml/templates/rtml/lib/rtml/beryl/version.rb +11 -0
  229. data/app_generators/rtml/templates/rtml/lib/rtml/common/renderable.rb +13 -0
  230. data/app_generators/rtml/templates/rtml/lib/rtml/core/include.rb +30 -0
  231. data/app_generators/rtml/templates/rtml/lib/rtml/core/layout.rb +59 -0
  232. data/app_generators/rtml/templates/rtml/lib/rtml/core/next.rb +188 -0
  233. data/app_generators/rtml/templates/rtml/lib/rtml/core/screen.rb +91 -0
  234. data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/iterators.rb +63 -0
  235. data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/next_screen_methods.rb +70 -0
  236. data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/variable_methods.rb +73 -0
  237. data/app_generators/rtml/templates/rtml/lib/rtml/core/support/importer.rb +55 -0
  238. data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document.rb +318 -0
  239. data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/screen_methods.rb +79 -0
  240. data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/variable_methods.rb +83 -0
  241. data/app_generators/rtml/templates/rtml/lib/rtml/core/variable.rb +123 -0
  242. data/app_generators/rtml/templates/rtml/lib/rtml/debug/browser_emulator.rb +59 -0
  243. data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_controller_test_case.rb +7 -0
  244. data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_core_unit_test.rb +11 -0
  245. data/app_generators/rtml/templates/rtml/lib/rtml/debug/unit_test.rb +3 -0
  246. data/app_generators/rtml/templates/rtml/lib/rtml/delegation.rb +8 -0
  247. data/app_generators/rtml/templates/rtml/lib/rtml/doc.rb +12 -0
  248. data/app_generators/rtml/templates/rtml/lib/rtml/element.rb +75 -0
  249. data/app_generators/rtml/templates/rtml/lib/rtml/errors/widget_accessor_failure.rb +9 -0
  250. data/app_generators/rtml/templates/rtml/lib/rtml/events/event_handler.rb +79 -0
  251. data/app_generators/rtml/templates/rtml/lib/rtml/events/event_processor.rb +106 -0
  252. data/app_generators/rtml/templates/rtml/lib/rtml/events/processors.rb +10 -0
  253. data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/defaults_processor.rb +18 -0
  254. data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/key_processor.rb +21 -0
  255. data/app_generators/rtml/templates/rtml/lib/rtml/feature.rb +32 -0
  256. data/app_generators/rtml/templates/rtml/lib/rtml/feature_config.rb +195 -0
  257. data/app_generators/rtml/templates/rtml/lib/rtml/features.rb +18 -0
  258. data/app_generators/rtml/templates/rtml/lib/rtml/features/array_of_feature_instances.rb +17 -0
  259. data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_class_methods.rb +30 -0
  260. data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_instance_methods.rb +35 -0
  261. data/app_generators/rtml/templates/rtml/lib/rtml/helpers.rb +21 -0
  262. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers.rb +59 -0
  263. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers/menu_helpers.rb +193 -0
  264. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/action_view_wrapper.rb +23 -0
  265. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/event_helpers.rb +28 -0
  266. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/layout_helpers.rb +47 -0
  267. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support.rb +181 -0
  268. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support/class_methods.rb +28 -0
  269. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/yield_helpers.rb +33 -0
  270. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/proxy_helpers/feature_helpers.rb +17 -0
  271. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/render_helper.rb +71 -0
  272. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/terminal_helpers.rb +21 -0
  273. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers.rb +6 -0
  274. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/tml_validation_assertions.rb +10 -0
  275. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/variable_assertions.rb +27 -0
  276. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/form_helpers.rb +70 -0
  277. data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/rtml_form_builder.rb +174 -0
  278. data/app_generators/rtml/templates/rtml/lib/rtml/oe/btmlpa_constants.rb +48 -0
  279. data/app_generators/rtml/templates/rtml/lib/rtml/proxying/method_missing_methods.rb +14 -0
  280. data/app_generators/rtml/templates/rtml/lib/rtml/proxying/rtml_interface.rb +33 -0
  281. data/app_generators/rtml/templates/rtml/lib/rtml/proxying/sandbox.rb +18 -0
  282. data/app_generators/rtml/templates/rtml/lib/rtml/text_utils.rb +51 -0
  283. data/app_generators/rtml/templates/rtml/lib/rtml/tml_param_parser.rb +95 -0
  284. data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_rule_parser.rb +61 -0
  285. data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_tag.rb +52 -0
  286. data/app_generators/rtml/templates/rtml/lib/rtml/validation/predefined_variable_rule_parser.rb +97 -0
  287. data/app_generators/rtml/templates/rtml/lib/rtml/validation/tml_validator.rb +16 -0
  288. data/app_generators/rtml/templates/rtml/lib/rtml/version.rb +11 -0
  289. data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property.rb +11 -0
  290. data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property_accessors.rb +59 -0
  291. data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget.rb +251 -0
  292. data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget_class_methods.rb +213 -0
  293. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/dot.gif +0 -0
  294. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_can.gif +0 -0
  295. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_cand.gif +0 -0
  296. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_en.gif +0 -0
  297. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_end.gif +0 -0
  298. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_i.gif +0 -0
  299. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icd.gif +0 -0
  300. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icl.gif +0 -0
  301. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icr.gif +0 -0
  302. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ics.gif +0 -0
  303. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icsw.gif +0 -0
  304. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icv.gif +0 -0
  305. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int.gif +0 -0
  306. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int2.gif +0 -0
  307. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_men.gif +0 -0
  308. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_mend.gif +0 -0
  309. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_next.gif +0 -0
  310. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_no.gif +0 -0
  311. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_nod.gif +0 -0
  312. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ok.gif +0 -0
  313. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_okd.gif +0 -0
  314. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic1.gif +0 -0
  315. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic2.gif +0 -0
  316. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic3.gif +0 -0
  317. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic4.gif +0 -0
  318. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_top.gif +0 -0
  319. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_txn.gif +0 -0
  320. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yes.gif +0 -0
  321. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yesd.gif +0 -0
  322. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/btmlpa.gif +0 -0
  323. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_dn.gif +0 -0
  324. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_up.gif +0 -0
  325. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/conf.gif +0 -0
  326. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/iccemv.gif +0 -0
  327. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/images.lib +0 -0
  328. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/magcard.gif +0 -0
  329. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_dn.gif +0 -0
  330. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_up.gif +0 -0
  331. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_dn.gif +0 -0
  332. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_up.gif +0 -0
  333. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/top.gif +0 -0
  334. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_dn.gif +0 -0
  335. data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_up.gif +0 -0
  336. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_color.css +37 -0
  337. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_mono.css +17 -0
  338. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/charts.css +0 -0
  339. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i5100.css +12 -0
  340. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i8550.css +37 -0
  341. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/receipt.css +4 -0
  342. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i5100.css +12 -0
  343. data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i8550.css +37 -0
  344. data/app_generators/rtml/templates/rtml/reporting/110409 +227 -0
  345. data/app_generators/rtml/templates/rtml/reporting/linecount.rb +42 -0
  346. data/app_generators/rtml/templates/rtml/rules/predefined_tml_variables.rb +63 -0
  347. data/app_generators/rtml/templates/rtml/rules/tml_document_structure.rb +84 -0
  348. data/app_generators/rtml/templates/rtml/rules/varns/audio.rb +30 -0
  349. data/app_generators/rtml/templates/rtml/rules/varns/card.rb +17 -0
  350. data/app_generators/rtml/templates/rtml/rules/varns/card/emv.rb +31 -0
  351. data/app_generators/rtml/templates/rtml/rules/varns/card/mag.rb +8 -0
  352. data/app_generators/rtml/templates/rtml/rules/varns/card/parser.rb +7 -0
  353. data/app_generators/rtml/templates/rtml/rules/varns/card/pin.rb +6 -0
  354. data/app_generators/rtml/templates/rtml/rules/varns/cfgm.rb +15 -0
  355. data/app_generators/rtml/templates/rtml/rules/varns/com.rb +9 -0
  356. data/app_generators/rtml/templates/rtml/rules/varns/err.rb +14 -0
  357. data/app_generators/rtml/templates/rtml/rules/varns/gma/event.rb +13 -0
  358. data/app_generators/rtml/templates/rtml/rules/varns/gprs.rb +8 -0
  359. data/app_generators/rtml/templates/rtml/rules/varns/imager.rb +8 -0
  360. data/app_generators/rtml/templates/rtml/rules/varns/ip.rb +15 -0
  361. data/app_generators/rtml/templates/rtml/rules/varns/oebr.rb +42 -0
  362. data/app_generators/rtml/templates/rtml/rules/varns/oebr/3rdparty.rb +7 -0
  363. data/app_generators/rtml/templates/rtml/rules/varns/oebr/backlight.rb +4 -0
  364. data/app_generators/rtml/templates/rtml/rules/varns/oebr/cache.rb +1 -0
  365. data/app_generators/rtml/templates/rtml/rules/varns/oebr/connect.rb +5 -0
  366. data/app_generators/rtml/templates/rtml/rules/varns/oebr/connection.rb +5 -0
  367. data/app_generators/rtml/templates/rtml/rules/varns/oebr/offline.rb +5 -0
  368. data/app_generators/rtml/templates/rtml/rules/varns/oegw.rb +12 -0
  369. data/app_generators/rtml/templates/rtml/rules/varns/payment.rb +21 -0
  370. data/app_generators/rtml/templates/rtml/rules/varns/ppp.rb +11 -0
  371. data/app_generators/rtml/templates/rtml/rules/varns/terminal.rb +29 -0
  372. data/app_generators/rtml/templates/rtml/tasks/rtml_tasks.rake +78 -0
  373. data/app_generators/rtml/templates/rtml/template.rb +64 -0
  374. data/app_generators/rtml/templates/rtml/test/core/element_test.rb +17 -0
  375. data/app_generators/rtml/templates/rtml/test/core/screen_test.rb +91 -0
  376. data/app_generators/rtml/templates/rtml/test/core/tml_document_test.rb +53 -0
  377. data/app_generators/rtml/templates/rtml/test/functional/beryl_controller_test.rb +13 -0
  378. data/app_generators/rtml/templates/rtml/test/functional/btmlpa_controller_test.rb +13 -0
  379. data/app_generators/rtml/templates/rtml/test/functional/magcard_demo_controller_test.rb +20 -0
  380. data/app_generators/rtml/templates/rtml/test/functional/rtml_app_controller_test.rb +9 -0
  381. data/app_generators/rtml/templates/rtml/test/functional/rtml_routing_test.rb +19 -0
  382. data/app_generators/rtml/templates/rtml/test/functional/tml_controller_params_test.rb +20 -0
  383. data/app_generators/rtml/templates/rtml/test/rtml_test_helper.rb +44 -0
  384. data/app_generators/rtml/templates/rtml/test/validation/predefined_variable_rule_parser_test.rb +11 -0
  385. data/app_generators/rtml/templates/rtml/uninstall.rb +1 -0
  386. data/app_generators/rtml/templates/rtml/update.rb +57 -0
  387. data/bin/rtml +36 -0
  388. data/lib/rtml.rb +4 -0
  389. data/script/console +10 -0
  390. data/script/destroy +14 -0
  391. data/script/generate +14 -0
  392. data/tasks/reglob.rake +28 -0
  393. data/test/test_generator_helper.rb +29 -0
  394. data/test/test_helper.rb +3 -0
  395. data/test/test_rtml.rb +11 -0
  396. data/test/test_rtml_generator.rb +43 -0
  397. metadata +516 -0
@@ -0,0 +1,17 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class ElementTest < Test::Unit::TestCase
4
+ def setup
5
+ @element = Rtml::Core::TMLDocument.new
6
+ end
7
+
8
+ def test_element_protects_all_instance_variables
9
+ arr = (@element.instance_variables - @element.protected_instance_variables)
10
+ assert(arr.empty?, "Expected empty array, found #{arr.inspect}")
11
+ end
12
+
13
+ def test_element_stores_attributes_properly
14
+ @element[:test_attribute] = "test value"
15
+ assert(@element[:test_attribute] == "test value", "Expected 'test value', found #{@element[:test_attribute].inspect}")
16
+ end
17
+ end
@@ -0,0 +1,91 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class ScreenTest < Rtml::Debug::RtmlCoreUnitTest
4
+ def test_remove_screen
5
+ document.screen :first, :second
6
+ second = document.screen :second, :third
7
+
8
+ document.remove_screen :first
9
+ document.remove_screen second
10
+
11
+ assert_nil document.find(:first)
12
+ assert_nil document.find(:second)
13
+ end
14
+
15
+ def setup_variants
16
+ @hyperlink_variants = { document.url_for(:action => 'third') => :hyperlink,
17
+ document.url_for(:anchor => 'fourth') => :hyperlink }
18
+ @default_variant = :second
19
+ @other_variants = { :fifth => 'tmlvar:one == tmlvar:two',
20
+ :sixth => 'tmlvar:three == tmlvar:four',
21
+ :seventh => 'on: f1',
22
+ :eighth => 'on: 00' }.with_indifferent_access
23
+ @expected_variants = { @default_variant => :default }
24
+ @expected_variants.merge! @hyperlink_variants;
25
+ @expected_variants.merge! @other_variants
26
+
27
+ @scr = (document.screen(:first) do
28
+ goto :second
29
+ goto :fifth, :if => 'tmlvar:one == tmlvar:two'
30
+ goto :sixth, :if => 'tmlvar:three != tmlvar:four'
31
+ on :f1 => :seventh, '00' => :eighth
32
+
33
+ display do
34
+ r = ""
35
+ r.concat link_to("Third", :action => 'third')
36
+ r.concat link_to("Fourth", :anchor => :fourth)
37
+ r
38
+ end
39
+ end)
40
+ end
41
+
42
+ def test_all_possible_variants_with_block
43
+ setup_variants
44
+ @scr.every_possible_variant { |condition, destination| assert_possible_variant_is_correct(condition, destination) }
45
+ assert_all_possible_variants_were_found
46
+ document.remove_screen @scr
47
+ end
48
+
49
+ def test_all_possible_variants_without_block
50
+ setup_variants
51
+ variants = @scr.every_possible_variant
52
+ variants.each { |destination, condition| assert_possible_variant_is_correct(condition, destination) }
53
+ assert_all_possible_variants_were_found
54
+ document.remove_screen @scr
55
+ end
56
+
57
+ private
58
+ def assert_possible_variant_is_correct(condition, destination)
59
+ destination = destination.to_s
60
+ destination = destination[1..-1] if destination[0] == ?#
61
+ @hyperlinks ||= []
62
+ @default ||= nil
63
+ @others ||= []
64
+
65
+ assert !@expected_variants.keys.select{ |d| d.to_s == destination }.empty?,
66
+ "Shouldn't be a variant: #{destination.inspect}, expected one of #{@expected_variants.keys.inspect}"
67
+ case condition
68
+ when :hyperlink
69
+ assert !@hyperlink_variants.keys.select {|i| i.to_s == destination}.empty?,
70
+ "Shouldn't be a hyperlink: #{destination.inspect}"
71
+ @hyperlinks << destination unless @hyperlinks.include? destination
72
+ when :default
73
+ assert_nil @default, "Found more than one default: #{@default.inspect} and #{destination.inspect}"
74
+ @default = destination
75
+ else # some TML condition
76
+ assert !@other_variants.keys.select {|i| i == destination}.empty?,
77
+ "Shouldn't be a TML condition: #{destination.inspect}"
78
+ @others << destination unless @others.include? destination
79
+ end
80
+ true
81
+ end
82
+
83
+ def assert_all_possible_variants_were_found
84
+ assert((@hyperlinks - @hyperlink_variants.keys).empty?,
85
+ "Hyperlinks not found: #{(@hyperlinks - @hyperlink_variants.keys).join("; ")}")
86
+ assert_not_nil @default, "Did not find a default"
87
+ assert((@others - @other_variants.keys).empty?,
88
+ "TML conditional variants not found: #{(@others - @other_variants.keys).join("; ")}")
89
+ true
90
+ end
91
+ end
@@ -0,0 +1,53 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class TMLDocumentTest < Rtml::Debug::RtmlCoreUnitTest
4
+ def test_includes_work_properly
5
+ document.includes :stylesheet, "/stylesheets/rtml/pretty.css"
6
+ document.includes :css, :source => "/stylesheets/rtml/pretty.css"
7
+ document.includes :source => "/stylesheets/rtml/pretty.css", :type => :stylesheet
8
+ document.includes :tml, :source => "/tml/error_screens.tml"
9
+ document.includes :rtml, :source => "/rtml_app_controller/get_terminal_info.rtml"
10
+
11
+ document.includes :tml, "/tml/error_screens.tml"
12
+ document.includes :tml, :source => 'errors/500'
13
+ document.includes :rtml, :source => 'errors/500'
14
+ document.includes :action => :errors, :id => 500
15
+ document.includes :tml, :source => { :action => :errors, :id => 500 }
16
+
17
+ document.includes "/tml/error_screens.tml"
18
+ document.includes "/tml/error_screens.rtml"
19
+ document.includes "/stylesheets/rtml/pretty.css"
20
+ end
21
+
22
+ def test_element_protects_all_instance_variables
23
+ arr = (document.instance_variables - document.protected_instance_variables)
24
+ assert(arr.empty?, "Expected empty array, found #{arr.inspect}")
25
+ end
26
+
27
+ def test_sets_default_screen
28
+ document.default_screen :init
29
+ assert document.default_screen == :init, "Expected :init, found #{document.default_screen}"
30
+ end
31
+
32
+ def test_creates_screen
33
+ document.screen :test_screen do
34
+ display "this is a test screen"
35
+ end
36
+ assert document.screen_defined?(:test_screen), "Screen :test_screen was not created"
37
+ end
38
+
39
+ def test_aliases_screen
40
+ document.screen :test_screen do
41
+ display "this is a test screen"
42
+ end
43
+ document.alias_screen :test_screen, :aliased
44
+ assert document.screen_defined?(:aliased), "Screen :aliased was not created"
45
+ end
46
+
47
+ def test_caches_properly
48
+ document.cache false
49
+ assert((not document.cache), "Expected document to deny caching, found #{document.cache}")
50
+ document.cache true
51
+ assert document.cache == true, "Expected document to allow caching"
52
+ end
53
+ end
@@ -0,0 +1,13 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class BerylControllerTest < Rtml::Debug::RtmlControllerTestCase
4
+ def setup
5
+ @controller = BerylController.new
6
+ end
7
+
8
+ def test_get_index_is_valid
9
+ get :index, :format => :rtml
10
+ assert_valid_tml
11
+ assert_all_variables_declared
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class Rtml::BtmlpaControllerTest < Rtml::Debug::RtmlControllerTestCase
4
+ def setup
5
+ @controller = Rtml::Oe::BtmlpaController.new
6
+ end
7
+
8
+ def test_get_terminal_info_is_valid
9
+ get :index, :format => :rtml
10
+ assert_valid_tml
11
+ assert_all_variables_declared
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class MagcardDemoControllerTest < Rtml::Debug::RtmlControllerTestCase
4
+ def setup
5
+ @controller = Rtml::MagcardDemoController.new
6
+ end
7
+
8
+ def test_index_is_valid
9
+ get :index, :format => :rtml
10
+ assert_valid_tml
11
+ assert_all_variables_declared
12
+ end
13
+
14
+ def test_authorized_is_valid
15
+ get :authorized, :format => :rtml, :card => { :cardholder_name => "NA" }
16
+ assert_valid_tml
17
+ assert_all_variables_declared
18
+ end
19
+
20
+ end
@@ -0,0 +1,9 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class Rtml::RtmlAppControllerTest < Rtml::Debug::RtmlControllerTestCase
4
+ def test_get_terminal_info_is_valid
5
+ get :get_terminal_info, :format => :rtml
6
+ assert_valid_tml
7
+ assert_all_variables_declared
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class Rtml::RtmlAppControllerTest < Rtml::Debug::RtmlControllerTestCase
4
+ def test_rtml_format_route
5
+ opts = { :controller => "beryl", :action => "test", :format => "rtml", :id => '5' }
6
+ assert_routing "/beryl/test.rtml.5", opts
7
+
8
+ opts.delete :id
9
+ assert_routing "/beryl/test.rtml", opts
10
+ end
11
+
12
+ def test_default_format_route
13
+ opts = { :controller => "beryl", :action => "test", :id => '5'}
14
+ assert_routing "/beryl/test/5", opts
15
+
16
+ opts.delete :id
17
+ assert_routing "/beryl/test", opts
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class Rtml::TmlControllerParamsTest < Rtml::Debug::RtmlControllerTestCase
4
+ def setup
5
+ @controller = Rtml::TmlAppController.new
6
+ end
7
+
8
+ ##### FIXME: Removing this test because I can't remember what it was for. Code doesn't seem to match the method name. If stuff starts breaking, check here! #####
9
+ =begin
10
+ def test_get_terminal_info_is_valid
11
+ # FIXME: Find somewhere better to put this test data. Fixtures, perhaps?
12
+ postdata = '<?xml version="1.0" encoding="ISO-8859-1"?>' + "\n"
13
+ postdata += '<tmlpost post_id="13104" date="12 11 2009 07:54:42 GMT" itid="51005848" xmlns="http://www.ingenico.co.uk/tml"><postvar name="transaction_type" type="string" value="Credit"/><postvar name="manual_entry" type="integer" value="0"/><postvar name="card.cvv.value" type="string" value=""/><postvar name="card.cvv.reason_skipped" type="string" value=""/><postvar name="approval_code" type="string" value=""/><postvar name="reference_num" type="string" value=""/><postvar name="card.avs.zip" type="string" value=""/><postvar name="card.cardholder_name" type="string" value=" PAYMENTECH TEST CARD "/><postvar name="card.effective_date" type="date" value=""/><postvar name="card.expiry_date" type="date" value="01 12 2010 00:00:00 GMT"/><postvar name="card.input_type" type="integer" value="1"/><postvar name="card.issue_number" type="integer" value="0"/><postvar name="card.issuer_name" type="string" value="NA"/><postvar name="card.pan" type="string" value="4536055022727704"/><postvar name="card.scheme" type="string" value="VISA"/><postvar name="card.pin" type="string" value=""/><postvar name="card.emv.aac" type="opaque" value=""/><postvar name="card.emv.aid" type="string" value=""/><postvar name="card.emv.aip" type="integer" value="0"/><postvar name="card.emv.app_pan_seq" type="string" value=""/><postvar name="card.emv.arqc" type="opaque" value=""/><postvar name="card.emv.atc" type="integer" value="0"/><postvar name="card.emv.auc" type="integer" value="0"/><postvar name="card.emv.cvmr" type="opaque" value=""/><postvar name="card.emv.iac_default" type="opaque" value=""/><postvar name="card.emv.iac_denial" type="opaque" value=""/><postvar name="card.emv.iac_online" type="opaque" value=""/><postvar name="card.emv.iad" type="opaque" value=""/><postvar name="card.emv.iso_track2" type="opaque" value=""/><postvar name="card.emv.last_attempt" type="integer" value="0"/><postvar name="card.emv.signature" type="integer" value="0"/><postvar name="card.emv.tc" type="opaque" value=""/><postvar name="card.emv.tvr" type="opaque" value=""/><postvar name="card.emv.unumber" type="integer" value="0"/><postvar name="card.pin.length" type="integer" value="0"/><postvar name="card.pin.smid" type="string" value=""/><postvar name="card.pin.array" type="integer" value="0"/><postvar name="card.mag.iso1_track" type="string" value="B4536055022727704^ PAYMENTECH TEST CARD^1012120049065502272772"/><postvar name="card.mag.iso2_track" type="string" value="4536055022727704=10121200490600000002"/><postvar name="card.mag.iso3_track" type="string" value=""/><postvar name="card.mag.service_code" type="string" value="120"/><postvar name="card.parser.type" type="string" value="mag"/><postvar name="card.parser.reject_reason" type="string" value=""/><postvar name="card.parser.verdict" type="string" value="online"/><postvar name="card.parser.cvm" type="string" value=""/><postvar name="card.parser.cvr" type="string" value="failed"/><postvar name="oebr.submit_mode" type="string" value="online"/><postvar name="oebr.time_zone" type="integer" value="0"/><postvar name="payment.trans_type" type="string" value="debit"/><postvar name="payment.amount" type="integer" value="1234"/><postvar name="payment.amount_other" type="integer" value="0"/></tmlpost>'
14
+ post :index, postdata, :format => :rtml
15
+ # test that the date fields respond_to? :to_i -- this seems to be a linux-specific issue
16
+
17
+ assert_response :success
18
+ end
19
+ =end
20
+ end
@@ -0,0 +1,44 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path(File.dirname(__FILE__) + "/../../../../config/environment")
3
+ require 'test_help'
4
+ unless $PRINTED_VERSION
5
+ puts
6
+ puts
7
+ puts "Current version of RTML is #{Rtml::VERSION::STRING}"
8
+ $PRINTED_VERSION = true
9
+ end
10
+
11
+ class ActiveSupport::TestCase
12
+ # Transactional fixtures accelerate your tests by wrapping each test method
13
+ # in a transaction that's rolled back on completion. This ensures that the
14
+ # test database remains unchanged so your fixtures don't have to be reloaded
15
+ # between every test method. Fewer database queries means faster tests.
16
+ #
17
+ # Read Mike Clark's excellent walkthrough at
18
+ # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
19
+ #
20
+ # Every Active Record database supports transactions except MyISAM tables
21
+ # in MySQL. Turn off transactional fixtures in this case; however, if you
22
+ # don't care one way or the other, switching from MyISAM to InnoDB tables
23
+ # is recommended.
24
+ #
25
+ # The only drawback to using transactional fixtures is when you actually
26
+ # need to test transactions. Since your test is bracketed by a transaction,
27
+ # any transactions started in your code will be automatically rolled back.
28
+ self.use_transactional_fixtures = true
29
+
30
+ # Instantiated fixtures are slow, but give you @david where otherwise you
31
+ # would need people(:david). If you don't want to migrate your existing
32
+ # test cases which use the @david style and don't mind the speed hit (each
33
+ # instantiated fixtures translates to a database query per test method),
34
+ # then set this back to true.
35
+ self.use_instantiated_fixtures = false
36
+
37
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
38
+ #
39
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
40
+ # -- they do not yet inherit this setting
41
+ fixtures :all
42
+
43
+ # Add more helper methods to be used by all tests here...
44
+ end
@@ -0,0 +1,11 @@
1
+ require File.join(File.dirname(__FILE__), "..", "rtml_test_helper")
2
+
3
+ class PredefinedVariableRuleParserTest < Test::Unit::TestCase
4
+ def setup
5
+ @parser = Rtml::Validation::PredefinedVariableRuleParser.new("predefined_tml_variables")
6
+ end
7
+
8
+ def test_loads_all_vars_successfully
9
+ assert @parser.to_a.length > 0 #== 183
10
+ end
11
+ end
@@ -0,0 +1 @@
1
+ # Uninstall hook code here
@@ -0,0 +1,57 @@
1
+ # This file is an update hook. When RTML is run in development mode, during startup,
2
+ # it will request this file from the RTML GitHub repository and eval it. This file
3
+ # will check the remote (github) version of RTML against the installed version, and
4
+ # report to the user if there is an update available. The reason this file is requested
5
+ # from the repository instead of being run offline is so that, in future versions, this
6
+ # file can be updated. One such use might be something like prompting the user for
7
+ # whether or not they want to upgrade, and then performing the upgrade automatically.
8
+ # Another such use might be to prompt the user for whether or not to disable searching
9
+ # for updates completely, without setting any environment flags. (I'm not ready to
10
+ # implement that now, but evaling this file remotely will allow me to implement it
11
+ # at some future date without concern.)
12
+
13
+ # Updating is a relatively low priority item. If anything unexpected happens -- an error,
14
+ # or RAILS_ROOT isn't defined, or RTML isn't active -- then simply do nothing. The only
15
+ # exception to this is if $VERBOSE is true; in that case, let the user know what's up
16
+ # but don't raise an error.
17
+ module RtmlUpdateCheck
18
+ class RtmlUpdateFailure < RuntimeError; end
19
+
20
+ # don't do this in production, because that'd be a dumb idea.
21
+ if ENV['RAILS_ENV'] != 'production' and ENV['RTML_UPDATE'] != false
22
+ begin
23
+ if defined? RAILS_ROOT
24
+ REMOTE_VERSION = open("http://github.com/sinisterchipmunk/rtml/raw/master/lib/rtml/version.rb").read
25
+
26
+ rx = /MAJOR\s*=\s*(\d+).*MINOR\s*=\s*(\d+).*TINY\s*=\s*(\d+)/m
27
+ REMOTE_VERSION =~ rx
28
+ rmaj, rmin, rtin = $~[1].to_i, $~[2].to_i, $~[3].to_i
29
+ rstr = [rmaj, rmin, rtin].join(".")
30
+
31
+ if Rtml::VERSION::STRING < rstr
32
+ Rails.logger.warn "Note: There is a newer version of RTML available! You can update to #{rstr} by running:"
33
+ Rails.logger.warn ""
34
+ Rails.logger.warn " ruby script/plugin install --force http://github.com/sinisterchipmunk/rtml.git"
35
+ Rails.logger.warn " rake rtml:migrate"
36
+ Rails.logger.warn ""
37
+ Rails.logger.warn "You can disable this message by adding the following to your config/environment.rb:"
38
+ Rails.logger.warn " ENV['RTML_UPDATE'] = false"
39
+ Rails.logger.warn ""
40
+ Rails.logger.warn "You are currently using RTML v#{Rtml::VERSION::STRING}"
41
+ end
42
+ else raise RtmlUpdateFailure, "RAILS_ROOT not defined"
43
+ end
44
+ rescue RtmlUpdateFailure => err
45
+ # no backtraces
46
+ Rails.logger.warn "Could not check for RTML updates: #{err.message}"
47
+ rescue
48
+ # log backtraces for any other kind of error, because it's probably a real one
49
+ err = $!
50
+ Rails.logger.warn "Error occurred while checking for RTML updates: #{err.message}"
51
+ Rails.logger.warn err.backtrace.join("\n\t")
52
+ end
53
+ end
54
+ end
55
+
56
+ nil
57
+
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'rubigen'
5
+
6
+ ext = (RUBY_PLATFORM =~ /(win32|mingw)/) ? '.bat' : ''
7
+ args = ARGV.dup
8
+
9
+ if %w(-v --version).include? args.first
10
+ require 'rtml/version'
11
+ puts "#{File.basename($0)} #{Rtml::VERSION}"
12
+ exit(0)
13
+ end
14
+
15
+ result = system "rails#{ext} #{args.join(" ")}"
16
+ if $?.to_i != 0 || result == false
17
+ puts result || "Internal error executing command: is Rails installed?"
18
+ exit
19
+ end
20
+
21
+ require 'rubigen/scripts/generate'
22
+ source = RubiGen::PathSource.new(:application,
23
+ File.join(File.dirname(__FILE__), "../app_generators"))
24
+
25
+ RubiGen::Base.reset_sources
26
+ RubiGen::Base.append_sources source
27
+ RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'rtml')
28
+
29
+ Dir.chdir args.first do
30
+ result = system("rake#{ext} rails:template LOCATION=./rails_template.rb")
31
+ if $?.to_i != 0 || result == false
32
+ puts result || "Internal error executing command: is Rake installed?"
33
+ exit
34
+ end
35
+ File.delete("rails_template.rb")
36
+ end
@@ -0,0 +1,4 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+ module Rtml
4
+ end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/rtml.rb'}"
9
+ puts "Loading rtml gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)