puppet 0.24.1 → 0.24.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (266) hide show
  1. data/CHANGELOG +94 -0
  2. data/Rakefile +0 -4
  3. data/bin/puppet +18 -10
  4. data/bin/puppetd +1 -1
  5. data/bin/puppetdoc +14 -4
  6. data/bin/puppetmasterd +1 -1
  7. data/bin/puppetrun +3 -8
  8. data/bin/ralsh +12 -11
  9. data/conf/freebsd/puppetd +1 -1
  10. data/conf/freebsd/puppetmasterd +1 -1
  11. data/conf/gentoo/puppet/puppet.conf +29 -0
  12. data/conf/namespaceauth.conf +20 -0
  13. data/conf/redhat/puppet.spec +4 -1
  14. data/conf/solaris/smf/puppetd.xml +1 -1
  15. data/conf/solaris/smf/puppetmasterd.xml +1 -1
  16. data/conf/suse/puppet.spec +10 -8
  17. data/examples/root/etc/puppet/{puppetmasterd.conf → puppet.conf} +6 -3
  18. data/ext/logcheck/puppet +7 -0
  19. data/ext/puppet-test +28 -5
  20. data/lib/puppet.rb +2 -1
  21. data/lib/puppet/defaults.rb +12 -5
  22. data/lib/puppet/dsl.rb +43 -45
  23. data/lib/puppet/external/{gratr/rdot.rb → dot.rb} +0 -0
  24. data/lib/puppet/external/nagios.rb +50 -0
  25. data/lib/puppet/external/nagios/base.rb +421 -0
  26. data/lib/puppet/external/nagios/parser.rb +816 -0
  27. data/lib/puppet/file_serving/file_base.rb +16 -3
  28. data/lib/puppet/file_serving/metadata.rb +29 -11
  29. data/lib/puppet/indirector/terminus.rb +1 -0
  30. data/lib/puppet/metatype/closure.rb +4 -0
  31. data/lib/puppet/metatype/evaluation.rb +2 -17
  32. data/lib/puppet/metatype/metaparams.rb +1 -1
  33. data/lib/puppet/network.rb +3 -0
  34. data/lib/puppet/network/client.rb +4 -5
  35. data/lib/puppet/network/client/master.rb +10 -7
  36. data/lib/puppet/network/handler/fileserver.rb +22 -45
  37. data/lib/puppet/network/http_pool.rb +3 -0
  38. data/lib/puppet/network/http_server/mongrel.rb +7 -1
  39. data/lib/puppet/network/http_server/webrick.rb +4 -3
  40. data/lib/puppet/network/xmlrpc/client.rb +12 -1
  41. data/lib/puppet/node/catalog.rb +51 -40
  42. data/lib/puppet/parser/ast.rb +27 -49
  43. data/lib/puppet/parser/ast/astarray.rb +5 -24
  44. data/lib/puppet/parser/ast/caseopt.rb +4 -4
  45. data/lib/puppet/parser/ast/casestatement.rb +4 -5
  46. data/lib/puppet/parser/ast/collection.rb +3 -5
  47. data/lib/puppet/parser/ast/collexpr.rb +3 -5
  48. data/lib/puppet/parser/ast/definition.rb +148 -159
  49. data/lib/puppet/parser/ast/else.rb +2 -3
  50. data/lib/puppet/parser/ast/function.rb +3 -10
  51. data/lib/puppet/parser/ast/hostclass.rb +66 -59
  52. data/lib/puppet/parser/ast/ifstatement.rb +4 -5
  53. data/lib/puppet/parser/ast/leaf.rb +6 -6
  54. data/lib/puppet/parser/ast/node.rb +26 -58
  55. data/lib/puppet/parser/ast/resource.rb +5 -7
  56. data/lib/puppet/parser/ast/resource_defaults.rb +2 -4
  57. data/lib/puppet/parser/ast/resource_override.rb +4 -6
  58. data/lib/puppet/parser/ast/resource_reference.rb +2 -4
  59. data/lib/puppet/parser/ast/resourceparam.rb +2 -4
  60. data/lib/puppet/parser/ast/selector.rb +5 -6
  61. data/lib/puppet/parser/ast/tag.rb +2 -4
  62. data/lib/puppet/parser/ast/vardef.rb +3 -4
  63. data/lib/puppet/parser/collector.rb +5 -5
  64. data/lib/puppet/parser/{compile.rb → compiler.rb} +69 -107
  65. data/lib/puppet/parser/functions.rb +3 -3
  66. data/lib/puppet/parser/interpreter.rb +32 -23
  67. data/lib/puppet/parser/lexer.rb +391 -282
  68. data/lib/puppet/parser/parser.rb +5 -4
  69. data/lib/puppet/parser/parser_support.rb +3 -6
  70. data/lib/puppet/parser/resource.rb +24 -36
  71. data/lib/puppet/parser/resource/param.rb +1 -1
  72. data/lib/puppet/parser/resource/reference.rb +7 -3
  73. data/lib/puppet/parser/scope.rb +12 -7
  74. data/lib/puppet/parser/templatewrapper.rb +1 -1
  75. data/lib/puppet/pgraph.rb +9 -98
  76. data/lib/puppet/provider/interface/redhat.rb +65 -65
  77. data/lib/puppet/provider/mount/parsed.rb +1 -1
  78. data/lib/puppet/provider/naginator.rb +55 -0
  79. data/lib/puppet/provider/nameservice/directoryservice.rb +6 -7
  80. data/lib/puppet/provider/package/fink.rb +0 -2
  81. data/lib/puppet/provider/package/gem.rb +9 -5
  82. data/lib/puppet/provider/package/openbsd.rb +1 -1
  83. data/lib/puppet/provider/package/pkgdmg.rb +3 -8
  84. data/lib/puppet/provider/package/portage.rb +4 -4
  85. data/lib/puppet/provider/package/yumhelper.py +8 -6
  86. data/lib/puppet/provider/parsedfile.rb +7 -1
  87. data/lib/puppet/provider/service/debian.rb +2 -0
  88. data/lib/puppet/provider/service/gentoo.rb +4 -0
  89. data/lib/puppet/provider/service/init.rb +1 -1
  90. data/lib/puppet/provider/sshkey/parsed.rb +2 -0
  91. data/lib/puppet/provider/user/useradd.rb +1 -1
  92. data/lib/puppet/rails.rb +4 -0
  93. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +17 -0
  94. data/lib/puppet/rails/fact_value.rb +4 -0
  95. data/lib/puppet/rails/host.rb +1 -2
  96. data/lib/puppet/rails/param_value.rb +4 -0
  97. data/lib/puppet/rails/resource_tag.rb +4 -0
  98. data/lib/puppet/rails/source_file.rb +4 -1
  99. data/lib/puppet/relationship.rb +5 -1
  100. data/lib/puppet/reports/tagmail.rb +12 -1
  101. data/lib/puppet/resource_reference.rb +1 -1
  102. data/lib/puppet/simple_graph.rb +78 -11
  103. data/lib/puppet/sslcertificates.rb +1 -1
  104. data/lib/puppet/sslcertificates/ca.rb +3 -3
  105. data/lib/puppet/transaction.rb +7 -4
  106. data/lib/puppet/transportable.rb +1 -1
  107. data/lib/puppet/type.rb +3 -10
  108. data/lib/puppet/type/cron.rb +18 -0
  109. data/lib/puppet/type/exec.rb +18 -12
  110. data/lib/puppet/type/{pfile.rb → file.rb} +66 -84
  111. data/lib/puppet/type/file/checksum.rb +271 -0
  112. data/lib/puppet/type/{pfile → file}/content.rb +10 -15
  113. data/lib/puppet/type/{pfile → file}/ensure.rb +15 -8
  114. data/lib/puppet/type/{pfile → file}/group.rb +0 -0
  115. data/lib/puppet/type/{pfile → file}/mode.rb +0 -0
  116. data/lib/puppet/type/{pfile → file}/owner.rb +0 -0
  117. data/lib/puppet/type/{pfile → file}/source.rb +34 -48
  118. data/lib/puppet/type/{pfile → file}/target.rb +0 -0
  119. data/lib/puppet/type/{pfile → file}/type.rb +0 -0
  120. data/lib/puppet/type/{pfilebucket.rb → filebucket.rb} +0 -0
  121. data/lib/puppet/type/host.rb +13 -0
  122. data/lib/puppet/type/mailalias.rb +1 -1
  123. data/lib/puppet/type/nagios_command.rb +3 -0
  124. data/lib/puppet/type/nagios_contact.rb +3 -0
  125. data/lib/puppet/type/nagios_contactgroup.rb +3 -0
  126. data/lib/puppet/type/nagios_host.rb +3 -0
  127. data/lib/puppet/type/nagios_hostextinfo.rb +3 -0
  128. data/lib/puppet/type/nagios_hostgroup.rb +3 -0
  129. data/lib/puppet/type/nagios_hostgroupescalation.rb +3 -0
  130. data/lib/puppet/type/nagios_service.rb +3 -0
  131. data/lib/puppet/type/nagios_servicedependency.rb +3 -0
  132. data/lib/puppet/type/nagios_serviceescalation.rb +3 -0
  133. data/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
  134. data/lib/puppet/type/nagios_timeperiod.rb +3 -0
  135. data/lib/puppet/type/package.rb +4 -12
  136. data/lib/puppet/type/service.rb +9 -0
  137. data/lib/puppet/type/sshkey.rb +3 -3
  138. data/lib/puppet/util/autoload.rb +5 -5
  139. data/lib/puppet/util/checksums.rb +51 -13
  140. data/lib/puppet/util/constant_inflector.rb +14 -0
  141. data/lib/puppet/util/filetype.rb +1 -1
  142. data/lib/puppet/util/graph.rb +3 -9
  143. data/lib/puppet/util/nagios_maker.rb +57 -0
  144. data/lib/puppet/util/settings.rb +19 -16
  145. data/lib/puppet/util/tagging.rb +39 -0
  146. data/test/executables/puppetbin.rb +17 -0
  147. data/test/language/ast.rb +8 -58
  148. data/test/language/ast/casestatement.rb +3 -3
  149. data/test/language/ast/resource.rb +6 -7
  150. data/test/language/ast/resource_reference.rb +12 -12
  151. data/test/language/ast/selector.rb +2 -2
  152. data/test/language/ast/variable.rb +2 -2
  153. data/test/language/functions.rb +24 -24
  154. data/test/language/parser.rb +20 -8
  155. data/test/language/resource.rb +5 -42
  156. data/test/language/scope.rb +21 -37
  157. data/test/language/snippets.rb +7 -0
  158. data/test/lib/puppettest.rb +28 -14
  159. data/test/lib/puppettest/parsertesting.rb +10 -10
  160. data/test/lib/puppettest/support/resources.rb +1 -1
  161. data/test/network/client/master.rb +10 -0
  162. data/test/network/handler/fileserver.rb +51 -49
  163. data/test/network/server/webrick.rb +1 -1
  164. data/test/other/dsl.rb +3 -4
  165. data/test/other/transactions.rb +6 -4
  166. data/test/rails/ast.rb +2 -2
  167. data/test/rails/configuration.rb +1 -1
  168. data/test/rails/railsparameter.rb +2 -0
  169. data/test/rails/railsresource.rb +1 -0
  170. data/test/ral/manager/type.rb +4 -4
  171. data/test/ral/providers/cron/crontab.rb +3 -1
  172. data/test/ral/providers/package.rb +1 -1
  173. data/test/ral/{types → type}/basic.rb +2 -2
  174. data/test/ral/{types → type}/cron.rb +0 -0
  175. data/test/ral/{types → type}/exec.rb +42 -2
  176. data/test/ral/{types → type}/file.rb +34 -79
  177. data/test/ral/{types → type}/file/target.rb +0 -0
  178. data/test/ral/{types → type}/filebucket.rb +0 -0
  179. data/test/ral/{types → type}/fileignoresource.rb +0 -0
  180. data/test/ral/{types → type}/filesources.rb +8 -27
  181. data/test/ral/{types → type}/group.rb +0 -0
  182. data/test/ral/{types → type}/host.rb +16 -0
  183. data/test/ral/{types → type}/mailalias.rb +0 -0
  184. data/test/ral/{types → type}/parameter.rb +0 -0
  185. data/test/ral/{types → type}/port.rb +0 -0
  186. data/test/ral/{types → type}/property.rb +0 -0
  187. data/test/ral/{types → type}/resources.rb +0 -0
  188. data/test/ral/{types → type}/service.rb +0 -0
  189. data/test/ral/{types → type}/sshkey.rb +0 -0
  190. data/test/ral/{types → type}/tidy.rb +1 -0
  191. data/test/ral/{types → type}/user.rb +0 -0
  192. data/test/ral/{types → type}/yumrepo.rb +0 -0
  193. data/test/ral/{types → type}/zone.rb +0 -0
  194. data/test/util/autoload.rb +24 -5
  195. metadata +60 -107
  196. data/conf/gentoo/puppet/puppetca.conf +0 -29
  197. data/conf/gentoo/puppet/puppetd.conf +0 -29
  198. data/conf/gentoo/puppet/puppetmasterd.conf +0 -29
  199. data/examples/root/etc/puppet/puppetd.conf +0 -4
  200. data/lib/puppet/external/gratr.rb +0 -33
  201. data/lib/puppet/external/gratr/adjacency_graph.rb +0 -257
  202. data/lib/puppet/external/gratr/base.rb +0 -34
  203. data/lib/puppet/external/gratr/biconnected.rb +0 -116
  204. data/lib/puppet/external/gratr/chinese_postman.rb +0 -123
  205. data/lib/puppet/external/gratr/common.rb +0 -73
  206. data/lib/puppet/external/gratr/comparability.rb +0 -92
  207. data/lib/puppet/external/gratr/digraph.rb +0 -116
  208. data/lib/puppet/external/gratr/digraph_distance.rb +0 -185
  209. data/lib/puppet/external/gratr/dot.rb +0 -90
  210. data/lib/puppet/external/gratr/edge.rb +0 -145
  211. data/lib/puppet/external/gratr/graph.rb +0 -303
  212. data/lib/puppet/external/gratr/graph_api.rb +0 -83
  213. data/lib/puppet/external/gratr/import.rb +0 -44
  214. data/lib/puppet/external/gratr/labels.rb +0 -90
  215. data/lib/puppet/external/gratr/maximum_flow.rb +0 -64
  216. data/lib/puppet/external/gratr/search.rb +0 -409
  217. data/lib/puppet/external/gratr/strong_components.rb +0 -127
  218. data/lib/puppet/external/gratr/undirected_graph.rb +0 -153
  219. data/lib/puppet/rails/external/tagging/acts_as_taggable.rb +0 -62
  220. data/lib/puppet/rails/external/tagging/init.rb +0 -5
  221. data/lib/puppet/rails/external/tagging/tag.rb +0 -50
  222. data/lib/puppet/rails/external/tagging/tagging.rb +0 -12
  223. data/lib/puppet/rails/puppet_class.rb +0 -6
  224. data/lib/puppet/reference/node_source.rb +0 -9
  225. data/lib/puppet/reference/report.rb +0 -21
  226. data/lib/puppet/type/pfile/checksum.rb +0 -326
  227. data/test/language/ast/definition.rb +0 -166
  228. data/test/language/ast/hostclass.rb +0 -184
  229. data/test/language/compile.rb +0 -569
  230. data/test/language/lexer.rb +0 -276
  231. data/test/lib/mocha.rb +0 -19
  232. data/test/lib/mocha/any_instance_method.rb +0 -35
  233. data/test/lib/mocha/auto_verify.rb +0 -113
  234. data/test/lib/mocha/central.rb +0 -35
  235. data/test/lib/mocha/class_method.rb +0 -62
  236. data/test/lib/mocha/deprecation.rb +0 -22
  237. data/test/lib/mocha/exception_raiser.rb +0 -17
  238. data/test/lib/mocha/expectation.rb +0 -378
  239. data/test/lib/mocha/expectation_error.rb +0 -6
  240. data/test/lib/mocha/infinite_range.rb +0 -25
  241. data/test/lib/mocha/inspect.rb +0 -39
  242. data/test/lib/mocha/instance_method.rb +0 -8
  243. data/test/lib/mocha/is_a.rb +0 -9
  244. data/test/lib/mocha/metaclass.rb +0 -7
  245. data/test/lib/mocha/missing_expectation.rb +0 -27
  246. data/test/lib/mocha/mock.rb +0 -207
  247. data/test/lib/mocha/multiple_yields.rb +0 -20
  248. data/test/lib/mocha/no_yields.rb +0 -11
  249. data/test/lib/mocha/object.rb +0 -110
  250. data/test/lib/mocha/parameter_matchers.rb +0 -9
  251. data/test/lib/mocha/parameter_matchers/all_of.rb +0 -39
  252. data/test/lib/mocha/parameter_matchers/any_of.rb +0 -44
  253. data/test/lib/mocha/parameter_matchers/anything.rb +0 -30
  254. data/test/lib/mocha/parameter_matchers/has_entry.rb +0 -39
  255. data/test/lib/mocha/parameter_matchers/has_key.rb +0 -39
  256. data/test/lib/mocha/parameter_matchers/has_value.rb +0 -39
  257. data/test/lib/mocha/parameter_matchers/includes.rb +0 -37
  258. data/test/lib/mocha/pretty_parameters.rb +0 -28
  259. data/test/lib/mocha/return_values.rb +0 -31
  260. data/test/lib/mocha/setup_and_teardown.rb +0 -23
  261. data/test/lib/mocha/single_return_value.rb +0 -24
  262. data/test/lib/mocha/single_yield.rb +0 -18
  263. data/test/lib/mocha/standalone.rb +0 -32
  264. data/test/lib/mocha/stub.rb +0 -18
  265. data/test/lib/mocha/test_case_adapter.rb +0 -49
  266. data/test/lib/mocha/yield_parameters.rb +0 -31
