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.
- data/History.txt +4 -0
- data/Manifest.txt +396 -0
- data/PostInstall.txt +2 -0
- data/README.rdoc +42 -0
- data/Rakefile +33 -0
- data/app_generators/rtml/USAGE +5 -0
- data/app_generators/rtml/rtml_generator.rb +78 -0
- data/app_generators/rtml/templates/rails_template.rb +36 -0
- data/app_generators/rtml/templates/rtml/MIT-LICENSE +20 -0
- data/app_generators/rtml/templates/rtml/README +109 -0
- data/app_generators/rtml/templates/rtml/Rakefile +38 -0
- data/app_generators/rtml/templates/rtml/app/controllers/beryl_controller.rb +70 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/magcard_demo_controller.rb +9 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/oe/btmlpa_controller.rb +158 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/rtml_app_controller.rb +252 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/tml_app_controller.rb +418 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_helper.rb +72 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/auth_result.rb +56 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/common.rb +19 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/index.rb +82 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/authorized.rb +10 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/common.rb +20 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/index.rb +33 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/auth_result.rb +23 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/common.rb +23 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/dynamic.rb +11 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/icc.rb +384 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/index.rb +191 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/receipt.rb +152 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_helper.rb +74 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_tml_helpers/common.rb +9 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/tml_app_helper.rb +43 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card.rb +83 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_avs.rb +14 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_cvv.rb +14 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_parser.rb +21 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_pin.rb +18 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/emv_card_data.rb +25 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/mag_card_data.rb +21 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/reference_code.rb +26 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/state.rb +12 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/terminal.rb +8 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/transaction.rb +68 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/another_rcpt.rtml.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt.rtml.erb +108 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt_single_column.rtml.erb +106 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/about.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/admin.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/construction.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/idle.rtml.erb +13 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/main_menu.rtml.erb +12 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_credit.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_debit.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_mono.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_mono.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i5100.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i8550.rtml.erb +17 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/uml.html.erb +11 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized/main.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/_error.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/enter_amount.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/main.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/dynamic/response.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/icc.rtml.erb +760 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_enter_amount.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_about.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_duplicate.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_examples.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_logo.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_other.rtml.erb +20 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_refund.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_reversal.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale_cashback.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/about.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/assert.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/card_nmb.rtml.erb +19 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/compl_txn.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/confirm_rev.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/duplicate_na.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/error_scr.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.bak +31 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.erb +40 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/print_pf.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rd_sale_disp.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_refund.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_scb.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/reject_trans.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/remove_card.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rev_bad.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/scb_check_f.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/sign_check.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/subm_err.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/to_man_entry.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/trans_abrt.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/void_trans.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/_receipt.rtml.erb +29 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/error_paper.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_development.html.erb +167 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_header.html.erb +12 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_production.html.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/charts.html.erb +14 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/do_tml_redirect.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/get_terminal_info.rtml.erb +26 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_in_public.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_locally.rtml.erb +42 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/common.rb +303 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/force.rb +46 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/return.rb +22 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/sale.rb +49 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_confirmation.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_agreement.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_footer.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_header.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/ask_cashback.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/card_imprint.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/check_cb.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/conf_debit.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/confirm_sale.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/confrm_force.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/cvv_skipped.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/disp_avs.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/do_avs_zip.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_amount.rtml.erb +12 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_card.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cashbk.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cvv2.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_expiry.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check1.rtml.erb +6 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check2.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_aprvl.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_avs_zip.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_bad_aprv.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frd_chk_fail.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/invalid_exp.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/no_entr_crd.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/remove_card.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/swipe_card.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_abort.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_reject.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/void_ref.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/void.rb +30 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/card_parser_widget.rb +90 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/display_widget.rb +66 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/element_builder_widget.rb +123 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/emv_support_widget.rb +365 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/form_submit_widget.rb +65 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_transaction_variables_widget.rb +33 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_variable_widget.rb +39 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/receipt_widget.rb +66 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/screen_builder_widget.rb +49 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132217_create_rtml_states.rb +15 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132401_create_rtml_terminals.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132530_create_rtml_transactions.rb +24 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134118_create_rtml_cards.rb +23 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134622_create_rtml_emv_card_data.rb +20 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134629_create_rtml_mag_card_data.rb +17 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825135838_create_rtml_card_parsers.rb +19 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090826103509_create_reference_codes.rb +14 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915030044_add_batch_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915031155_add_additional_data_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915031156_add_hidden_data_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016133313_create_rtml_card_avs.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135800_create_rtml_card_cvvs.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135810_create_rtml_card_pins.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135820_reverse_card_transaction_relationship.rb +11 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20100127115105_convert_rtml_migrations_to_rails_migrations.rb +31 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/USAGE +25 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/rtml_controller_generator.rb +49 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/common_tml_helper.rb +20 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/controller.rb +3 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_color.css +37 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_mono.css +12 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/functional_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_mono.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/tml_helper.rb +16 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/USAGE +8 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/rtml_document_generator.rb +45 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/controller.rb +7 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/functional_test.rb +10 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/view.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/USAGE +8 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/rtml_widget_generator.rb +66 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget.rb +57 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget_no_help.rb +27 -0
- data/app_generators/rtml/templates/rtml/init.rb +40 -0
- data/app_generators/rtml/templates/rtml/install.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/environment.rb +61 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/request.rb +9 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/routing/route_set.rb +34 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_view/base.rb +74 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_view/partial_template.rb +24 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/active_record.rb +13 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/active_support/dependencies.rb +25 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/array.rb +15 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/attr_boolean.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/hash.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/nil_class.rb +20 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/rake.rb +19 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/regexp.rb +16 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/string.rb +37 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins.rb +23 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/MIT-LICENSE +20 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/README +36 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/Rakefile +44 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/init.rb +25 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/action_controller/filters/before_render_filter.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render.rb +43 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render_instance.rb +45 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_chain_has_many_types_of_filters.rb +87 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_has_before_render.rb +26 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/tasks/before_render_tasks.rake +25 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/before_render_test.rb +29 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/test_helper.rb +24 -0
- data/app_generators/rtml/templates/rtml/lib/rtml.rb +77 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/beryl/constants.rb +12 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/beryl/version.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/common/renderable.rb +13 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/include.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/layout.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/next.rb +188 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen.rb +91 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/iterators.rb +63 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/next_screen_methods.rb +70 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/variable_methods.rb +73 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/support/importer.rb +55 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document.rb +318 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/screen_methods.rb +79 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/variable_methods.rb +83 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/variable.rb +123 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/browser_emulator.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_controller_test_case.rb +7 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_core_unit_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/unit_test.rb +3 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/delegation.rb +8 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/doc.rb +12 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/element.rb +75 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/errors/widget_accessor_failure.rb +9 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/event_handler.rb +79 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/event_processor.rb +106 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/defaults_processor.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/key_processor.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/feature.rb +32 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/feature_config.rb +195 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/array_of_feature_instances.rb +17 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_class_methods.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_instance_methods.rb +35 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers/menu_helpers.rb +193 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/action_view_wrapper.rb +23 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/event_helpers.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/layout_helpers.rb +47 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support.rb +181 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support/class_methods.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/yield_helpers.rb +33 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/proxy_helpers/feature_helpers.rb +17 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/render_helper.rb +71 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/terminal_helpers.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers.rb +6 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/tml_validation_assertions.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/variable_assertions.rb +27 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/form_helpers.rb +70 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/rtml_form_builder.rb +174 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/oe/btmlpa_constants.rb +48 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/method_missing_methods.rb +14 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/rtml_interface.rb +33 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/sandbox.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/text_utils.rb +51 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/tml_param_parser.rb +95 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_rule_parser.rb +61 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_tag.rb +52 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/predefined_variable_rule_parser.rb +97 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/tml_validator.rb +16 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/version.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property_accessors.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget.rb +251 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget_class_methods.rb +213 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/dot.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_can.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_cand.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_en.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_end.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_i.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icl.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icr.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ics.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icsw.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icv.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int2.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_men.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_mend.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_next.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_no.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_nod.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ok.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_okd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic1.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic2.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic3.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic4.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_top.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_txn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yes.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yesd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/btmlpa.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/conf.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/iccemv.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/images.lib +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/magcard.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/top.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_color.css +37 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_mono.css +17 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/charts.css +0 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i5100.css +12 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i8550.css +37 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/receipt.css +4 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i5100.css +12 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i8550.css +37 -0
- data/app_generators/rtml/templates/rtml/reporting/110409 +227 -0
- data/app_generators/rtml/templates/rtml/reporting/linecount.rb +42 -0
- data/app_generators/rtml/templates/rtml/rules/predefined_tml_variables.rb +63 -0
- data/app_generators/rtml/templates/rtml/rules/tml_document_structure.rb +84 -0
- data/app_generators/rtml/templates/rtml/rules/varns/audio.rb +30 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card.rb +17 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/emv.rb +31 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/mag.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/parser.rb +7 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/pin.rb +6 -0
- data/app_generators/rtml/templates/rtml/rules/varns/cfgm.rb +15 -0
- data/app_generators/rtml/templates/rtml/rules/varns/com.rb +9 -0
- data/app_generators/rtml/templates/rtml/rules/varns/err.rb +14 -0
- data/app_generators/rtml/templates/rtml/rules/varns/gma/event.rb +13 -0
- data/app_generators/rtml/templates/rtml/rules/varns/gprs.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/imager.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/ip.rb +15 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr.rb +42 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/3rdparty.rb +7 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/backlight.rb +4 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/cache.rb +1 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/connect.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/connection.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/offline.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oegw.rb +12 -0
- data/app_generators/rtml/templates/rtml/rules/varns/payment.rb +21 -0
- data/app_generators/rtml/templates/rtml/rules/varns/ppp.rb +11 -0
- data/app_generators/rtml/templates/rtml/rules/varns/terminal.rb +29 -0
- data/app_generators/rtml/templates/rtml/tasks/rtml_tasks.rake +78 -0
- data/app_generators/rtml/templates/rtml/template.rb +64 -0
- data/app_generators/rtml/templates/rtml/test/core/element_test.rb +17 -0
- data/app_generators/rtml/templates/rtml/test/core/screen_test.rb +91 -0
- data/app_generators/rtml/templates/rtml/test/core/tml_document_test.rb +53 -0
- data/app_generators/rtml/templates/rtml/test/functional/beryl_controller_test.rb +13 -0
- data/app_generators/rtml/templates/rtml/test/functional/btmlpa_controller_test.rb +13 -0
- data/app_generators/rtml/templates/rtml/test/functional/magcard_demo_controller_test.rb +20 -0
- data/app_generators/rtml/templates/rtml/test/functional/rtml_app_controller_test.rb +9 -0
- data/app_generators/rtml/templates/rtml/test/functional/rtml_routing_test.rb +19 -0
- data/app_generators/rtml/templates/rtml/test/functional/tml_controller_params_test.rb +20 -0
- data/app_generators/rtml/templates/rtml/test/rtml_test_helper.rb +44 -0
- data/app_generators/rtml/templates/rtml/test/validation/predefined_variable_rule_parser_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/uninstall.rb +1 -0
- data/app_generators/rtml/templates/rtml/update.rb +57 -0
- data/bin/rtml +36 -0
- data/lib/rtml.rb +4 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/tasks/reglob.rake +28 -0
- data/test/test_generator_helper.rb +29 -0
- data/test/test_helper.rb +3 -0
- data/test/test_rtml.rb +11 -0
- data/test/test_rtml_generator.rb +43 -0
- 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
|
data/app_generators/rtml/templates/rtml/test/validation/predefined_variable_rule_parser_test.rb
ADDED
|
@@ -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
|
+
|
data/bin/rtml
ADDED
|
@@ -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
|
data/lib/rtml.rb
ADDED
data/script/console
ADDED
|
@@ -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"
|
data/script/destroy
ADDED
|
@@ -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)
|