Sha256: f7a0fbf110ea46c9d4482c675c170e1dff478083509918345ed61bad92b3506f

Contents?: true

Size: 1.32 KB

Versions: 8

Compression:

Stored size: 1.32 KB

Contents

# module Opal
#   module RSpec
#     module AsyncHelpers
#       module ClassMethods
#         def async(desc, *args, &block)
#           options = ::RSpec::Core::Metadata.build_hash_from(args)
#           options.update(:skip => ::RSpec::Core::Pending::NOT_YET_IMPLEMENTED) unless block
#
#           examples << Opal::RSpec::LegacyAsyncExample.new(self, desc, options, block)
#           examples.last
#         end
#       end
#
#       attr_accessor :legacy_promise
#
#       def self.included(base)
#         base.extend ClassMethods
#       end
#
#       # Use {#async} instead.
#       #
#       # @deprecated
#       def run_async(&block)
#         async(&block)
#       end
#
#       def async(&block)
#         begin
#           instance_eval &block
#           legacy_promise.resolve
#         rescue Exception => e
#           legacy_promise.reject e
#         end
#       end
#     end
#   end
# end
#
# class Opal::RSpec::LegacyAsyncExample < ::RSpec::Core::Example
#   def initialize(example_group_class, description, user_metadata, example_block=nil)
#     legacy_promise_ex_block = lambda do |example|
#       self.legacy_promise = Promise.new
#       instance_exec(example, &example_block)
#       self.legacy_promise
#     end
#
#     super example_group_class, description, user_metadata, legacy_promise_ex_block
#   end
# end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
opal-rspec-0.8.0 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.8.0.alpha3 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.8.0.alpha2 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.8.0.alpha1 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.7.1 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.7.0 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.7.0.rc.2 lib-opal/opal/rspec/async/legacy.rb
opal-rspec-0.7.0.rc.1 lib-opal/opal/rspec/async/legacy.rb