rspec-requestable-examples 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/rspec/requestable-examples.rb +47 -0
  2. metadata +46 -0
@@ -0,0 +1,47 @@
1
+ module RSpec
2
+ module RequestableExamples
3
+ class RequestedExamples < Array
4
+ def initialize(options)
5
+ options ||= {}
6
+ puts self.object_id
7
+ replace options[:examples] || []
8
+ end
9
+
10
+ def run?(example)
11
+ return true if empty? || include?(example)
12
+ false
13
+ end
14
+ end
15
+
16
+ def request_examples(options)
17
+ puts options.inspect
18
+ @requested_examples = RequestedExamples.new(options)
19
+ end
20
+
21
+ def requested_examples
22
+ @requested_examples
23
+ end
24
+
25
+ def requestable_example(description, options={}, &blk)
26
+ requestable_examples << description
27
+ it description, &blk if requested_examples.run?(options[:as] || description)
28
+ end
29
+ alias_method :requestable_it, :requestable_example
30
+
31
+ def requestable_examples
32
+ @requestable_examples ||= []
33
+ end
34
+
35
+ def requestable_describe(description, options={}, &blk)
36
+ requestable_describes << description
37
+ describe description, &blk if requested_examples.include?(options[:as] || description)
38
+ end
39
+ alias_method :requestable_context, :requestable_describe
40
+
41
+ def requestable_describes
42
+ @requestable_describes ||= []
43
+ end
44
+ alias_method :requestable_contexts, :requestable_describes
45
+ end
46
+
47
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec-requestable-examples
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Zach Dennis
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-16 00:00:00.000000000Z
13
+ dependencies: []
14
+ description: See home page
15
+ email: zach.dennis@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/rspec/requestable-examples.rb
21
+ homepage: http://www.continuousthinking.com
22
+ licenses: []
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 1.8.10
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: rspec-requestable-examples let's you include specific examples from shared
45
+ example sets
46
+ test_files: []