Sha256: f6a296d5d445c50e4c9d655389ab48d24fc04c676f568c2a6c63e2bed8c16903

Contents?: true

Size: 729 Bytes

Versions: 3

Compression:

Stored size: 729 Bytes

Contents

module WatchtowerHelper
  def short_distance(timestamp)
    result = ""
    format = /^(less than|about|over)* *(a|\d+) *(.+)$/
    to_parse = distance_of_time_in_words_to_now(timestamp)
    return to_parse if (parsed = to_parse.scan(format).flatten.compact).empty?
    
    measurement = parsed.pop
    amount = parsed.pop
    approximation = parsed.pop unless parsed.empty?
    
    if approximation
      result << case approximation
      when "less than"
        "&lt;"
      when "about"
        "&asymp;"
      when "over"
        "&gt;"
      end
    end
    
    result << ((amount =~ /a/).nil? ? amount : "1")
    result << ((measurement =~ /month/).nil? ? measurement.strip.split(//).first : "mo")
    result
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
joshuaclayton-watchtower-0.1.2 app/helpers/watchtower_helper.rb
joshuaclayton-watchtower-0.1.3 app/helpers/watchtower_helper.rb
joshuaclayton-watchtower-0.1.4 app/helpers/watchtower_helper.rb