rsanheim-micronaut 0.1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. data/LICENSE +45 -0
  2. data/README +17 -0
  3. data/RSPEC-LICENSE +23 -0
  4. data/Rakefile +83 -0
  5. data/bin/micronaut +4 -0
  6. data/examples/example_helper.rb +36 -0
  7. data/examples/lib/micronaut/behaviour_example.rb +188 -0
  8. data/examples/lib/micronaut/configuration_example.rb +70 -0
  9. data/examples/lib/micronaut/example_example.rb +46 -0
  10. data/examples/lib/micronaut/expectations/extensions/object_example.rb +72 -0
  11. data/examples/lib/micronaut/expectations/fail_with_example.rb +17 -0
  12. data/examples/lib/micronaut/expectations/wrap_expectation_example.rb +31 -0
  13. data/examples/lib/micronaut/formatters/base_formatter_example.rb +107 -0
  14. data/examples/lib/micronaut/formatters/documentation_formatter_example.rb +5 -0
  15. data/examples/lib/micronaut/formatters/progress_formatter_example.rb +74 -0
  16. data/examples/lib/micronaut/kernel_extensions_example.rb +13 -0
  17. data/examples/lib/micronaut/matchers/be_close_example.rb +52 -0
  18. data/examples/lib/micronaut/matchers/be_example.rb +298 -0
  19. data/examples/lib/micronaut/matchers/change_example.rb +360 -0
  20. data/examples/lib/micronaut/matchers/description_generation_example.rb +175 -0
  21. data/examples/lib/micronaut/matchers/eql_example.rb +35 -0
  22. data/examples/lib/micronaut/matchers/equal_example.rb +35 -0
  23. data/examples/lib/micronaut/matchers/handler_example.rb +153 -0
  24. data/examples/lib/micronaut/matchers/has_example.rb +71 -0
  25. data/examples/lib/micronaut/matchers/have_example.rb +575 -0
  26. data/examples/lib/micronaut/matchers/include_example.rb +103 -0
  27. data/examples/lib/micronaut/matchers/match_example.rb +43 -0
  28. data/examples/lib/micronaut/matchers/matcher_methods_example.rb +66 -0
  29. data/examples/lib/micronaut/matchers/operator_matcher_example.rb +189 -0
  30. data/examples/lib/micronaut/matchers/raise_error_example.rb +346 -0
  31. data/examples/lib/micronaut/matchers/respond_to_example.rb +54 -0
  32. data/examples/lib/micronaut/matchers/satisfy_example.rb +36 -0
  33. data/examples/lib/micronaut/matchers/simple_matcher_example.rb +93 -0
  34. data/examples/lib/micronaut/matchers/throw_symbol_example.rb +96 -0
  35. data/examples/lib/micronaut/runner_example.rb +5 -0
  36. data/examples/lib/micronaut/runner_options_example.rb +5 -0
  37. data/examples/lib/micronaut/world_example.rb +102 -0
  38. data/examples/lib/micronaut_example.rb +23 -0
  39. data/examples/resources/example_classes.rb +67 -0
  40. data/lib/autotest/discover.rb +3 -0
  41. data/lib/autotest/micronaut.rb +47 -0
  42. data/lib/micronaut/behaviour.rb +211 -0
  43. data/lib/micronaut/configuration.rb +133 -0
  44. data/lib/micronaut/example.rb +28 -0
  45. data/lib/micronaut/expectations/extensions/object.rb +62 -0
  46. data/lib/micronaut/expectations/extensions/string_and_symbol.rb +19 -0
  47. data/lib/micronaut/expectations/handler.rb +52 -0
  48. data/lib/micronaut/expectations/wrap_expectation.rb +57 -0
  49. data/lib/micronaut/expectations.rb +46 -0
  50. data/lib/micronaut/formatters/base_formatter.rb +82 -0
  51. data/lib/micronaut/formatters/base_text_formatter.rb +148 -0
  52. data/lib/micronaut/formatters/documentation_formatter.rb +62 -0
  53. data/lib/micronaut/formatters/progress_formatter.rb +36 -0
  54. data/lib/micronaut/formatters.rb +12 -0
  55. data/lib/micronaut/kernel_extensions.rb +11 -0
  56. data/lib/micronaut/matchers/be.rb +204 -0
  57. data/lib/micronaut/matchers/be_close.rb +22 -0
  58. data/lib/micronaut/matchers/change.rb +148 -0
  59. data/lib/micronaut/matchers/eql.rb +26 -0
  60. data/lib/micronaut/matchers/equal.rb +26 -0
  61. data/lib/micronaut/matchers/generated_descriptions.rb +36 -0
  62. data/lib/micronaut/matchers/has.rb +19 -0
  63. data/lib/micronaut/matchers/have.rb +153 -0
  64. data/lib/micronaut/matchers/include.rb +80 -0
  65. data/lib/micronaut/matchers/match.rb +22 -0
  66. data/lib/micronaut/matchers/method_missing.rb +9 -0
  67. data/lib/micronaut/matchers/operator_matcher.rb +50 -0
  68. data/lib/micronaut/matchers/raise_error.rb +128 -0
  69. data/lib/micronaut/matchers/respond_to.rb +50 -0
  70. data/lib/micronaut/matchers/satisfy.rb +50 -0
  71. data/lib/micronaut/matchers/simple_matcher.rb +135 -0
  72. data/lib/micronaut/matchers/throw_symbol.rb +108 -0
  73. data/lib/micronaut/matchers.rb +148 -0
  74. data/lib/micronaut/mocking/with_absolutely_nothing.rb +11 -0
  75. data/lib/micronaut/mocking/with_mocha.rb +13 -0
  76. data/lib/micronaut/mocking/with_rr.rb +24 -0
  77. data/lib/micronaut/mocking.rb +7 -0
  78. data/lib/micronaut/runner.rb +57 -0
  79. data/lib/micronaut/runner_options.rb +33 -0
  80. data/lib/micronaut/world.rb +75 -0
  81. data/lib/micronaut.rb +37 -0
  82. metadata +149 -0
