Sha256: 0b8f8d5d15a62298c78712ec02ebf6b03b83affb86b35c5ad5c7d7497d9850fe

Contents?: true

Size: 484 Bytes

Versions: 3

Compression:

Stored size: 484 Bytes

Contents

require 'date'
require 'age_calculator/version'
require 'age_calculator/railtie' if defined?(Rails)

class AgeCalculator
  def initialize(birthday)
    @birthday = birthday

    unless @birthday.is_a?(Date)
      fail ArgumentError, "#{@birthday.inspect} is not a date"
    end
  end

  def age(asof: nil)
    ((asof || today).strftime('%Y%m%d').to_i - @birthday.strftime('%Y%m%d').to_i) / 10000
  end

  def today
    Time.respond_to?(:zone) ? Time.zone.today : Date.today
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
age_calculator-2.0.0 lib/age_calculator.rb
age_calculator-1.2.1 lib/age_calculator.rb
age_calculator-1.2.0 lib/age_calculator.rb