Module: EL::TagFactory
- Included in:
- E, AssetsMapper
- Defined in:
- lib/el/tag_factory.rb
Instance Method Summary collapse
- #comment_tag(comment = nil) ⇒ Object
-
#comment_tag!(comment = nil) ⇒ Object
same as
comment_tagexcept it wont escape comment!. -
#css_tag(src, attrs = {}) ⇒ Object
shorthand for
link_tagso you can type ‘css_tag “file”` instead of `link_tag rel: ’stylesheet’, href: “file.css”‘. - #doctype_tag(&proc) ⇒ Object
-
#js_tag(src, attrs = {}) ⇒ Object
shorthand for
script_tagso you can type ‘js_tag “file”` instead of `script_tag type: ’text/javascript’, src: “file.js”‘.
Instance Method Details
#comment_tag(comment = nil) ⇒ Object
93 94 95 96 |
# File 'lib/el/tag_factory.rb', line 93 def comment_tag comment = nil comment = yield if block_given? '<!-- %s -->' % CGI.escapeHTML(comment.to_s) end |
#comment_tag!(comment = nil) ⇒ Object
same as comment_tag except it wont escape comment!
99 100 101 102 |
# File 'lib/el/tag_factory.rb', line 99 def comment_tag! comment = nil comment = yield if block_given? '<!-- %s -->' % comment end |
#css_tag(src, attrs = {}) ⇒ Object
shorthand for link_tag so you can type ‘css_tag “file”` instead of `link_tag rel: ’stylesheet’, href: “file.css”‘
URL are handled exactly as per js_tag
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/el/tag_factory.rb', line 63 def css_tag src, attrs = {} src.is_a?(Hash) && (attrs = src) && (src = nil) src = src ? assets_url(src) : (attrs[:href] || attrs.delete(:src)) suffix = attrs.delete(:suffix) attrs[:href] = '%s.css%s' % [src, suffix] attrs[:media] ||= 'all' attrs[:type] ||= 'text/css' attrs[:rel] ||= 'stylesheet' '<link%s>' % EUtils.html_tag_attrs(attrs) end |
#doctype_tag(&proc) ⇒ Object
89 90 91 |
# File 'lib/el/tag_factory.rb', line 89 def doctype_tag &proc "<!DOCTYPE html>\n%s" % (proc ? proc.call : '') end |
#js_tag(src, attrs = {}) ⇒ Object
shorthand for script_tag so you can type ‘js_tag “file”` instead of `script_tag type: ’text/javascript’, src: “file.js”‘
if URL given as first argument, it should not contain extension. also URL will be automatically modified if used within assets mapper.
to set an URL that wont be modified in any way, use :src option.
49 50 51 52 53 54 55 56 |
# File 'lib/el/tag_factory.rb', line 49 def js_tag src, attrs = {} src.is_a?(Hash) && (attrs = src) && (src = nil) src = src ? assets_url(src) : attrs[:src] suffix = attrs.delete(:suffix) attrs[:src] = '%s.js%s' % [src, suffix] attrs[:type] ||= 'text/javascript' '<script%s></script>' % EUtils.html_tag_attrs(attrs) end |