tr8n_client_sdk 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +22 -0
- data/README.rdoc +3 -0
- data/Rakefile +38 -0
- data/app/assets/images/tr8n/tr8n_logo.png +0 -0
- data/app/views/tr8n_client_sdk/tags/_language_strip.html.erb +20 -0
- data/app/views/tr8n_client_sdk/tags/_powered_by_tr8n.html.erb +6 -0
- data/app/views/tr8n_client_sdk/tags/_scripts.html.erb +20 -0
- data/config/routes.rb +2 -0
- data/lib/generators/tr8n_client_sdk/templates/config/tr8n/config.yml +53 -0
- data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/data.yml +45 -0
- data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/decorations.yml +37 -0
- data/lib/generators/tr8n_client_sdk/tr8n_client_sdk_generator.rb +37 -0
- data/lib/tasks/tr8n_client_sdk_tasks.rake +30 -0
- data/lib/tr8n_client_sdk.rb +28 -0
- data/lib/tr8n_client_sdk/config.rb +197 -0
- data/lib/tr8n_client_sdk/engine.rb +31 -0
- data/lib/tr8n_client_sdk/extensions/action_common_methods.rb +122 -0
- data/lib/tr8n_client_sdk/extensions/action_controller_extension.rb +123 -0
- data/lib/tr8n_client_sdk/extensions/action_view_extension.rb +218 -0
- data/lib/tr8n_client_sdk/railtie.rb +54 -0
- data/lib/tr8n_client_sdk/version.rb +27 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/images/bg-pattern.png +0 -0
- data/test/dummy/app/assets/images/facebook.png +0 -0
- data/test/dummy/app/assets/images/github.png +0 -0
- data/test/dummy/app/assets/images/glyphicons-halflings-white.png +0 -0
- data/test/dummy/app/assets/images/glyphicons-halflings.png +0 -0
- data/test/dummy/app/assets/images/how_it_works_1.gif +0 -0
- data/test/dummy/app/assets/images/how_it_works_2.gif +0 -0
- data/test/dummy/app/assets/images/how_it_works_3.gif +0 -0
- data/test/dummy/app/assets/images/hr.png +0 -0
- data/test/dummy/app/assets/images/linkedin.png +0 -0
- data/test/dummy/app/assets/images/silhouette.gif +0 -0
- data/test/dummy/app/assets/images/twitter.png +0 -0
- data/test/dummy/app/assets/images/wordpress.png +0 -0
- data/test/dummy/app/assets/images/youtube.png +0 -0
- data/test/dummy/app/assets/javascripts/ace/ace.js +11 -0
- data/test/dummy/app/assets/javascripts/ace/ext-static_highlight.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/ext-textarea.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/keybinding-emacs.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/keybinding-vim.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-abap.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-asciidoc.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-c9search.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-c_cpp.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-clojure.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-coffee.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-coldfusion.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-csharp.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-css.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-dart.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-diff.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-dot.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-glsl.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-golang.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-groovy.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-haml.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-haxe.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-html.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-jade.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-java.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-javascript.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-json.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-jsp.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-jsx.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-latex.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-less.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-liquid.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-lisp.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-lua.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-luapage.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-lucene.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-makefile.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-markdown.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-objectivec.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-ocaml.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-perl.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-pgsql.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-php.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-powershell.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-python.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-r.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-rdoc.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-rhtml.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-ruby.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-scad.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-scala.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-scss.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-sh.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-sql.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-stylus.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-svg.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-tcl.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-tex.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-text.js +0 -0
- data/test/dummy/app/assets/javascripts/ace/mode-textile.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-typescript.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-xml.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-xquery.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/mode-yaml.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-ambiance.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-chaos.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-chrome.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-clouds.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-clouds_midnight.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-cobalt.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-crimson_editor.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-dawn.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-dreamweaver.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-eclipse.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-github.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-idle_fingers.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-kr.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-merbivore.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-merbivore_soft.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-mono_industrial.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-monokai.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-pastel_on_dark.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-solarized_dark.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-solarized_light.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-textmate.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-tomorrow.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-twilight.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-vibrant_ink.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/theme-xcode.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/worker-coffee.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/worker-css.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/worker-javascript.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/worker-json.js +1 -0
- data/test/dummy/app/assets/javascripts/ace/worker-xquery.js +1 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/bootstrap.js +2291 -0
- data/test/dummy/app/assets/javascripts/bootstrap.min.js +7 -0
- data/test/dummy/app/assets/javascripts/jquery-ace.js +195 -0
- data/test/dummy/app/assets/javascripts/jquery-ui-1.10.3.custom.min.js +7 -0
- data/test/dummy/app/assets/javascripts/jquery.tocify.min.js +4 -0
- data/test/dummy/app/assets/javascripts/jquery191.js +16 -0
- data/test/dummy/app/assets/javascripts/prism.js +20 -0
- data/test/dummy/app/assets/javascripts/prism_rails.js +49 -0
- data/test/dummy/app/assets/javascripts/sh.js +573 -0
- data/test/dummy/app/assets/stylesheets/application.css +8 -0
- data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.css +6315 -0
- data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.min.css +874 -0
- data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap_and_overrides.css.scss +16 -0
- data/test/dummy/app/assets/stylesheets/jquery.tocify.css +62 -0
- data/test/dummy/app/assets/stylesheets/prism.css +108 -0
- data/test/dummy/app/assets/stylesheets/prism_rails.css.scss +42 -0
- data/test/dummy/app/assets/stylesheets/sh.css +193 -0
- data/test/dummy/app/controllers/application_controller.rb +82 -0
- data/test/dummy/app/controllers/docs_controller.rb +42 -0
- data/test/dummy/app/controllers/home_controller.rb +29 -0
- data/test/dummy/app/controllers/login_controller.rb +55 -0
- data/test/dummy/app/controllers/signup_controller.rb +58 -0
- data/test/dummy/app/controllers/welcome_controller.rb +30 -0
- data/test/dummy/app/helpers/application_helper.rb +26 -0
- data/test/dummy/app/mailers/request_mailer.rb +38 -0
- data/test/dummy/app/models/user.rb +48 -0
- data/test/dummy/app/views/docs/index.html.erb +591 -0
- data/test/dummy/app/views/docs/installation.html.erb +59 -0
- data/test/dummy/app/views/docs/test.html.erb +17 -0
- data/test/dummy/app/views/docs/tml.html.erb +176 -0
- data/test/dummy/app/views/docs/tml_content.html.erb +33 -0
- data/test/dummy/app/views/home/index.html.erb +107 -0
- data/test/dummy/app/views/layouts/_flashes.html.erb +35 -0
- data/test/dummy/app/views/layouts/_footer.html.erb +31 -0
- data/test/dummy/app/views/layouts/_head.html.erb +8 -0
- data/test/dummy/app/views/layouts/_header.html.erb +70 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/login/_common.html.erb +29 -0
- data/test/dummy/app/views/login/cookies.html.erb +20 -0
- data/test/dummy/app/views/login/index.html.erb +1 -0
- data/test/dummy/app/views/login/out.html.erb +1 -0
- data/test/dummy/app/views/signup/index.html.erb +22 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mail.rb +14 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +8 -0
- data/test/dummy/config/tr8n/config.yml +53 -0
- data/test/dummy/config/tr8n/tokens/data.yml +45 -0
- data/test/dummy/config/tr8n/tokens/decorations.yml +37 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130506202619_create_users.rb +16 -0
- data/test/dummy/db/schema.rb +29 -0
- data/test/dummy/log/development.log +40036 -0
- data/test/dummy/log/tr8n.log +14602 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/spec/models/request_spec.rb +5 -0
- data/test/dummy/spec/models/user_spec.rb +5 -0
- data/test/dummy/tmp/cache/assets/BCA/680/sprockets%2F0e766e5046b2556242937265334a7776 +0 -0
- data/test/dummy/tmp/cache/assets/C41/5A0/sprockets%2Ff3979161c897640872293fb74f7e4185 +0 -0
- data/test/dummy/tmp/cache/assets/C69/980/sprockets%2F1289412d200b47c7f5ba1714da031188 +0 -0
- data/test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a +0 -0
- data/test/dummy/tmp/cache/assets/C85/8C0/sprockets%2F262c6124c54467ed84e71473a5748a2f +0 -0
- data/test/dummy/tmp/cache/assets/C9B/B70/sprockets%2F3c5f068b5a07f9215020042ed660bb45 +0 -0
- data/test/dummy/tmp/cache/assets/CAC/8A0/sprockets%2Fb3da0b5a24a9277687d1b973d1638126 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/D20/sprockets%2F0850d836310c2fc600217ce3f894f9c8 +0 -0
- data/test/dummy/tmp/cache/assets/CB1/E50/sprockets%2Fea7a0c10450c627f752b87495d915b66 +0 -0
- data/test/dummy/tmp/cache/assets/CBF/A00/sprockets%2F82c0bd0c273938e78e80698057bf165e +0 -0
- data/test/dummy/tmp/cache/assets/CC3/730/sprockets%2F730877507dec32fd7d2e038899bb8067 +0 -0
- data/test/dummy/tmp/cache/assets/CC6/350/sprockets%2F7486d25d54ef6d9548205d5a17ff3468 +0 -0
- data/test/dummy/tmp/cache/assets/CC7/620/sprockets%2F395359137b16e965efa7fa58db855904 +0 -0
- data/test/dummy/tmp/cache/assets/CC7/A90/sprockets%2F77713cc98a179981d615f84f952add24 +0 -0
- data/test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/450/sprockets%2Ff0c4fb28a62f912b5542965358a10a1f +0 -0
- data/test/dummy/tmp/cache/assets/CD6/C30/sprockets%2Fe15182011d74255aa67fde5a783dd612 +0 -0
- data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/CD8/F00/sprockets%2F2344b925523c2c28a3fd1e73ad5f9181 +0 -0
- data/test/dummy/tmp/cache/assets/CD9/BA0/sprockets%2Fb9fa8aa2057e7d8702f10317694a8c10 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/720/sprockets%2F922b15b49871931e5df1d0a2be4826f8 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/EB0/sprockets%2F28ee30e42c7c583083e76a377df3035d +0 -0
- data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
- data/test/dummy/tmp/cache/assets/CE8/2F0/sprockets%2Fb74ee6e80ba2911167d148d791d6728c +0 -0
- data/test/dummy/tmp/cache/assets/CEE/D60/sprockets%2F7b699b03f091fe228759da88a323a56f +0 -0
- data/test/dummy/tmp/cache/assets/CF0/450/sprockets%2F65704938b67ef6b06e386cea3c1848b6 +0 -0
- data/test/dummy/tmp/cache/assets/CF1/5A0/sprockets%2Fec49552e4a6b67bee359e0485610d887 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/880/sprockets%2Fd89c211d7a3dc2a94a7625d7155000ab +0 -0
- data/test/dummy/tmp/cache/assets/D05/210/sprockets%2F5d0d1d45d694d6d4f803a9a1340b741c +0 -0
- data/test/dummy/tmp/cache/assets/D05/820/sprockets%2Fee427231dd340c1b50573f187a8a6d5d +0 -0
- data/test/dummy/tmp/cache/assets/D09/6F0/sprockets%2F0f69fe87b4b574153bdc60711a6ca208 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/C20/sprockets%2Fd177dbfcd8235d07a0072c4d9c307385 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/820/sprockets%2F1002e68d7cf06571cb63a864f93bb4e3 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/A30/sprockets%2F71398e105f60c431f86d78e3abbbf125 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/FF0/sprockets%2F2c4cc11f6c24fbb41d97713864854d1f +0 -0
- data/test/dummy/tmp/cache/assets/D18/E00/sprockets%2Ff017e80af40be5c829882bd1885a38f4 +0 -0
- data/test/dummy/tmp/cache/assets/D19/120/sprockets%2F69f0907662f738cd217edca24ef2328d +0 -0
- data/test/dummy/tmp/cache/assets/D25/FD0/sprockets%2F03006f6bba722ebc14ceac8221b81917 +0 -0
- data/test/dummy/tmp/cache/assets/D26/7C0/sprockets%2F771cba4a2e4f22141377c4eccc1065c0 +0 -0
- data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2Fbd19c0bc42912a8ba7c5c3b100f71592 +0 -0
- data/test/dummy/tmp/cache/assets/D29/280/sprockets%2F04fd073ef39e04ced71111a204cb70e6 +0 -0
- data/test/dummy/tmp/cache/assets/D29/320/sprockets%2Feb3792401fd26ebf610c8531b0a4bd32 +0 -0
- data/test/dummy/tmp/cache/assets/D29/AF0/sprockets%2F841d8c0c4ba32a5e25aa41b7069ba581 +0 -0
- data/test/dummy/tmp/cache/assets/D32/4F0/sprockets%2Fb8023435d8d01feca8fd3a1ce9144181 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D38/DB0/sprockets%2Fe848eed2f10d359a60040b50d486b3fd +0 -0
- data/test/dummy/tmp/cache/assets/D39/6E0/sprockets%2F4d3170e44fdaa2f62cc266b62e5925e4 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/2C0/sprockets%2F9c4d26aabdb46cc90d0228c79344950e +0 -0
- data/test/dummy/tmp/cache/assets/D3D/2D0/sprockets%2Fc83c38e1374d350196211ce9ffed3aa6 +0 -0
- data/test/dummy/tmp/cache/assets/D3D/970/sprockets%2F23fb0067086af38f593481abd034deff +0 -0
- data/test/dummy/tmp/cache/assets/D41/C20/sprockets%2F5b768ca318275843ae6b901bb9cca29e +0 -0
- data/test/dummy/tmp/cache/assets/D42/030/sprockets%2Ff991fbde306579de4c94d611ced13023 +0 -0
- data/test/dummy/tmp/cache/assets/D47/A20/sprockets%2F9f6654abeaa85f117a98806392ac2a8d +0 -0
- data/test/dummy/tmp/cache/assets/D47/D00/sprockets%2Fd76fe4489f3b7f2cd62450204cef631f +0 -0
- data/test/dummy/tmp/cache/assets/D4A/640/sprockets%2F94ec7bb9872d4b005d267d56cb80f7e4 +0 -0
- data/test/dummy/tmp/cache/assets/D4C/020/sprockets%2F2c26fac647b394d5f49b2743950aefe9 +0 -0
- data/test/dummy/tmp/cache/assets/D4D/A20/sprockets%2F0de50df58d85f5cce135f460979bd472 +0 -0
- data/test/dummy/tmp/cache/assets/D4D/E30/sprockets%2F828b744b9a72d6b05ace77264f878bdb +0 -0
- data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/D53/1E0/sprockets%2F6d4776ffd4fc7486550b6508cb2dd57e +0 -0
- data/test/dummy/tmp/cache/assets/D5A/B70/sprockets%2F7b76786736bb5e9eeb4887dd32c83ec2 +0 -0
- data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/D62/720/sprockets%2F34a95b2bb07a4fbd408c81f1c37bd860 +0 -0
- data/test/dummy/tmp/cache/assets/D69/B50/sprockets%2F1c7aa58ab12825ccfb465ca5e7c77551 +0 -0
- data/test/dummy/tmp/cache/assets/D6F/220/sprockets%2F99d4cd656c271484bee1a14ac84e5ad2 +0 -0
- data/test/dummy/tmp/cache/assets/D74/280/sprockets%2F049b078c38d43fbe7e6b1eb49da1b775 +0 -0
- data/test/dummy/tmp/cache/assets/D74/9A0/sprockets%2F049cf32cc869e7138b76f1bb04ae78ad +0 -0
- data/test/dummy/tmp/cache/assets/D77/770/sprockets%2F67b869074d0a5b5bb8698e55ccca47aa +0 -0
- data/test/dummy/tmp/cache/assets/D7A/290/sprockets%2F5acdbbb05bd53866c8225e95f8e805e8 +0 -0
- data/test/dummy/tmp/cache/assets/D7A/2A0/sprockets%2F91a461699d36fdd71c4cec0a8d737cf4 +0 -0
- data/test/dummy/tmp/cache/assets/D7C/5B0/sprockets%2F2b864c6eb9b8d679b2716db1a1e93c8f +0 -0
- data/test/dummy/tmp/cache/assets/D82/930/sprockets%2Fecdc4c7caa1aa683b13d14a91234b452 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/610/sprockets%2Ffb7e1b81f737cb510ac8166a241bbc4c +0 -0
- data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
- data/test/dummy/tmp/cache/assets/D91/2B0/sprockets%2F354460cd2db93ca02614a4bb76ffde3e +0 -0
- data/test/dummy/tmp/cache/assets/D96/DA0/sprockets%2F55af2375310fff6b9706cbacfb2ec540 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/F30/sprockets%2Fc32ceef2bde9f93b4c5b866c8200371c +0 -0
- data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
- data/test/dummy/tmp/cache/assets/D9F/390/sprockets%2Fe2fc3cc13d4d3677be6574e0fd2732cf +0 -0
- data/test/dummy/tmp/cache/assets/DAA/A50/sprockets%2F231c56d70690f8b4f8f6fea2cea9d39b +0 -0
- data/test/dummy/tmp/cache/assets/DB5/350/sprockets%2F3b5ebcf21def6fff9868a18e239495f1 +0 -0
- data/test/dummy/tmp/cache/assets/DB9/150/sprockets%2Fdaff6d12c8afc96d0c91d77e91d79966 +0 -0
- data/test/dummy/tmp/cache/assets/DC9/DB0/sprockets%2F43a2aed943cbb05dcc84468c73ddea55 +0 -0
- data/test/dummy/tmp/cache/assets/DCE/310/sprockets%2F2f221a6c5ffcaf07ef30f4ee9a793b44 +0 -0
- data/test/dummy/tmp/cache/assets/DD2/750/sprockets%2Ff70dee8c3d675153ad76abe3f730dc4f +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/DFF/270/sprockets%2Fb84f2daecc65ed711132bff2d8f5fe08 +0 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/E13/010/sprockets%2Feecfc58398a4d26289a5e0fe9ecd09ec +0 -0
- data/test/dummy/tmp/cache/assets/E23/880/sprockets%2F436adfe0b6333bf5af1eaaf3ea4e919b +0 -0
- data/test/dummy/tmp/cache/assets/E25/4F0/sprockets%2Fa24db6eec8d3a80f7fe3a50b4cdd243f +0 -0
- data/test/dummy/tmp/cache/assets/E2C/210/sprockets%2Fdd7b14fc1e5b2b7dcdac381cc7f9c267 +0 -0
- data/test/dummy/tmp/cache/assets/E3A/950/sprockets%2F8a6c7c212feec8ae888ad7e7fa50a3ff +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_accordion.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_close.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_code.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_hero-unit.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_labels-badges.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_layouts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_media.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_reset.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-1200px-min.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-767px-max.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-768px-979px.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-navbar.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_sprites.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_type.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/responsive.scssc +0 -0
- data/test/dummy/tmp/cache/sass/2a9f8d893763e4aeafa77aedd38023c2d92257b4/bootstrap-responsive.scssc +0 -0
- data/test/dummy/tmp/cache/sass/2bca5584fcb1177ad07e4f21325c39e4eda592bf/bootstrap_and_overrides.css.scssc +0 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/tr8n_client_sdk_test.rb +7 -0
- metadata +771 -0
data/MIT-LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Michael Berkovich, tr8nhub.com
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'rdoc/task'
|
9
|
+
rescue LoadError
|
10
|
+
require 'rdoc/rdoc'
|
11
|
+
require 'rake/rdoctask'
|
12
|
+
RDoc::Task = Rake::RDocTask
|
13
|
+
end
|
14
|
+
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
17
|
+
rdoc.title = 'Tr8n Client SDK for Ruby on Rails'
|
18
|
+
rdoc.options << '--line-numbers'
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
21
|
+
end
|
22
|
+
|
23
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
24
|
+
load 'rails/tasks/engine.rake'
|
25
|
+
|
26
|
+
Bundler::GemHelper.install_tasks
|
27
|
+
|
28
|
+
require 'rake/testtask'
|
29
|
+
|
30
|
+
Rake::TestTask.new(:test) do |t|
|
31
|
+
t.libs << 'lib'
|
32
|
+
t.libs << 'test'
|
33
|
+
t.pattern = 'test/**/*_test.rb'
|
34
|
+
t.verbose = false
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
task :default => :test
|
Binary file
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<% if Tr8n.config.enabled? %>
|
2
|
+
<% featured_languages = Tr8n.config.application.featured_languages %>
|
3
|
+
<% if featured_languages.any? %>
|
4
|
+
<style>
|
5
|
+
.tr8n_language_strip {text-align:center; color:#777;}
|
6
|
+
.tr8n_language_strip a {text-decoration:none; color:#777; outline:none; border:0px; font-size:10px;}
|
7
|
+
.tr8n_language_strip a img {border:0px;}
|
8
|
+
.tr8n_language_strip a:hover {text-decoration:underline}
|
9
|
+
</style>
|
10
|
+
<div class="tr8n_language_strip" style="font-size:12px;">
|
11
|
+
<% featured_languages.each do |lang| %>
|
12
|
+
<%= tr8n_language_name_tag(lang, opts) %>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% if featured_languages.size > 0 %>
|
16
|
+
<%=link_to_function("»".html_safe, "Tr8n.UI.LanguageSelector.show(true)") %>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
<% end %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<div style="padding-top:40px; color: #ccc; text-align:center; width:100%">
|
2
|
+
<%= tr("Powered by {tr8n}", :tr8n => link_to("Tr8n", "http://wiki.tr8nhub.com", :style=>"color:#ccc;")) %>
|
3
|
+
<div style="padding-top:5px;">
|
4
|
+
<%=link_to(image_tag("tr8n/tr8n_logo.png", :style=>"width:50px;"), "http://wiki.tr8nhub.com") %>
|
5
|
+
</div>
|
6
|
+
</div>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<% if Tr8n.config.enabled? %>
|
2
|
+
|
3
|
+
<style type="text/css">
|
4
|
+
.tr8n_fltr {
|
5
|
+
<%=tr8n_style_attribute_tag('float', 'right')%> !important;
|
6
|
+
}
|
7
|
+
.tr8n_fltl {
|
8
|
+
<%=tr8n_style_attribute_tag('float', 'left')%> !important;
|
9
|
+
}
|
10
|
+
.tr8n_txtr {
|
11
|
+
<%=tr8n_style_attribute_tag('text-align', 'right')%> !important;
|
12
|
+
}
|
13
|
+
.tr8n_txtl {
|
14
|
+
<%=tr8n_style_attribute_tag('text-align', 'left')%> !important;
|
15
|
+
}
|
16
|
+
</style>
|
17
|
+
|
18
|
+
<script src="<%=Tr8n.config.application.js_boot_url%>"></script>
|
19
|
+
|
20
|
+
<% end %>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
defaults:
|
2
|
+
enabled: true
|
3
|
+
default_locale: en-US
|
4
|
+
default_level: 0
|
5
|
+
application:
|
6
|
+
host: http://localhost:3000
|
7
|
+
key: 6b714be8673fcc4a3
|
8
|
+
secret: 5c873790ebdc7d7b8
|
9
|
+
logger:
|
10
|
+
enabled: false
|
11
|
+
path: /log/tr8n.log
|
12
|
+
cache:
|
13
|
+
enabled: false
|
14
|
+
adapter: memcache
|
15
|
+
host: localhost:11211
|
16
|
+
path: /cache
|
17
|
+
version: 1
|
18
|
+
timeout: 3600
|
19
|
+
localization:
|
20
|
+
default_day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
|
21
|
+
default_abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
|
22
|
+
default_month_names: [January, February, March, April, May, June, July, August, September, October, November, December]
|
23
|
+
default_abbr_month_names: [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
|
24
|
+
custom_date_formats:
|
25
|
+
default: '%m/%d/%Y' # 07/4/2008
|
26
|
+
short_numeric: '%m/%d' # 07/4
|
27
|
+
short_numeric_year: '%m/%d/%y' # 07/4/08
|
28
|
+
long_numeric: '%m/%d/%Y' # 07/4/2008
|
29
|
+
verbose: '%A, %B %d, %Y' # Friday, July 4, 2008
|
30
|
+
monthname: '%B %d' # July 4
|
31
|
+
monthname_year: '%B %d, %Y' # July 4, 2008
|
32
|
+
monthname_abbr: '%b %d' # Jul 4
|
33
|
+
monthname_abbr_year: '%b %d, %Y' # Jul 4, 2008
|
34
|
+
date_time: '%m/%d/%Y at %H:%M' # 01/03/1010 at 5:30
|
35
|
+
site_info: # used by the embedded mode
|
36
|
+
title: "Tr8n Sample Application" # site title
|
37
|
+
contact_email: "admin@tr8nhub.com" # default contact email
|
38
|
+
base_url: "http://localhost:3001" # base site url
|
39
|
+
default_url: "/home"
|
40
|
+
default_locale: "en-US" # locale of the site default language
|
41
|
+
current_locale_method: "current_locale" # application controller method that sets and returns current locale
|
42
|
+
user_info: # used by integrated and embedded modes
|
43
|
+
class_name: User # class name for the User object type
|
44
|
+
current_user_method: current_user # returns current user object
|
45
|
+
methods: # User object methods mapping
|
46
|
+
id: "id"
|
47
|
+
name: "name"
|
48
|
+
gender: "gender"
|
49
|
+
admin: "admin?"
|
50
|
+
guest: "guest?" # if current_user is nil, the user is automatically a guest
|
51
|
+
mugshot: "mugshot"
|
52
|
+
link: "link"
|
53
|
+
locale: "locale"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#############################################################################
|
2
|
+
#
|
3
|
+
# Tr8n Default Data Tokens
|
4
|
+
#
|
5
|
+
#############################################################################
|
6
|
+
|
7
|
+
html:
|
8
|
+
ndash: "–" # –
|
9
|
+
mdash: "—" # —
|
10
|
+
iexcl: "¡" # ¡
|
11
|
+
iquest: "¿" # ¿
|
12
|
+
quot: """ # "
|
13
|
+
ldquo: "“" # “
|
14
|
+
rdquo: "”" # ”
|
15
|
+
lsquo: "‘" # ‘
|
16
|
+
rsquo: "’" # ’
|
17
|
+
laquo: "«" # «
|
18
|
+
raquo: "»" # »
|
19
|
+
nbsp: " " # space
|
20
|
+
lsaquo: "‹" # ‹
|
21
|
+
rsaquo: "›" # ›
|
22
|
+
br: "<br/>" # line break
|
23
|
+
lbrace: "{"
|
24
|
+
rbrace: "}"
|
25
|
+
trade: "™" # TM
|
26
|
+
|
27
|
+
plain:
|
28
|
+
ndash: "–" # –
|
29
|
+
mdash: "—" # —
|
30
|
+
iexcl: "¡" # ¡
|
31
|
+
iquest: "¿" # ¿
|
32
|
+
quot: '"' # "
|
33
|
+
ldquo: "“" # “
|
34
|
+
rdquo: "”" # ”
|
35
|
+
lsquo: "‘" # ‘
|
36
|
+
rsquo: "’" # ’
|
37
|
+
laquo: "«" # «
|
38
|
+
raquo: "»" # »
|
39
|
+
nbsp: " " # space
|
40
|
+
lsaquo: "‹" # ‹
|
41
|
+
rsaquo: "›" # ›
|
42
|
+
br: "\n" # line break
|
43
|
+
lbrace: "{"
|
44
|
+
rbrace: "}"
|
45
|
+
trade: "™" # TM
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#############################################################################
|
2
|
+
#
|
3
|
+
# Tr8n Default Decoration Tokens
|
4
|
+
#
|
5
|
+
#############################################################################
|
6
|
+
|
7
|
+
html:
|
8
|
+
strong: "<strong>{$0}</strong>"
|
9
|
+
bold: "<strong>{$0}</strong>"
|
10
|
+
b: "<strong>{$0}</strong>"
|
11
|
+
em: "<em>{$0}</em>"
|
12
|
+
italic: "<i>{$0}</i>"
|
13
|
+
i: "<i>{$0}</i>"
|
14
|
+
link: "<a href='{$href}'>{$0}</a>"
|
15
|
+
br: "<br>{$0}"
|
16
|
+
strike: "<strike>{$0}</strike>"
|
17
|
+
div: "<div id='{$id}' class='{$class}' style='{$style}'>{$0}</div>"
|
18
|
+
span: "<span id='{$id}' class='{$class}' style='{$style}'>{$0}</span>"
|
19
|
+
h1: "<h1>{$0}</h1>"
|
20
|
+
h2: "<h2>{$0}</h2>"
|
21
|
+
h3: "<h3>{$0}</h3>"
|
22
|
+
|
23
|
+
plain:
|
24
|
+
strong: "{$0}"
|
25
|
+
bold: "{$0}"
|
26
|
+
b: "{$0}"
|
27
|
+
em: "{$0}"
|
28
|
+
italic: "{$0}"
|
29
|
+
i: "{$0}"
|
30
|
+
link: "{$0}:{$1}"
|
31
|
+
br: "\n{$0}"
|
32
|
+
strike: "{$0}"
|
33
|
+
div: "{$0}"
|
34
|
+
span: "{$0}"
|
35
|
+
h1: "{$0}"
|
36
|
+
h2: "{$0}"
|
37
|
+
h3: "{$0}"
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2013 Michael Berkovich, tr8nhub.com
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
require 'rails/generators'
|
25
|
+
|
26
|
+
class Tr8nClientSdkGenerator < Rails::Generators::Base
|
27
|
+
|
28
|
+
def self.source_root
|
29
|
+
@source_root ||= File.expand_path('../templates', __FILE__)
|
30
|
+
end
|
31
|
+
|
32
|
+
def copy_configuration
|
33
|
+
config_source = File.expand_path("#{self.class.source_root}/config/tr8n", __FILE__)
|
34
|
+
system "rsync -ruv #{config_source} #{Rails.root}/config"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2013 Michael Berkovich, tr8nhub.com
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
namespace :tr8n_client_sdk do
|
25
|
+
|
26
|
+
task :init => :environment do
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2013 Michael Berkovich, tr8nhub.com
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
require "tr8n_client_sdk/railtie"
|
25
|
+
require "tr8n_client_sdk/engine"
|
26
|
+
|
27
|
+
module Tr8nClientSdk
|
28
|
+
end
|
@@ -0,0 +1,197 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2013 Michael Berkovich, tr8nhub.com
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
module Tr8nClientSdk
|
25
|
+
class Config < ::Tr8n::Config
|
26
|
+
thread_safe_attributes :application, :current_user, :current_language, :current_translator, :current_source, :current_component
|
27
|
+
thread_safe_attributes :block_options
|
28
|
+
|
29
|
+
def root
|
30
|
+
Rails.root
|
31
|
+
end
|
32
|
+
|
33
|
+
def env
|
34
|
+
Rails.env
|
35
|
+
end
|
36
|
+
|
37
|
+
def defaults
|
38
|
+
@defaults ||= HashWithIndifferentAccess.new(Tr8n::Utils.load_yaml("#{root}/config/tr8n/config.yml", env))
|
39
|
+
end
|
40
|
+
|
41
|
+
def default_data_tokens
|
42
|
+
@default_data_tokens ||= Tr8n::Utils.load_yaml("#{root}/config/tr8n/tokens/data.yml")
|
43
|
+
end
|
44
|
+
|
45
|
+
def default_decoration_tokens
|
46
|
+
@default_decoration_tokens ||= Tr8n::Utils.load_yaml("#{root}/config/tr8n/tokens/decorations.yml")
|
47
|
+
end
|
48
|
+
|
49
|
+
def init_request(user, translator, locale, source = nil, component = nil)
|
50
|
+
self.current_user = user
|
51
|
+
self.current_translator = translator
|
52
|
+
self.current_language = (application.language(locale) || default_language)
|
53
|
+
self.current_source = source
|
54
|
+
self.current_component = component
|
55
|
+
|
56
|
+
# # register source with component
|
57
|
+
# unless component.nil?
|
58
|
+
# set_component(application.component_by_key(component))
|
59
|
+
# current_component.register_source(current_source)
|
60
|
+
# else
|
61
|
+
# set_component(nil)
|
62
|
+
# end
|
63
|
+
end
|
64
|
+
|
65
|
+
#def current_user_is_authorized_to_view_component?(component = current_component)
|
66
|
+
# return true if component.nil? # no component present, so be it
|
67
|
+
# component = application.component_by_key(component.to_s) if component.is_a?(Symbol)
|
68
|
+
#
|
69
|
+
# return true unless component.restricted?
|
70
|
+
# return false unless Tr8n.config.current_translator
|
71
|
+
# return true if component.translator_authorized?
|
72
|
+
#
|
73
|
+
# false
|
74
|
+
#end
|
75
|
+
#
|
76
|
+
#def current_user_is_authorized_to_view_language?(component = current_component, language = current_language)
|
77
|
+
# return true if component.nil? # no component present, so be it
|
78
|
+
# component = application.component_by_key(component.to_s) if component.is_a?(Symbol)
|
79
|
+
#
|
80
|
+
# # if Tr8n.config.current_translator
|
81
|
+
# # return true if component.translator_authorized?
|
82
|
+
# # end
|
83
|
+
#
|
84
|
+
# # component.component_languages.each do |cl|
|
85
|
+
# # return cl.live? if cl.language_id == language.id
|
86
|
+
# # end
|
87
|
+
#
|
88
|
+
# true
|
89
|
+
#end
|
90
|
+
|
91
|
+
def decorator_class
|
92
|
+
Tr8n::Decorators::Html
|
93
|
+
end
|
94
|
+
|
95
|
+
def reset_request
|
96
|
+
reset
|
97
|
+
end
|
98
|
+
|
99
|
+
def url_for(path)
|
100
|
+
"#{defaults["host"]}#{path}"
|
101
|
+
end
|
102
|
+
|
103
|
+
#########################################################
|
104
|
+
# Site Info
|
105
|
+
#########################################################
|
106
|
+
def site_info
|
107
|
+
defaults[:site_info]
|
108
|
+
end
|
109
|
+
|
110
|
+
def site_title
|
111
|
+
site_info[:title]
|
112
|
+
end
|
113
|
+
|
114
|
+
def base_url
|
115
|
+
site_info[:base_url]
|
116
|
+
end
|
117
|
+
|
118
|
+
def default_url
|
119
|
+
site_info[:default_url]
|
120
|
+
end
|
121
|
+
|
122
|
+
def contact_email
|
123
|
+
site_info[:contact_email]
|
124
|
+
end
|
125
|
+
|
126
|
+
def default_locale
|
127
|
+
return block_options[:default_locale] if block_options[:default_locale]
|
128
|
+
site_info[:default_locale]
|
129
|
+
end
|
130
|
+
|
131
|
+
def default_admin_locale
|
132
|
+
return block_options[:default_admin_locale] if block_options[:default_admin_locale]
|
133
|
+
site_info[:default_admin_locale]
|
134
|
+
end
|
135
|
+
|
136
|
+
def current_locale_method
|
137
|
+
site_info[:current_locale_method]
|
138
|
+
end
|
139
|
+
|
140
|
+
#########################################################
|
141
|
+
# site user info
|
142
|
+
# The following methods could be overloaded in the initializer
|
143
|
+
#########################################################
|
144
|
+
def site_user_info
|
145
|
+
site_info[:user_info]
|
146
|
+
end
|
147
|
+
|
148
|
+
def current_user_method
|
149
|
+
site_user_info[:current_user_method]
|
150
|
+
end
|
151
|
+
|
152
|
+
def user_class_name
|
153
|
+
site_user_info[:class_name]
|
154
|
+
end
|
155
|
+
|
156
|
+
def user_class
|
157
|
+
user_class_name.constantize
|
158
|
+
end
|
159
|
+
|
160
|
+
def user_id(user)
|
161
|
+
return 0 unless user
|
162
|
+
user.send(site_user_info[:methods][:id])
|
163
|
+
rescue Exception => ex
|
164
|
+
Tr8n::Logger.error("Failed to fetch user id: #{ex.to_s}")
|
165
|
+
0
|
166
|
+
end
|
167
|
+
|
168
|
+
def user_name(user)
|
169
|
+
return "Unknown user" unless user
|
170
|
+
user.send(site_user_info[:methods][:name])
|
171
|
+
rescue Exception => ex
|
172
|
+
Tr8n::Logger.error("Failed to fetch #{user_class_name} name: #{ex.to_s}")
|
173
|
+
"Invalid user"
|
174
|
+
end
|
175
|
+
|
176
|
+
def user_gender(user)
|
177
|
+
return "unknown" unless user
|
178
|
+
user.send(site_user_info[:methods][:gender])
|
179
|
+
rescue Exception => ex
|
180
|
+
Tr8n::Logger.error("Failed to fetch #{user_class_name} name: #{ex.to_s}")
|
181
|
+
"unknown"
|
182
|
+
end
|
183
|
+
|
184
|
+
def guest_user?(user = Tr8n.config.current_user)
|
185
|
+
return true unless user
|
186
|
+
user.send(site_user_info[:methods][:guest])
|
187
|
+
rescue Exception => ex
|
188
|
+
Tr8n::Logger.error("Failed to fetch #{user_class_name} guest flag: #{ex.to_s}")
|
189
|
+
true
|
190
|
+
end
|
191
|
+
|
192
|
+
def current_user_is_guest?
|
193
|
+
guest_user?
|
194
|
+
end
|
195
|
+
|
196
|
+
end
|
197
|
+
end
|