Sha256: 8fb6356d28f3427d2c61a69ea638fd071c950ea9c9366a51f6493d5070f1f1d8

Contents?: true

Size: 946 Bytes

Versions: 4

Compression:

Stored size: 946 Bytes

Contents

# encoding: utf-8
class Date

  def self.year(year=Date.today.year)
    Date.new(year)
  end

  def january(day=nil)
    day.nil?? self.change(month: 1) : self.change(month: 1, day: day)
  end

  def october(day=nil)
    day.nil?? self.change(month: 10) : self.change(month: 10, day: day)
  end

  def december(day=nil)
    day.nil?? self.change(month: 12) : self.change(month: 12, day: day)
  end

  def monday
    self - (self.wday - 1) % 7
  end

  def weekend?
    self.wday == 0 || self.wday == 6
  end

  def display
    "#{Configuration::DAYS[self.wday]} #{self.day} de #{Configuration::MONTHS[self.month-1]} #{self.year == Date.today.year ? '' : self.year}"
  end

  def short_display
    self.strftime('%-d/%-m/%y')
  end

  def next_working_date
    add_working_days(1)
  end

  def prev_working_date
    add_working_days(-1)
  end

  def first_monday_before
    return self if self.monday?
    (self - 1).first_monday_before
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sinatra-hexacta-1.7.3 lib/sinatra/extensions/date.rb
sinatra-hexacta-1.7.2 lib/sinatra/extensions/date.rb
sinatra-hexacta-1.7.0 lib/sinatra/extensions/date.rb
sinatra-hexacta-1.6.4 lib/sinatra/extensions/date.rb