Class: LedgerWeb::Decorators::LinkDecorator
- Inherits:
-
Object
- Object
- LedgerWeb::Decorators::LinkDecorator
- Defined in:
- lib/ledger_web/decorators.rb
Instance Method Summary collapse
- #decorate(cell, row) ⇒ Object
-
#initialize(href_pattern) ⇒ LinkDecorator
constructor
A new instance of LinkDecorator.
Constructor Details
#initialize(href_pattern) ⇒ LinkDecorator
Returns a new instance of LinkDecorator.
19 20 21 |
# File 'lib/ledger_web/decorators.rb', line 19 def initialize(href_pattern) @href_pattern = href_pattern end |
Instance Method Details
#decorate(cell, row) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ledger_web/decorators.rb', line 23 def decorate(cell, row) url = String.new(@href_pattern) row.each_with_index do |c,i| url.gsub!(":#{i}", CGI.escape(c.value.to_s)) end url.gsub!(':title', CGI.escape(cell.title.to_s)) url.gsub!(':now', CGI.escape(DateTime.now.strftime('%Y-%m-%d'))) url.gsub!(':this', CGI.escape(cell.value.to_s)) prev_text = cell.text cell.text = "<a href=\"#{url}\">#{cell.text}</a>" cell end |