Skip to content

Commit

Permalink
Conditional URL
Browse files Browse the repository at this point in the history
  • Loading branch information
bogdan committed Nov 29, 2011
1 parent 18dce7e commit 7f88009
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/datagrid/helper.rb
Expand Up @@ -5,8 +5,9 @@ module Helper

def datagrid_format_value(report, column, asset)
value = column.value(asset, report)
if column.options[:url]
link_to(value, column.options[:url].call(asset))
url = column.options[:url] && column.options[:url].call(asset)
if url
link_to(value, url)
else
case column.format
when :url
Expand Down
19 changes: 19 additions & 0 deletions spec/datagrid/helper_spec.rb
Expand Up @@ -66,6 +66,25 @@
<td>Pop</td>
<td>Star</td>
</tr>
HTML
end

it "should support urls" do
rp = test_report do
scope { Entry }
column(:name, :url => lambda {|model| model.name})
end
subject.datagrid_rows(rp, [entry], {}).should equal_to_dom(<<-HTML)
<tr><td><a href="Star">Star</a></td></tr>
HTML
end
it "should support conditional urls" do
rp = test_report do
scope { Entry }
column(:name, :url => lambda {false})
end
subject.datagrid_rows(rp, [entry], {}).should equal_to_dom(<<-HTML)
<tr><td>Star</td></tr>
HTML
end
end
Expand Down

0 comments on commit 7f88009

Please sign in to comment.