Sha256: 5a2fb946f63e51ba3edb90834aee0c50b18652791fbb62025bbd295b2a163453

Contents?: true

Size: 550 Bytes

Versions: 1

Compression:

Stored size: 550 Bytes

Contents

module Imagery
  module Faking
    def self.included(base)
      base.extend ClassMethods
    end
      
    module ClassMethods
      def mode=(mode)
        @mode = mode
      end

      def mode
        @mode
      end

      def faked
        @omode, @mode = @mode, :fake
        yield
      ensure
        @mode = @omode
      end

      def real
        @omode, @mode = @mode, nil
        yield
      ensure
        @mode = @omode
      end
    end

    def save(io)
      return true if self.class.mode == :fake

      super
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imagery-0.0.2 lib/imagery/faking.rb