Sha256: b804b97b0088413cb2ceaa056b738d6253d3be115634b8b61f6d38c86a61fba7
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
require 'date' require 'time' def require_file file_name RUBY_VERSION < '1.9' ? require(file_name) : require_relative(file_name) end require_file 'modules/day' require_file 'modules/month' require_file 'modules/week' require_file 'modules/year' class Date include WeekOfMonth::Day include WeekOfMonth::Month include WeekOfMonth::Week include WeekOfMonth::Year end [Time, Date].each do |klass| klass.class_eval do unless method_defined?(:to_date) def to_date ::Date.new(year, month, day) end end unless method_defined?(:sunday?) def sunday? ; self.wday == 0; end def monday? ; self.wday == 1; end def tuesday? ; self.wday == 2; end def wednesday? ; self.wday == 3; end def thursday? ; self.wday == 4; end def friday? ; self.wday == 5; end def saturday? ; self.wday == 6; end end end end class Time include WeekOfMonth::Day include WeekOfMonth::Month include WeekOfMonth::Week include WeekOfMonth::Year def leap? self.to_date.leap? end if RUBY_VERSION < '1.9' def self.new(year=Time.now.year, month=Time.now.month, day=Time.now.day, hour=Time.now.hour, min=Time.now.min, sec=Time.now.sec, millisecond=(Time.now.to_f * 1000.0).to_i) Time.local(year, month, day, hour, min, sec, millisecond) end end end class Hash unless method_defined?(:key) def key(value) result = nil self.each do |k,v| result = k if v == value && result == nil; end if self.values.include?(value) result end end end module WeekOfMonth def self.first_day=val @first_day = DAYS_IN_SEQUENCE[val] end def self.first_day @first_day ||= 0 end def self.configure yield end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
week_of_month-1.2.3.2 | lib/week_of_month.rb |