@@ -1,9 +0,0 @@
1
- module Mocha
2
-
3
- # Used as parameters for Expectation#with to restrict the parameter values which will match the expectation.
4
- module ParameterMatchers; end
5
-
6
- end
7
-
8
-
9
- Dir[File.expand_path(File.join(File.dirname(__FILE__), 'parameter_matchers', "*.rb"))].each { |lib| require lib }
@@ -1,39 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: all_of -> parameter_matcher
6
- #
7
- # Matches if all +matchers+ match.
8
- # object = mock()
9
- # object.expects(:method_1).with(all_of(includes(1), includes(3)))
10
- # object.method_1([1, 3])
11
- # # no error raised
12
- #
13
- # object = mock()
14
- # object.expects(:method_1).with(all_of(includes(1), includes(3)))
15
- # object.method_1([1, 2])
16
- # # error raised, because method_1 was not called with object including 1 and 3
17
- def all_of(*matchers)
18
- AllOf.new(*matchers)
19
- end
20
-
21
- class AllOf # :nodoc:
22
-
23
- def initialize(*matchers)
24
- @matchers = matchers
25
- end
26
-
27
- def ==(parameter)
28
- @matchers.all? { |matcher| matcher == parameter }
29
- end
30
-
31
- def mocha_inspect
32
- "all_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
33
- end
34
-
35
- end
36
-
37
- end
38
-
39
- end
@@ -1,44 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: any_of -> parameter_matcher
6
- #
7
- # Matches if any +matchers+ match.
8
- # object = mock()
9
- # object.expects(:method_1).with(any_of(1, 3))
10
- # object.method_1(1)
11
- # # no error raised
12
- #
13
- # object = mock()
14
- # object.expects(:method_1).with(any_of(1, 3))
15
- # object.method_1(3)
16
- # # no error raised
17
- #
18
- # object = mock()
19
- # object.expects(:method_1).with(any_of(1, 3))
20
- # object.method_1(2)
21
- # # error raised, because method_1 was not called with 1 or 3
22
- def any_of(*matchers)
23
- AnyOf.new(*matchers)
24
- end
25
-
26
- class AnyOf # :nodoc:
27
-
28
- def initialize(*matchers)
29
- @matchers = matchers
30
- end
31
-
32
- def ==(parameter)
33
- @matchers.any? { |matcher| matcher == parameter }
34
- end
35
-
36
- def mocha_inspect
37
- "any_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
38
- end
39
-
40
- end
41
-
42
- end
43
-
44
- end
@@ -1,30 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: anything -> parameter_matcher
6
- #
7
- # Matches any object.
8
- # object = mock()
9
- # object.expects(:method_1).with(anything)
10
- # object.method_1('foo')
11
- # # no error raised
12
- def anything
13
- Anything.new
14
- end
15
-
16
- class Anything # :nodoc:
17
-
18
- def ==(parameter)
19
- return true
20
- end
21
-
22
- def mocha_inspect
23
- "anything"
24
- end
25
-
26
- end
27
-
28
- end
29
-
30
- end
@@ -1,39 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: has_entry(key, value) -> parameter_matcher
6
- #
7
- # Matches +Hash+ containing entry with +key+ and +value+.
8
- # object = mock()
9
- # object.expects(:method_1).with(has_entry('key_1', 1))
10
- # object.method_1('key_1' => 1, 'key_2' => 2)
11
- # # no error raised
12
- #
13
- # object = mock()
14
- # object.expects(:method_1).with(has_entry('key_1', 1))
15
- # object.method_1('key_1' => 2, 'key_2' => 1)
16
- # # error raised, because method_1 was not called with Hash containing entry: 'key_1' => 1
17
- def has_entry(key, value)
18
- HasEntry.new(key, value)
19
- end
20
-
21
- class HasEntry # :nodoc:
22
-
23
- def initialize(key, value)
24
- @key, @value = key, value
25
- end
26
-
27
- def ==(parameter)
28
- parameter[@key] == @value
29
- end
30
-
31
- def mocha_inspect
32
- "has_entry(#{@key.mocha_inspect}, #{@value.mocha_inspect})"
33
- end
34
-
35
- end
36
-
37
- end
38
-
39
- end
@@ -1,39 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: has_key(key) -> parameter_matcher
6
- #
7
- # Matches +Hash+ containing +key+.
8
- # object = mock()
9
- # object.expects(:method_1).with(has_key('key_1'))
10
- # object.method_1('key_1' => 1, 'key_2' => 2)
11
- # # no error raised
12
- #
13
- # object = mock()
14
- # object.expects(:method_1).with(has_key('key_1'))
15
- # object.method_1('key_2' => 2)
16
- # # error raised, because method_1 was not called with Hash containing key: 'key_1'
17
- def has_key(key)
18
- HasKey.new(key)
19
- end
20
-
21
- class HasKey # :nodoc:
22
-
23
- def initialize(key)
24
- @key = key
25
- end
26
-
27
- def ==(parameter)
28
- parameter.keys.include?(@key)
29
- end
30
-
31
- def mocha_inspect
32
- "has_key(#{@key.mocha_inspect})"
33
- end
34
-
35
- end
36
-
37
- end
38
-
39
- end
@@ -1,39 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: has_value(value) -> parameter_matcher
6
- #
7
- # Matches +Hash+ containing +value+.
8
- # object = mock()
9
- # object.expects(:method_1).with(has_value(1))
10
- # object.method_1('key_1' => 1, 'key_2' => 2)
11
- # # no error raised
12
- #
13
- # object = mock()
14
- # object.expects(:method_1).with(has_value(1))
15
- # object.method_1('key_2' => 2)
16
- # # error raised, because method_1 was not called with Hash containing value: 1
17
- def has_value(value)
18
- HasValue.new(value)
19
- end
20
-
21
- class HasValue # :nodoc:
22
-
23
- def initialize(value)
24
- @value = value
25
- end
26
-
27
- def ==(parameter)
28
- parameter.values.include?(@value)
29
- end
30
-
31
- def mocha_inspect
32
- "has_value(#{@value.mocha_inspect})"
33
- end
34
-
35
- end
36
-
37
- end
38
-
39
- end
@@ -1,37 +0,0 @@
1
- module Mocha
2
-
3
- module ParameterMatchers
4
-
5
- # :call-seq: includes(item) -> parameter_matcher
6
- #
7
- # Matches any object that responds true to include?(item)
8
- # object = mock()
9
- # object.expects(:method_1).with(includes('foo'))
10
- # object.method_1(['foo', 'bar'])
11
- # # no error raised
12
- #
13
- # object.method_1(['baz'])
14
- # # error raised, because ['baz'] does not include 'foo'.
15
- def includes(item)
16
- Includes.new(item)
17
- end
18
-
19
- class Includes # :nodoc:
20
-
21
- def initialize(item)
22
- @item = item
23
- end
24
-
25
- def ==(parameter)
26
- return parameter.include?(@item)
27
- end
28
-
29
- def mocha_inspect
30
- "includes(#{@item.mocha_inspect})"
31
- end
32
-
33
- end
34
-
35
- end
36
-
37
- end
@@ -1,28 +0,0 @@
1
- require 'mocha/inspect'
2
-
3
- module Mocha
4
-
5
- class PrettyParameters
6
-
7
- def initialize(params)
8
- @params = params
9
- @params_string = params.mocha_inspect
10
- end
11
-
12
- def pretty
13
- remove_outer_array_braces!
14
- remove_outer_hash_braces!
15
- @params_string
16
- end
17
-
18
- def remove_outer_array_braces!
19
- @params_string = @params_string.gsub(/^\[|\]$/, '')
20
- end
21
-
22
- def remove_outer_hash_braces!
23
- @params_string = @params_string.gsub(/^\{|\}$/, '') if @params.size == 1
24
- end
25
-
26
- end
27
-
28
- end
@@ -1,31 +0,0 @@
1
- require 'mocha/single_return_value'
2
-
3
- module Mocha # :nodoc:
4
-
5
- class ReturnValues # :nodoc:
6
-
7
- def self.build(*values)
8
- new(*values.map { |value| SingleReturnValue.new(value) })
9
- end
10
-
11
- attr_accessor :values
12
-
13
- def initialize(*values)
14
- @values = values
15
- end
16
-
17
- def next
18
- case @values.size
19
- when 0: nil
20
- when 1: @values.first.evaluate
21
- else @values.shift.evaluate
22
- end
23
- end
24
-
25
- def +(other)
26
- self.class.new(*(@values + other.values))
27
- end
28
-
29
- end
30
-
31
- end
@@ -1,23 +0,0 @@
1
- require 'mocha/central'
2
-
3
- module Mocha
4
-
5
- module SetupAndTeardown
6
-
7
- def setup_stubs
8
- $stubba = Mocha::Central.new
9
- end
10
-
11
- def verify_stubs
12
- $stubba.verify_all { yield if block_given? } if $stubba
13
- end
14
-
15
- def teardown_stubs
16
- if $stubba then
17
- $stubba.unstub_all
18
- $stubba = nil
19
- end
20
- end
21
-
22
- end
23
- end
@@ -1,24 +0,0 @@
1
- require 'mocha/is_a'
2
- require 'mocha/deprecation'
3
-
4
- module Mocha # :nodoc:
5
-
6
- class SingleReturnValue # :nodoc:
7
-
8
- def initialize(value)
9
- @value = value
10
- end
11
-
12
- def evaluate
13
- if @value.__is_a__(Proc) then
14
- message = 'use of Expectation#returns with instance of Proc - see Expectation#returns RDoc for alternatives'
15
- Deprecation.warning(message)
16
- @value.call
17
- else
18
- @value
19
- end
20
- end
21
-
22
- end
23
-
24
- end
@@ -1,18 +0,0 @@
1
- module Mocha # :nodoc:
2
-
3
- class SingleYield # :nodoc:
4
-
5
- attr_reader :parameters
6
-
7
- def initialize(*parameters)
8
- @parameters = parameters
9
- end
10
-
11
- def each
12
- yield(@parameters)
13
- end
14
-
15
- end
16
-
17
- end
18
-
@@ -1,32 +0,0 @@
1
- require 'mocha/auto_verify'
2
- require 'mocha/parameter_matchers'
3
- require 'mocha/setup_and_teardown'
4
-
5
- module Mocha
6
-
7
- module Standalone
8
-
9
- include AutoVerify
10
- include ParameterMatchers
11
- include SetupAndTeardown
12
-
13
- def mocha_setup
14
- setup_stubs
15
- end
16
-
17
- def mocha_verify(&block)
18
- verify_mocks(&block)
19
- verify_stubs(&block)
20
- end
21
-
22
- def mocha_teardown
23
- begin
24
- teardown_mocks
25
- ensure
26
- teardown_stubs
27
- end
28
- end
29
-
30
- end
31
-
32
- end