Class: Inkcite::Renderer::Like
- Defined in:
- lib/inkcite/renderer/like.rb
Constant Summary
Constants inherited from Base
Base::BACKGROUND_COLOR, Base::BACKGROUND_GRADIENT, Base::BACKGROUND_IMAGE, Base::BACKGROUND_POSITION, Base::BACKGROUND_REPEAT, Base::BACKGROUND_SIZE, Base::BORDER_BOTTOM, Base::BORDER_COLLAPSE, Base::BORDER_LEFT, Base::BORDER_RADIUS, Base::BORDER_RIGHT, Base::BORDER_SPACING, Base::BORDER_TOP, Base::BOX_SHADOW, Base::DIMENSIONS, Base::DIRECTIONS, Base::FONT_FAMILY, Base::FONT_SIZE, Base::FONT_WEIGHT, Base::LETTER_SPACING, Base::LINE_HEIGHT, Base::LINK_COLOR, Base::MARGIN, Base::MARGIN_BOTTOM, Base::MARGIN_LEFT, Base::MARGIN_RIGHT, Base::MARGIN_TOP, Base::MAX_WIDTH, Base::NONE, Base::PADDING_X, Base::PADDING_Y, Base::POUND_SIGN, Base::TEXT_ALIGN, Base::TEXT_DECORATION, Base::TEXT_SHADOW, Base::TEXT_SHADOW_BLUR, Base::TEXT_SHADOW_OFFSET, Base::VERTICAL_ALIGN, Base::WEBKIT_ANIMATION, Base::WHITE_SPACE, Base::ZERO_WIDTH_NON_BREAKING_SPACE, Base::ZERO_WIDTH_SPACE
Instance Method Summary collapse
Instance Method Details
#render(tag, opt, ctx) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/inkcite/renderer/like.rb', line 5 def render tag, opt, ctx # Handle the case where we're building the hosted version of the email and # JavaScript is used to trigger the Facebook like dialog. if ctx.browser? return '{/a}' if tag == '/like' page = opt[:page] if page.blank? ctx.error("Like tag missing 'page' attribute") else brand = opt[:brand] || 'Us' # Add an externally-hosted script to the context. ctx.scripts << URI.parse('http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js') # Add the java script to be embedded. ctx.scripts << URI.parse('file://facebook-like.js') # Add the Facebook like stylesheet. ctx.styles << URI.parse('file://facebook-like.css') ctx. << " <div id=\"dialog-wrap\">\n <div id=\"dialog\">\n <h2>Like \#{brand} on Facebook</h2>\n <div id=\"dialog-content\" class='loading'>\n <div class=\"fb-like\" data-href=\"http://www.facebook.com/\#{page}\" data-send=\"true\" data-height=\"100\" data-width=\"450\" data-show-faces=\"true\"></div>\n </div>\n <div id=\"dialog-buttons\">\n <a href=# onclick=\"return closeLike();\"><span>Close</span></a>\n </div>\n </div>\n </div>\n\n <div id=\"fb-root\"></div>\n eos\n\n end\n\n '{a href=# onclick=\"return openLike();\"}'\n\n else\n\n url = ctx[Inkcite::Email::VIEW_IN_BROWSER_URL]\n unless url.blank?\n\n return '{/a}' if tag == '/like'\n\n # Otherwise, link to the hosted version of the email with the like hash tag\n # to trigger like automatically on arrival.\n href = Inkcite::Renderer.render(ctx[Inkcite::Email::VIEW_IN_BROWSER_URL] + '#like', ctx)\n\n id = opt[:id]\n\n \"{a id=\\\"\#{id}\\\" href=\\\"\#{href}\\\"}\"\n end\n\n end\n\nend\n" |