Sha256: 86de0eb93df3fc39620c169b3a48f521d15c5d5e26bda045943649f94a06b25c

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

module CalendarsHelper
  def build_calendar_for(objects, *args, &block)
    raise ArgumentError, "Missing block" unless block_given?
    options = args.last.is_a?(Hash) ? args.pop : {}
    html_options = options[:html]
    builder = options[:builder] || Spud::Events::CalendarBuilder
    calendar = options[:calendar] || Spud::Events::Calendar

    content = with_output_buffer{block.call(builder.new(objects||[], self, calendar, options))}
    self.content_tag(:table, content, html_options, false)
  end

  def get_calendar_options(text_for_all)
    options_for_select(SpudCalendar.all.collect { |f| [f.title, f.title.gsub(/([^A-Z0-9]+)/i, "-").downcase] }.insert(0, text_for_all), @current_calendar)
  end

  def calendar_fore_color(backcolor)
    fore_color = "ffffff"
    if backcolor.length != 6
      return fore_color
    end

    red = backcolor[0,2].hex
    green = backcolor[2,2].hex
    blue = backcolor[4,2].hex

    perceived_brightness = Math.sqrt(red*red*0.241 + green*green*0.691 + blue*blue*0.068)


    # average = (red+green+blue) / 3
    if(perceived_brightness >= 130)
      return "000000"
    else
      return fore_color
    end
  end

  def link_to_previous_calendar_month(date, url_for_options)
    date = date.advance(:months => -1)
    calendar = params[:calendar] ? params[:calendar] : nil
    link_to('« Previous Month'.html_safe, calendar_path(:month => date.month, :year => date.year, :calendar => calendar), :class => 'spud_events_calendar_link previous_calendar btn').html_safe
  end

  def link_to_next_calendar_month(date, url_for_options)
    date = date.advance(:months => 1)
    calendar = params[:calendar] ? params[:calendar] : nil
    link_to('Next Month »'.html_safe, calendar_path(:month => date.month, :year => date.year, :calendar => calendar), :class => 'spud_events_calendar_link next_calendar btn').html_safe
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spud_events-0.9.0 app/helpers/calendars_helper.rb