Class: HasStar::Builder
- Inherits:
-
Object
- Object
- HasStar::Builder
- Defined in:
- lib/has_star/builder.rb
Overview
take logic out of has_star helper method makes it easy to override
Instance Method Summary collapse
-
#classes ⇒ Object
override to add extra classes.
-
#content ⇒ Object
content based on model.star status, already html safed.
-
#id ⇒ Object
has_star_post_980190962.
- #render ⇒ Object
-
#starred ⇒ Object
html code for solid star, could be ♥.
- #to_s ⇒ Object
-
#unstarred ⇒ Object
html code for empty star.
-
#url ⇒ Object
/posts/980190962/toggle_star.
Instance Method Details
#classes ⇒ Object
override to add extra classes
31 32 33 |
# File 'lib/has_star/builder.rb', line 31 def classes 'has-star' end |
#content ⇒ Object
content based on model.star status, already html safed
6 7 8 |
# File 'lib/has_star/builder.rb', line 6 def content (model.star? ? starred : unstarred).html_safe end |
#id ⇒ Object
has_star_post_980190962
26 27 28 |
# File 'lib/has_star/builder.rb', line 26 def id h.dom_id(model, :has_star) end |
#render ⇒ Object
35 36 37 38 |
# File 'lib/has_star/builder.rb', line 35 def render h.link_to content, url, method: :patch, remote: true, id: id, class: classes # data: {disable_with: '<span class="toggle-star-loading">↻</span>'}, end |
#starred ⇒ Object
html code for solid star, could be ♥
11 12 13 |
# File 'lib/has_star/builder.rb', line 11 def starred '★' end |
#to_s ⇒ Object
40 41 42 |
# File 'lib/has_star/builder.rb', line 40 def to_s render end |
#unstarred ⇒ Object
html code for empty star
16 17 18 |
# File 'lib/has_star/builder.rb', line 16 def unstarred '☆' end |
#url ⇒ Object
/posts/980190962/toggle_star
21 22 23 |
# File 'lib/has_star/builder.rb', line 21 def url [:toggle_star, model] end |