Sha256: 1b61850e082fa97dcdda529d1163b95fe30183ace4dd9c5b129266f9ea387762

Contents?: true

Size: 1.36 KB

Versions: 50

Compression:

Stored size: 1.36 KB

Contents

# require "eitil_core/formatters/duck_set"


class Date

  def self.duck_set(identifier)
  
    _class = identifier.class

    if _class == self
      return identifier

    elsif _class == String
      return parse identifier

    elsif _class == DateTime
      return identifier.to_date

    elsif _class == Time
      return identifier.to_date
    end

    raise ArgumentError, "Date.duck_set only accepts instances of String, Date, DateTime and Time as argument."    
      
  end

end


class DateTime

  def self.duck_set(identifier)
    
    _class = identifier.class

    if _class == self
      return identifier

    elsif _class == String
      return parse identifier

    elsif _class == Time
      return identifier.to_datetime

    elsif _class == Date
      return identifier.to_datetime
    end

    raise ArgumentError, "DateTime.duck_set only accepts instances of String, Date, DateTime and Time as argument."    
    
  end

end


class Time

  def self.duck_set(identifier)
    
    _class = identifier.class

    if _class == self
      return identifier

    elsif _class == String
      return parse identifier

    elsif _class == DateTime 
      return identifier.to_time

    elsif _class == Date
      return identifier.to_time
    end

    raise ArgumentError, "Time.duck_set only accepts instances of String, Date, DateTime and Time as argument."    

  end

end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
eitil-2.0.8 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.7 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.6 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.5 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.4 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.3 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.2 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.1 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-2.0.0 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.4.1 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.4.0 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.12 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.11 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.10 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.9 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.8 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.7 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.6 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.5 eitil_core/lib/eitil_core/formatters/duck_set.rb
eitil-1.3.4 eitil_core/lib/eitil_core/formatters/duck_set.rb