Sha256: af4ab14e1f5ef2fabb9bcf31161fa0d73c91de7b1eabaacc4cebee4bb40bc3de

Contents?: true

Size: 1.12 KB

Versions: 83

Compression:

Stored size: 1.12 KB

Contents

module EnsureSpec
  class Container
    attr_reader :executed
    
    def initialize
      @executed = []
    end
    
    def raise_in_method_with_ensure
      @executed << :method
      raise "An Exception"
    ensure
      @executed << :ensure
    end
    
    def raise_and_rescue_in_method_with_ensure
      @executed << :method
      raise "An Exception"
    rescue
      @executed << :rescue
    ensure
      @executed << :ensure
    end
    
    def throw_in_method_with_ensure
      @executed << :method
      throw(:symbol)
    ensure
      @executed << :ensure
    end
    
    def implicit_return_in_method_with_ensure
      :method
    ensure
      :ensure
    end

    def explicit_return_in_method_with_ensure
      return :method
    ensure
      return :ensure
    end
  end
end

module EnsureSpec

  class Test

    def initialize
      @values = []
    end

    attr_reader :values
  
    def call_block
      begin
        @values << :start
        yield
      ensure
        @values << :end
      end
    end

    def do_test
      call_block do
        @values << :in_block
        return :did_test
      end
    end
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
rhodes-3.1.1 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.1.beta spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0.beta.5 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0.beta.4 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0.beta.3 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0.beta.2 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.1.0.beta.1 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.2 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.2.beta.1 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.8 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.7 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.6 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.5 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.4 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.3 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.1.beta.2 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.0 spec/framework_spec/app/spec/language/fixtures/ensure.rb
rhodes-3.0.0.beta.7 spec/framework_spec/app/spec/language/fixtures/ensure.rb