Sha256: 8a0d9bb23132f01583fd5872fa10721f48cd008b716b9408c23ecd9c613c9f54

Contents?: true

Size: 404 Bytes

Versions: 22

Compression:

Stored size: 404 Bytes

Contents

module Epuber
  class GlobalsContext
    attr_accessor :catch_variables

    def initialize
      @catch_variables = []
    end

    def catch
      before = global_variables

      begin
        yield
      ensure
        @catch_variables += (global_variables - before)
      end
    end

    def clear_all
      @catch_variables.each do |name|
        eval("#{name} = nil")
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
epuber-0.6.0 lib/epuber/vendor/globals_context.rb
epuber-0.5.7 lib/epuber/vendor/globals_context.rb
epuber-0.5.6 lib/epuber/vendor/globals_context.rb
epuber-0.5.5 lib/epuber/vendor/globals_context.rb
epuber-0.5.4 lib/epuber/vendor/globals_context.rb
epuber-0.5.3 lib/epuber/vendor/globals_context.rb
epuber-0.5.2 lib/epuber/vendor/globals_context.rb
epuber-0.5.1 lib/epuber/vendor/globals_context.rb
epuber-0.5.0 lib/epuber/vendor/globals_context.rb
epuber-0.5.0.beta.5 lib/epuber/vendor/globals_context.rb
epuber-0.5.0.beta.4 lib/epuber/vendor/globals_context.rb
epuber-0.5.0.beta.3 lib/epuber/vendor/globals_context.rb
epuber-0.5.0.beta.2 lib/epuber/vendor/globals_context.rb
epuber-0.5.0.beta lib/epuber/vendor/globals_context.rb
epuber-0.4.0 lib/epuber/vendor/globals_context.rb
epuber-0.3.12 lib/epuber/vendor/globals_context.rb
epuber-0.3.11 lib/epuber/vendor/globals_context.rb
epuber-0.3.10 lib/epuber/vendor/globals_context.rb
epuber-0.3.9 lib/epuber/vendor/globals_context.rb
epuber-0.3.7 lib/epuber/vendor/globals_context.rb