@@ -0,0 +1,148 @@
1
+ require 'micronaut/matchers/generated_descriptions'
2
+ require 'micronaut/matchers/simple_matcher'
3
+ require 'micronaut/matchers/be'
4
+ require 'micronaut/matchers/be_close'
5
+ require 'micronaut/matchers/change'
6
+ require 'micronaut/matchers/eql'
7
+ require 'micronaut/matchers/equal'
8
+ require 'micronaut/matchers/has'
9
+ require 'micronaut/matchers/have'
10
+ require 'micronaut/matchers/include'
11
+ require 'micronaut/matchers/match'
12
+ require 'micronaut/matchers/raise_error'
13
+ require 'micronaut/matchers/respond_to'
14
+ require 'micronaut/matchers/satisfy'
15
+ require 'micronaut/matchers/throw_symbol'
16
+ require 'micronaut/matchers/operator_matcher'
17
+
18
+ module Micronaut
19
+
20
+ # We ship (courtesy of RSpec and Micronaut) with a number of useful Expression Matchers. An Expression Matcher
21
+ # is any object that responds to the following methods:
22
+ #
23
+ # matches?(actual)
24
+ # failure_message
25
+ # negative_failure_message #optional
26
+ # description #optional
27
+ #
28
+ # See Micronaut::Expectations to learn how to use these as Expectation Matchers.
29
+ # See Micronaut::Mocks to learn how to use them as Mock Argument Constraints.
30
+ #
31
+ # == Predicates
32
+ #
33
+ # In addition to those Expression Matchers that are defined explicitly, we will
34
+ # create custom Matchers on the fly for any arbitrary predicate, giving your specs
35
+ # a much more natural language feel.
36
+ #
37
+ # A Ruby predicate is a method that ends with a "?" and returns true or false.
38
+ # Common examples are +empty?+, +nil?+, and +instance_of?+.
39
+ #
40
+ # All you need to do is write +should be_+ followed by the predicate without
41
+ # the question mark, and we will figure it out from there. For example:
42
+ #
43
+ # [].should be_empty => [].empty? #passes
44
+ # [].should_not be_empty => [].empty? #fails
45
+ #
46
+ # In addtion to prefixing the predicate matchers with "be_", you can also use "be_a_"
47
+ # and "be_an_", making your specs read much more naturally:
48
+ #
49
+ # "a string".should be_an_instance_of(String) =>"a string".instance_of?(String) #passes
50
+ #
51
+ # 3.should be_a_kind_of(Fixnum) => 3.kind_of?(Numeric) #passes
52
+ # 3.should be_a_kind_of(Numeric) => 3.kind_of?(Numeric) #passes
53
+ # 3.should be_an_instance_of(Fixnum) => 3.instance_of?(Fixnum) #passes
54
+ # 3.should_not be_instance_of(Numeric) => 3.instance_of?(Numeric) #fails
55
+ #
56
+ # We will also create custom matchers for predicates like +has_key?+. To
57
+ # use this feature, just state that the object should have_key(:key) and we will
58
+ # call has_key?(:key) on the target. For example:
59
+ #
60
+ # {:a => "A"}.should have_key(:a) => {:a => "A"}.has_key?(:a) #passes
61
+ # {:a => "A"}.should have_key(:b) => {:a => "A"}.has_key?(:b) #fails
62
+ #
63
+ # You can use this feature to invoke any predicate that begins with "has_", whether it is
64
+ # part of the Ruby libraries (like +Hash#has_key?+) or a method you wrote on your own class.
65
+ #
66
+ # == Custom Expectation Matchers
67
+ #
68
+ # When you find that none of the stock Expectation Matchers provide a natural
69
+ # feeling expectation, you can very easily write your own.
70
+ #
71
+ # For example, imagine that you are writing a game in which players can
72
+ # be in various zones on a virtual board. To specify that bob should
73
+ # be in zone 4, you could say:
74
+ #
75
+ # bob.current_zone.should eql(Zone.new("4"))
76
+ #
77
+ # But you might find it more expressive to say:
78
+ #
79
+ # bob.should be_in_zone("4")
80
+ #
81
+ # and/or
82
+ #
83
+ # bob.should_not be_in_zone("3")
84
+ #
85
+ # To do this, you would need to write a class like this:
86
+ #
87
+ # class BeInZone
88
+ # def initialize(expected)
89
+ # @expected = expected
90
+ # end
91
+ # def matches?(target)
92
+ # @target = target
93
+ # @target.current_zone.eql?(Zone.new(@expected))
94
+ # end
95
+ # def failure_message
96
+ # "expected #{@target.inspect} to be in Zone #{@expected}"
97
+ # end
98
+ # def negative_failure_message
99
+ # "expected #{@target.inspect} not to be in Zone #{@expected}"
100
+ # end
101
+ # end
102
+ #
103
+ # ... and a method like this:
104
+ #
105
+ # def be_in_zone(expected)
106
+ # BeInZone.new(expected)
107
+ # end
108
+ #
109
+ # And then expose the method to your specs. This is normally done
110
+ # by including the method and the class in a module, which is then
111
+ # included in your spec:
112
+ #
113
+ # module CustomGameMatchers
114
+ # class BeInZone
115
+ # ...
116
+ # end
117
+ #
118
+ # def be_in_zone(expected)
119
+ # ...
120
+ # end
121
+ # end
122
+ #
123
+ # describe "Player behaviour" do
124
+ # include CustomGameMatchers
125
+ # ...
126
+ # end
127
+ #
128
+ # or you can include in globally in a spec_helper.rb file <tt>require</tt>d
129
+ # from your spec file(s):
130
+ #
131
+ # Micronaut::Runner.configure do |config|
132
+ # config.include(CustomGameMatchers)
133
+ # end
134
+ #
135
+ module Matchers
136
+
137
+ class MatcherError < StandardError; end
138
+
139
+ private
140
+ def method_missing(sym, *args, &block) # :nodoc:
141
+ return Matchers::Be.new(sym, *args) if sym.starts_with?("be_")
142
+ return has(sym, *args) if sym.starts_with?("have_")
143
+ super
144
+ end
145
+
146
+ end
147
+
148
+ end
@@ -0,0 +1,11 @@
1
+ module Micronaut
2
+ module Mocking
3
+ module WithAbsolutelyNothing
4
+
5
+ def _setup_mocks; end
6
+ def _verify_mocks; end
7
+ def _teardown_mocks; end
8
+
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ require 'mocha/standalone'
2
+ require 'mocha/object'
3
+
4
+ module Micronaut
5
+ module Mocking
6
+ module WithMocha
7
+ include Mocha::Standalone
8
+ alias :_setup_mocks :mocha_setup
9
+ alias :_verify_mocks :mocha_verify
10
+ alias :_teardown_mocks :mocha_teardown
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ require 'rr'
2
+
3
+ Micronaut.configuration.backtrace_clean_patterns.push(RR::Errors::BACKTRACE_IDENTIFIER)
4
+
5
+ module Micronaut
6
+ module Mocking
7
+ module WithRR
8
+ include RR::Extensions::InstanceMethods
9
+
10
+ def _setup_mocks
11
+ RR::Space.instance.reset
12
+ end
13
+
14
+ def _verify_mocks
15
+ RR::Space.instance.verify_doubles
16
+ end
17
+
18
+ def _teardown_mocks
19
+ RR::Space.instance.reset
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,7 @@
1
+ require 'micronaut/mocking/with_absolutely_nothing'
2
+
3
+ module Micronaut
4
+ module Mocking
5
+
6
+ end
7
+ end
@@ -0,0 +1,57 @@
1
+ module Micronaut
2
+
3
+ class Runner
4
+
5
+ def self.installed_at_exit?
6
+ @installed_at_exit ||= false
7
+ end
8
+
9
+ def self.autorun
10
+ at_exit { Micronaut::Runner.new.run(ARGV) ? exit(0) : exit(1) } unless installed_at_exit?
11
+ @installed_at_exit = true
12
+ end
13
+
14
+ def options
15
+ Micronaut.configuration.options
16
+ end
17
+
18
+ def load_all_behaviours(files_from_args=[])
19
+ files_from_args.inject([]) { |files, arg| files.concat(Dir[arg].map { |g| Dir.glob(g) }.flatten) }.each do |file|
20
+ load file
21
+ end
22
+ end
23
+
24
+ def run(args = [])
25
+ load_all_behaviours(args)
26
+
27
+ behaviours_to_run = Micronaut::World.behaviours_to_run
28
+
29
+ total_examples = behaviours_to_run.inject(0) { |sum, b| sum + b.examples_to_run.size }
30
+
31
+ old_sync, options.formatter.output.sync = options.formatter.output.sync, true if options.formatter.output.respond_to?(:sync=)
32
+
33
+ options.formatter.start(total_examples)
34
+
35
+ suite_success = true
36
+
37
+ starts_at = Time.now
38
+ behaviours_to_run.each do |behaviour|
39
+ suite_success &= behaviour.run(options.formatter)
40
+ end
41
+ duration = Time.now - starts_at
42
+
43
+ options.formatter.start_dump
44
+ options.formatter.dump_pending
45
+ options.formatter.dump_failures
46
+
47
+ # TODO: Stop passing in the last two items, the formatter knows this info
48
+ options.formatter.dump_summary(duration, total_examples, options.formatter.failed_examples.size, options.formatter.pending_examples.size)
49
+
50
+ options.formatter.output.sync = old_sync if options.formatter.output.respond_to? :sync=
51
+
52
+ suite_success
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -0,0 +1,33 @@
1
+ module Micronaut
2
+ class RunnerOptions
3
+
4
+ attr_accessor :color, :formatter
5
+
6
+ def initialize(options={})
7
+ @color = options.delete(:color)
8
+ @formatter = options.delete(:formatter)
9
+ end
10
+
11
+ def enable_color_in_output?
12
+ !textmate? && @color
13
+ end
14
+
15
+ def textmate?
16
+ ENV.has_key?('TM_RUBY')
17
+ end
18
+
19
+ def output
20
+ $stdout
21
+ end
22
+
23
+ def formatter
24
+ @formatter_instance ||= case @formatter.to_s
25
+ when 'documentation'
26
+ Micronaut::Formatters::DocumentationFormatter.new(self, output)
27
+ else
28
+ Micronaut::Formatters::ProgressFormatter.new(self, output)
29
+ end
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,75 @@
1
+ module Micronaut
2
+
3
+ class World
4
+
5
+ def self.reset
6
+ @behaviours = []
7
+ end
8
+
9
+ reset
10
+
11
+ def self.behaviours
12
+ @behaviours
13
+ end
14
+
15
+ def self.behaviours_to_run
16
+ filter_behaviours
17
+ number_of_behaviours_left = sum_behaviours
18
+
19
+ if number_of_behaviours_left.zero?
20
+ if Micronaut.configuration.filters.empty?
21
+ add_all_examples
22
+ elsif Micronaut.configuration.run_all_when_everything_filtered?
23
+ puts " Filter(s) produced no matches - running everything"
24
+ add_all_examples
25
+ else
26
+ puts " Filter(s) matched no specs - your world is empty, desolate, and alone."
27
+ end
28
+ end
29
+
30
+ behaviours
31
+ end
32
+
33
+ def self.sum_behaviours
34
+ behaviours.inject(0) { |sum, b| sum += b.examples_to_run.size }
35
+ end
36
+
37
+ def self.add_all_examples
38
+ behaviours.each do |behaviour|
39
+ behaviour.examples_to_run.concat(behaviour.examples)
40
+ end
41
+ end
42
+
43
+ def self.filter_behaviours
44
+ return unless Micronaut.configuration.filters.any?
45
+ Micronaut.configuration.filters.each do |filter|
46
+ puts " Run filtered using: #{filter.inspect}"
47
+ behaviours.each do |behaviour|
48
+ behaviour.examples_to_run.concat find(behaviour.examples, filter)
49
+ end
50
+ end
51
+ behaviours
52
+ end
53
+
54
+ def self.find(collection, conditions={})
55
+ return [] if conditions.empty?
56
+
57
+ collection.select do |item|
58
+ conditions.all? do |key, value|
59
+ case value
60
+ when Hash
61
+ value.all? { |k, v| item.metadata[key][k] == v }
62
+ when Regexp
63
+ item.metadata[key] =~ value
64
+ when Proc
65
+ value.call(item.metadata[key]) rescue false
66
+ else
67
+ item.metadata[key] == value
68
+ end
69
+ end
70
+ end
71
+ end
72
+
73
+ end
74
+
75
+ end
data/lib/micronaut.rb ADDED
@@ -0,0 +1,37 @@
1
+ require 'micronaut/mocking'
2
+ require 'micronaut/matchers'
3
+ require 'micronaut/expectations'
4
+ require 'micronaut/world'
5
+ require 'micronaut/configuration'
6
+ require 'micronaut/runner'
7
+ require 'micronaut/runner_options'
8
+ require 'micronaut/example'
9
+ require 'micronaut/behaviour'
10
+ require 'micronaut/kernel_extensions'
11
+ require 'micronaut/formatters'
12
+
13
+ module Micronaut
14
+ file = if RUBY_VERSION =~ /^1\.9/ then # bt's expanded, but __FILE__ isn't :(
15
+ File.expand_path __FILE__
16
+ elsif __FILE__ =~ /^[^\.]/ then # assume both relative
17
+ require 'pathname'
18
+ pwd = Pathname.new(Dir.pwd)
19
+ path_name = Pathname.new(File.expand_path(__FILE__))
20
+ path_name = File.join(".", path_name.relative_path_from(pwd)) unless path_name.relative?
21
+ path_name.to_s
22
+ else # assume both are expanded
23
+ __FILE__
24
+ end
25
+
26
+ # './lib' in project dir, or '/usr/local/blahblah' if installed
27
+ InstallDirectory = File.expand_path(File.dirname(File.dirname(file)) + "/lib")
28
+
29
+ def self.configuration
30
+ @configuration ||= Micronaut::Configuration.new
31
+ end
32
+
33
+ def self.configure
34
+ yield configuration
35
+ end
36
+
37
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rsanheim-micronaut
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3.2
5
+ platform: ruby
6
+ authors:
7
+ - Chad Humphries
8
+ autorequire: micronaut
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-12-18 00:00:00 -08:00
13
+ default_executable: micronaut
14
+ dependencies: []
15
+
16
+ description: An excellent replacement for the wheel...
17
+ email: chad@spicycode.com
18
+ executables:
19
+ - micronaut
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README
24
+ - LICENSE
25
+ - RSPEC-LICENSE
26
+ files:
27
+ - LICENSE
28
+ - README
29
+ - RSPEC-LICENSE
30
+ - Rakefile
31
+ - lib/autotest
32
+ - lib/autotest/discover.rb
33
+ - lib/autotest/micronaut.rb
34
+ - lib/micronaut
35
+ - lib/micronaut/behaviour.rb
36
+ - lib/micronaut/configuration.rb
37
+ - lib/micronaut/example.rb
38
+ - lib/micronaut/expectations
39
+ - lib/micronaut/expectations/extensions
40
+ - lib/micronaut/expectations/extensions/object.rb
41
+ - lib/micronaut/expectations/extensions/string_and_symbol.rb
42
+ - lib/micronaut/expectations/handler.rb
43
+ - lib/micronaut/expectations/wrap_expectation.rb
44
+ - lib/micronaut/expectations.rb
45
+ - lib/micronaut/formatters
46
+ - lib/micronaut/formatters/base_formatter.rb
47
+ - lib/micronaut/formatters/base_text_formatter.rb
48
+ - lib/micronaut/formatters/documentation_formatter.rb
49
+ - lib/micronaut/formatters/progress_formatter.rb
50
+ - lib/micronaut/formatters.rb
51
+ - lib/micronaut/kernel_extensions.rb
52
+ - lib/micronaut/matchers
53
+ - lib/micronaut/matchers/be.rb
54
+ - lib/micronaut/matchers/be_close.rb
55
+ - lib/micronaut/matchers/change.rb
56
+ - lib/micronaut/matchers/eql.rb
57
+ - lib/micronaut/matchers/equal.rb
58
+ - lib/micronaut/matchers/generated_descriptions.rb
59
+ - lib/micronaut/matchers/has.rb
60
+ - lib/micronaut/matchers/have.rb
61
+ - lib/micronaut/matchers/include.rb
62
+ - lib/micronaut/matchers/match.rb
63
+ - lib/micronaut/matchers/method_missing.rb
64
+ - lib/micronaut/matchers/operator_matcher.rb
65
+ - lib/micronaut/matchers/raise_error.rb
66
+ - lib/micronaut/matchers/respond_to.rb
67
+ - lib/micronaut/matchers/satisfy.rb
68
+ - lib/micronaut/matchers/simple_matcher.rb
69
+ - lib/micronaut/matchers/throw_symbol.rb
70
+ - lib/micronaut/matchers.rb
71
+ - lib/micronaut/mocking
72
+ - lib/micronaut/mocking/with_absolutely_nothing.rb
73
+ - lib/micronaut/mocking/with_mocha.rb
74
+ - lib/micronaut/mocking/with_rr.rb
75
+ - lib/micronaut/mocking.rb
76
+ - lib/micronaut/runner.rb
77
+ - lib/micronaut/runner_options.rb
78
+ - lib/micronaut/world.rb
79
+ - lib/micronaut.rb
80
+ - examples/example_helper.rb
81
+ - examples/lib
82
+ - examples/lib/micronaut
83
+ - examples/lib/micronaut/behaviour_example.rb
84
+ - examples/lib/micronaut/configuration_example.rb
85
+ - examples/lib/micronaut/example_example.rb
86
+ - examples/lib/micronaut/expectations
87
+ - examples/lib/micronaut/expectations/extensions
88
+ - examples/lib/micronaut/expectations/extensions/object_example.rb
89
+ - examples/lib/micronaut/expectations/fail_with_example.rb
90
+ - examples/lib/micronaut/expectations/wrap_expectation_example.rb
91
+ - examples/lib/micronaut/formatters
92
+ - examples/lib/micronaut/formatters/base_formatter_example.rb
93
+ - examples/lib/micronaut/formatters/documentation_formatter_example.rb
94
+ - examples/lib/micronaut/formatters/progress_formatter_example.rb
95
+ - examples/lib/micronaut/kernel_extensions_example.rb
96
+ - examples/lib/micronaut/matchers
97
+ - examples/lib/micronaut/matchers/be_close_example.rb
98
+ - examples/lib/micronaut/matchers/be_example.rb
99
+ - examples/lib/micronaut/matchers/change_example.rb
100
+ - examples/lib/micronaut/matchers/description_generation_example.rb
101
+ - examples/lib/micronaut/matchers/eql_example.rb
102
+ - examples/lib/micronaut/matchers/equal_example.rb
103
+ - examples/lib/micronaut/matchers/handler_example.rb
104
+ - examples/lib/micronaut/matchers/has_example.rb
105
+ - examples/lib/micronaut/matchers/have_example.rb
106
+ - examples/lib/micronaut/matchers/include_example.rb
107
+ - examples/lib/micronaut/matchers/match_example.rb
108
+ - examples/lib/micronaut/matchers/matcher_methods_example.rb
109
+ - examples/lib/micronaut/matchers/operator_matcher_example.rb
110
+ - examples/lib/micronaut/matchers/raise_error_example.rb
111
+ - examples/lib/micronaut/matchers/respond_to_example.rb
112
+ - examples/lib/micronaut/matchers/satisfy_example.rb
113
+ - examples/lib/micronaut/matchers/simple_matcher_example.rb
114
+ - examples/lib/micronaut/matchers/throw_symbol_example.rb
115
+ - examples/lib/micronaut/runner_example.rb
116
+ - examples/lib/micronaut/runner_options_example.rb
117
+ - examples/lib/micronaut/world_example.rb
118
+ - examples/lib/micronaut_example.rb
119
+ - examples/resources
120
+ - examples/resources/example_classes.rb
121
+ - bin/micronaut
122
+ has_rdoc: true
123
+ homepage: http://spicycode.com
124
+ post_install_message:
125
+ rdoc_options: []
126
+
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ version:
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ version:
141
+ requirements: []
142
+
143
+ rubyforge_project:
144
+ rubygems_version: 1.2.0
145
+ signing_key:
146
+ specification_version: 2
147
+ summary: An excellent replacement for the wheel...
148
+ test_files: []
149
+