Module: MeterCat::MetersHelper
- Defined in:
- app/helpers/meter_cat/meters_helper.rb
Instance Method Summary collapse
-
#meter_description(name) ⇒ Object
Constructs a single meter description.
-
#meter_descriptions(meters) ⇒ Object
Constructs a list of meter descriptions.
-
#meter_form(date, days, names, all_names) ⇒ Object
Renders the _form partial with locals.
-
#meter_header(range) ⇒ Object
Constructs an HTML table header.
-
#meter_row(meters, range, name) ⇒ Object
Constructs an HTML table row.
-
#meter_table(meters, range) ⇒ Object
Returns an HTML table.
Instance Method Details
#meter_description(name) ⇒ Object
Constructs a single meter description
6 7 8 9 10 11 12 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 6 def meter_description( name ) content_tag( :p ) do concat content_tag( :b, name ) concat ' - ' concat t( name, :scope => :meter_cat ) end end |
#meter_descriptions(meters) ⇒ Object
Constructs a list of meter descriptions
16 17 18 19 20 21 22 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 16 def meter_descriptions( meters ) content_tag( :ul ) do meters.keys.sort.each do |name| concat content_tag( :li, meter_description( name ) ) end end end |
#meter_form(date, days, names, all_names) ⇒ Object
Renders the _form partial with locals
26 27 28 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 26 def meter_form( date, days, names, all_names ) render :partial => 'form', :locals => { :date => date, :days => days, :names => names, :all_names => all_names } end |
#meter_header(range) ⇒ Object
Constructs an HTML table header
32 33 34 35 36 37 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 32 def meter_header( range ) content_tag( :tr ) do concat content_tag( :th ) range.to_a.reverse.each { |date| concat content_tag( :th, date.strftime( '%-m/%-d/%y' ) ) } end end |
#meter_row(meters, range, name) ⇒ Object
Constructs an HTML table row
41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 41 def meter_row( meters, range, name ) style = cycle( '', 'background-color: #dddddd;' ) content_tag( :tr ) do concat content_tag( :th, name, :align => 'left', :style => style ) range.to_a.reverse.each do |date| value = meters[ name ][ date ] || 0 concat content_tag( :td, value, :align => 'right', :style => style ) end end end |
#meter_table(meters, range) ⇒ Object
Returns an HTML table
55 56 57 58 59 60 61 62 |
# File 'app/helpers/meter_cat/meters_helper.rb', line 55 def meter_table( meters, range ) content_tag( :table, :border => 1 ) do concat meter_header( range ) meters.keys.sort.each do |name| concat meter_row( meters, range, name ) end end end |