Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 30th, 2012  |  syntax: None  |  size: 1.21 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. module Utilidades
  2.  
  3.   require 'date'
  4.  
  5.   class Datas
  6.     def self.tempo_passado_em_palavras(dt)
  7.       begin
  8.         responder(Date.today - dt)
  9.       rescue
  10.         "banzai!"
  11.       end
  12.     end
  13.  
  14.     def self.responder(d)
  15.       d > 0 ? "falta #{d} dia(s)" : "daqui a #{d*-1} dia(s)"
  16.     end
  17.   end
  18.  
  19. end
  20.  
  21. # now some Subclass'ing and inheritance
  22.  
  23. module Utilidades
  24.   class Datas_owned < Datas
  25.     def self.responder(d)
  26.       if @@i18n == 0
  27.         super # <----- super class Datas
  28.       else
  29.         d > 0 ? "still #{d} day(s) to go" : "wait #{d*-1} day(s)"
  30.       end
  31.     end
  32.   end
  33. end
  34.  
  35. # Finally lets probe some results
  36. # The use of a class variable is intentional... (don't try at home)
  37.  
  38. puts "PT"
  39. @@i18n = 0
  40. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today - 4)
  41. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today + 4)
  42.  
  43. puts
  44. puts "EN"
  45. @@i18n = 1
  46. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today - 4)
  47. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today + 4)
  48.  
  49. puts
  50. puts "PT"
  51. @@i18n = 0
  52. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today - 4)
  53. puts Utilidades::Datas_owned.tempo_passado_em_palavras(Date.today + 4)