Sha256: 28fb4538eaa4d62da921d55a39164a7d7a2eb754b92455454c310177e659180d

Contents?: true

Size: 500 Bytes

Versions: 10

Compression:

Stored size: 500 Bytes

Contents

module Tins
  module TimeDummy
    def self.included(modul)
      modul.module_eval do
        class << self
          alias really_new new
          remove_method :now rescue nil
          remove_method :new rescue nil
        end

        extend ClassMethods
      end
    end

    module ClassMethods
      attr_accessor :dummy

      def new
        if dummy
          dummy.dup
        else
          really_new
        end
      end

      alias now new
    end
  end
end

require 'tins/alias'

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tins-0.3.9 lib/tins/time_dummy.rb
tins-0.3.8 lib/tins/time_dummy.rb
tins-0.3.7 lib/tins/time_dummy.rb
tins-0.3.6 lib/tins/time_dummy.rb
tins-0.3.5 lib/tins/time_dummy.rb
tins-0.3.4 lib/tins/time_dummy.rb
tins-0.3.3 lib/tins/time_dummy.rb
tins-0.3.2 lib/tins/time_dummy.rb
tins-0.3.1 lib/tins/time_dummy.rb
tins-0.3.0 lib/tins/time_dummy.rb