initial import

This commit is contained in:
2010-03-05 04:04:27 +02:00
commit 5588c77026
3 changed files with 45 additions and 0 deletions

16
Rakefile Normal file
View File

@@ -0,0 +1,16 @@
begin
require 'jeweler'
Jeweler::Tasks.new do |gemspec|
gemspec.name = "greek_easter"
gemspec.summary = "Never wonder again when easter is in Greece."
gemspec.description = "Never wonder again when easter is in Greece."
gemspec.email = "contact@jimeh.me"
gemspec.homepage = "http://github.com/jimeh/greek_easter"
gemspec.executables = ["greek_easter"]
gemspec.authors = ["Jim Myhrberg"]
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
end

5
bin/greek_easter Executable file
View File

@@ -0,0 +1,5 @@
#! /usr/bin/env ruby
require "rubygems"
require "../lib/greek_easter"
puts GreekEaster.at(ARGV[0])

24
lib/greek_easter.rb Normal file
View File

@@ -0,0 +1,24 @@
class GreekEaster
def self.at(year = nil)
date = self.easter(year)
return "In the year #{date.year}, the Greek Easter is on #{date.strftime("%d %B")}.";
end
def self.easter(year = nil)
year = Time.now.year if year.nil?
year = year.to_i if year.is_a?(String)
a = year % 19
b = year % 4
c = year % 7
d = (19 * a + 16) % 30
e = (2 * b + 4 * c + 6 * d) % 7;
easter = 3 + d + e;
if easter <= 30
Time.local(year, 4, easter)
else
Time.local(year, 5, (easter - 30))
end
end
end