media-path 0.1.2 → 0.1.3

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 (451) hide show
  1. data/.gitignore +10 -0
  2. data/{vendor/rubyexts/spec/spec.opts → .rspec} +0 -2
  3. data/Gemfile +8 -0
  4. data/LICENSE +1 -1
  5. data/lib/media-path.rb +8 -7
  6. data/media-path.gemspec +5 -3
  7. data/tasks.rb +38 -0
  8. metadata +14 -453
  9. data/Rakefile +0 -24
  10. data/lib/media-path/version.rb +0 -7
  11. data/tasks/benchmark.rake +0 -11
  12. data/tasks/gem.rake +0 -23
  13. data/tasks/hooks.rake +0 -12
  14. data/tasks/release.rake +0 -47
  15. data/tasks/spec.rake +0 -27
  16. data/tasks/submodules.rake +0 -33
  17. data/tasks/yardoc.rake +0 -9
  18. data/url.rb +0 -20
  19. data/url_spec.rb +0 -35
  20. data/vendor/rspec/History.rdoc +0 -1512
  21. data/vendor/rspec/License.txt +0 -22
  22. data/vendor/rspec/Manifest.txt +0 -383
  23. data/vendor/rspec/README.rdoc +0 -55
  24. data/vendor/rspec/Rakefile +0 -145
  25. data/vendor/rspec/Ruby1.9.rdoc +0 -31
  26. data/vendor/rspec/TODO.txt +0 -17
  27. data/vendor/rspec/Upgrade.rdoc +0 -199
  28. data/vendor/rspec/bin/autospec +0 -4
  29. data/vendor/rspec/bin/spec +0 -5
  30. data/vendor/rspec/cucumber.yml +0 -5
  31. data/vendor/rspec/examples/failing/README.txt +0 -11
  32. data/vendor/rspec/examples/failing/diffing_spec.rb +0 -36
  33. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +0 -17
  34. data/vendor/rspec/examples/failing/failure_in_after.rb +0 -10
  35. data/vendor/rspec/examples/failing/failure_in_before.rb +0 -10
  36. data/vendor/rspec/examples/failing/mocking_example.rb +0 -38
  37. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +0 -26
  38. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +0 -25
  39. data/vendor/rspec/examples/failing/mocking_with_rr.rb +0 -27
  40. data/vendor/rspec/examples/failing/partial_mock_example.rb +0 -18
  41. data/vendor/rspec/examples/failing/pending_example.rb +0 -7
  42. data/vendor/rspec/examples/failing/predicate_example.rb +0 -32
  43. data/vendor/rspec/examples/failing/raising_example.rb +0 -47
  44. data/vendor/rspec/examples/failing/syntax_error_example.rb +0 -7
  45. data/vendor/rspec/examples/failing/team_spec.rb +0 -41
  46. data/vendor/rspec/examples/failing/timeout_behaviour.rb +0 -5
  47. data/vendor/rspec/examples/passing/custom_formatter.rb +0 -11
  48. data/vendor/rspec/examples/passing/custom_matchers.rb +0 -54
  49. data/vendor/rspec/examples/passing/dynamic_spec.rb +0 -7
  50. data/vendor/rspec/examples/passing/file_accessor.rb +0 -18
  51. data/vendor/rspec/examples/passing/file_accessor_spec.rb +0 -37
  52. data/vendor/rspec/examples/passing/filtered_formatter.rb +0 -17
  53. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +0 -31
  54. data/vendor/rspec/examples/passing/greeter_spec.rb +0 -30
  55. data/vendor/rspec/examples/passing/helper_method_example.rb +0 -12
  56. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +0 -16
  57. data/vendor/rspec/examples/passing/io_processor.rb +0 -8
  58. data/vendor/rspec/examples/passing/io_processor_spec.rb +0 -20
  59. data/vendor/rspec/examples/passing/mocking_example.rb +0 -25
  60. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +0 -26
  61. data/vendor/rspec/examples/passing/nested_classes_example.rb +0 -35
  62. data/vendor/rspec/examples/passing/options_example.rb +0 -29
  63. data/vendor/rspec/examples/passing/options_formatter.rb +0 -20
  64. data/vendor/rspec/examples/passing/partial_mock_example.rb +0 -27
  65. data/vendor/rspec/examples/passing/pending_example.rb +0 -18
  66. data/vendor/rspec/examples/passing/predicate_example.rb +0 -25
  67. data/vendor/rspec/examples/passing/shared_example_group_example.rb +0 -79
  68. data/vendor/rspec/examples/passing/shared_stack_examples.rb +0 -36
  69. data/vendor/rspec/examples/passing/simple_matcher_example.rb +0 -29
  70. data/vendor/rspec/examples/passing/stack.rb +0 -36
  71. data/vendor/rspec/examples/passing/stack_spec.rb +0 -63
  72. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
  73. data/vendor/rspec/examples/passing/stubbing_example.rb +0 -67
  74. data/vendor/rspec/examples/passing/yielding_example.rb +0 -31
  75. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
  76. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +0 -39
  77. data/vendor/rspec/features-pending/heckle/heckle.feature +0 -56
  78. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
  79. data/vendor/rspec/features/command_line/line_number_option.feature +0 -56
  80. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
  81. data/vendor/rspec/features/example_groups/define_example_attribute.feature +0 -41
  82. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +0 -29
  83. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +0 -59
  84. data/vendor/rspec/features/example_groups/nested_groups.feature +0 -32
  85. data/vendor/rspec/features/expectations/customized_message.feature +0 -54
  86. data/vendor/rspec/features/expectations/expect_change.feature +0 -65
  87. data/vendor/rspec/features/expectations/expect_error.feature +0 -44
  88. data/vendor/rspec/features/extensions/custom_example_group.feature +0 -19
  89. data/vendor/rspec/features/formatters/custom_formatter.feature +0 -30
  90. data/vendor/rspec/features/interop/examples_and_tests_together.feature +0 -84
  91. data/vendor/rspec/features/interop/rspec_output.feature +0 -25
  92. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +0 -26
  93. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +0 -46
  94. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +0 -20
  95. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +0 -20
  96. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +0 -26
  97. data/vendor/rspec/features/matchers/define_matcher.feature +0 -179
  98. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +0 -38
  99. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +0 -27
  100. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +0 -29
  101. data/vendor/rspec/features/matchers/match_unless_raises.feature +0 -60
  102. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
  103. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +0 -27
  104. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +0 -27
  105. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +0 -27
  106. data/vendor/rspec/features/mocks/block_local_expectations.feature +0 -62
  107. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +0 -22
  108. data/vendor/rspec/features/mocks/stub_implementation.feature +0 -26
  109. data/vendor/rspec/features/pending/pending_examples.feature +0 -81
  110. data/vendor/rspec/features/runner/specify_line_number.feature +0 -32
  111. data/vendor/rspec/features/spec_helper/spec_helper.feature +0 -25
  112. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +0 -43
  113. data/vendor/rspec/features/subject/explicit_subject.feature +0 -31
  114. data/vendor/rspec/features/subject/implicit_subject.feature +0 -43
  115. data/vendor/rspec/features/support/env.rb +0 -82
  116. data/vendor/rspec/features/support/matchers/smart_match.rb +0 -12
  117. data/vendor/rspec/geminstaller.yml +0 -28
  118. data/vendor/rspec/init.rb +0 -9
  119. data/vendor/rspec/lib/autotest/discover.rb +0 -3
  120. data/vendor/rspec/lib/autotest/rspec.rb +0 -54
  121. data/vendor/rspec/lib/spec.rb +0 -8
  122. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
  123. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
  124. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
  125. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
  126. data/vendor/rspec/lib/spec/autorun.rb +0 -3
  127. data/vendor/rspec/lib/spec/deprecation.rb +0 -40
  128. data/vendor/rspec/lib/spec/dsl.rb +0 -1
  129. data/vendor/rspec/lib/spec/dsl/main.rb +0 -92
  130. data/vendor/rspec/lib/spec/example.rb +0 -164
  131. data/vendor/rspec/lib/spec/example/args_and_options.rb +0 -27
  132. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +0 -93
  133. data/vendor/rspec/lib/spec/example/errors.rb +0 -25
  134. data/vendor/rspec/lib/spec/example/example_group.rb +0 -10
  135. data/vendor/rspec/lib/spec/example/example_group_factory.rb +0 -82
  136. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +0 -53
  137. data/vendor/rspec/lib/spec/example/example_group_methods.rb +0 -282
  138. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +0 -61
  139. data/vendor/rspec/lib/spec/example/example_matcher.rb +0 -43
  140. data/vendor/rspec/lib/spec/example/example_methods.rb +0 -152
  141. data/vendor/rspec/lib/spec/example/example_proxy.rb +0 -41
  142. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +0 -43
  143. data/vendor/rspec/lib/spec/example/pending.rb +0 -18
  144. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +0 -46
  145. data/vendor/rspec/lib/spec/example/shared_example_group.rb +0 -59
  146. data/vendor/rspec/lib/spec/example/subject.rb +0 -108
  147. data/vendor/rspec/lib/spec/expectations.rb +0 -35
  148. data/vendor/rspec/lib/spec/expectations/errors.rb +0 -12
  149. data/vendor/rspec/lib/spec/expectations/extensions.rb +0 -1
  150. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +0 -52
  151. data/vendor/rspec/lib/spec/expectations/fail_with.rb +0 -45
  152. data/vendor/rspec/lib/spec/expectations/handler.rb +0 -50
  153. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +0 -31
  154. data/vendor/rspec/lib/spec/interop/test.rb +0 -44
  155. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +0 -6
  156. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +0 -56
  157. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +0 -6
  158. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  159. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  160. data/vendor/rspec/lib/spec/matchers.rb +0 -195
  161. data/vendor/rspec/lib/spec/matchers/be.rb +0 -211
  162. data/vendor/rspec/lib/spec/matchers/be_close.rb +0 -32
  163. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +0 -26
  164. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +0 -26
  165. data/vendor/rspec/lib/spec/matchers/change.rb +0 -151
  166. data/vendor/rspec/lib/spec/matchers/compatibility.rb +0 -14
  167. data/vendor/rspec/lib/spec/matchers/dsl.rb +0 -20
  168. data/vendor/rspec/lib/spec/matchers/eql.rb +0 -42
  169. data/vendor/rspec/lib/spec/matchers/equal.rb +0 -53
  170. data/vendor/rspec/lib/spec/matchers/errors.rb +0 -5
  171. data/vendor/rspec/lib/spec/matchers/exist.rb +0 -16
  172. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +0 -36
  173. data/vendor/rspec/lib/spec/matchers/has.rb +0 -35
  174. data/vendor/rspec/lib/spec/matchers/have.rb +0 -152
  175. data/vendor/rspec/lib/spec/matchers/include.rb +0 -44
  176. data/vendor/rspec/lib/spec/matchers/match.rb +0 -21
  177. data/vendor/rspec/lib/spec/matchers/match_array.rb +0 -71
  178. data/vendor/rspec/lib/spec/matchers/matcher.rb +0 -102
  179. data/vendor/rspec/lib/spec/matchers/method_missing.rb +0 -9
  180. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +0 -78
  181. data/vendor/rspec/lib/spec/matchers/pretty.rb +0 -37
  182. data/vendor/rspec/lib/spec/matchers/raise_error.rb +0 -129
  183. data/vendor/rspec/lib/spec/matchers/respond_to.rb +0 -71
  184. data/vendor/rspec/lib/spec/matchers/satisfy.rb +0 -47
  185. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +0 -133
  186. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +0 -104
  187. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +0 -55
  188. data/vendor/rspec/lib/spec/mocks.rb +0 -200
  189. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +0 -51
  190. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +0 -237
  191. data/vendor/rspec/lib/spec/mocks/error_generator.rb +0 -92
  192. data/vendor/rspec/lib/spec/mocks/errors.rb +0 -10
  193. data/vendor/rspec/lib/spec/mocks/example_methods.rb +0 -69
  194. data/vendor/rspec/lib/spec/mocks/extensions.rb +0 -1
  195. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +0 -3
  196. data/vendor/rspec/lib/spec/mocks/framework.rb +0 -15
  197. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +0 -343
  198. data/vendor/rspec/lib/spec/mocks/methods.rb +0 -89
  199. data/vendor/rspec/lib/spec/mocks/mock.rb +0 -71
  200. data/vendor/rspec/lib/spec/mocks/order_group.rb +0 -29
  201. data/vendor/rspec/lib/spec/mocks/proxy.rb +0 -245
  202. data/vendor/rspec/lib/spec/mocks/space.rb +0 -28
  203. data/vendor/rspec/lib/spec/rake/spectask.rb +0 -230
  204. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +0 -52
  205. data/vendor/rspec/lib/spec/ruby.rb +0 -9
  206. data/vendor/rspec/lib/spec/runner.rb +0 -66
  207. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +0 -77
  208. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +0 -14
  209. data/vendor/rspec/lib/spec/runner/command_line.rb +0 -15
  210. data/vendor/rspec/lib/spec/runner/configuration.rb +0 -194
  211. data/vendor/rspec/lib/spec/runner/differs/default.rb +0 -93
  212. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
  213. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +0 -32
  214. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +0 -58
  215. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +0 -9
  216. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +0 -139
  217. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
  218. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
  219. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  220. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +0 -338
  221. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +0 -47
  222. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
  223. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  224. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
  225. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +0 -10
  226. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  227. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
  228. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  229. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +0 -72
  230. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  231. data/vendor/rspec/lib/spec/runner/line_number_query.rb +0 -78
  232. data/vendor/rspec/lib/spec/runner/option_parser.rb +0 -225
  233. data/vendor/rspec/lib/spec/runner/options.rb +0 -405
  234. data/vendor/rspec/lib/spec/runner/reporter.rb +0 -171
  235. data/vendor/rspec/lib/spec/stubs/cucumber.rb +0 -5
  236. data/vendor/rspec/lib/spec/test/unit.rb +0 -10
  237. data/vendor/rspec/lib/spec/version.rb +0 -14
  238. data/vendor/rspec/resources/helpers/cmdline.rb +0 -8
  239. data/vendor/rspec/resources/rake/examples.rake +0 -7
  240. data/vendor/rspec/resources/rake/examples_with_rcov.rake +0 -9
  241. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +0 -9
  242. data/vendor/rspec/resources/rake/verify_rcov.rake +0 -7
  243. data/vendor/rspec/spec/README.jruby +0 -15
  244. data/vendor/rspec/spec/autotest/autotest_helper.rb +0 -8
  245. data/vendor/rspec/spec/autotest/autotest_matchers.rb +0 -38
  246. data/vendor/rspec/spec/autotest/discover_spec.rb +0 -8
  247. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +0 -31
  248. data/vendor/rspec/spec/autotest/rspec_spec.rb +0 -126
  249. data/vendor/rspec/spec/ruby_forker.rb +0 -13
  250. data/vendor/rspec/spec/spec.opts +0 -6
  251. data/vendor/rspec/spec/spec/dsl/main_spec.rb +0 -95
  252. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +0 -51
  253. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +0 -180
  254. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +0 -759
  255. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +0 -107
  256. data/vendor/rspec/spec/spec/example/example_group_spec.rb +0 -643
  257. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +0 -86
  258. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +0 -162
  259. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +0 -57
  260. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +0 -24
  261. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +0 -71
  262. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +0 -58
  263. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +0 -41
  264. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +0 -257
  265. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  266. data/vendor/rspec/spec/spec/example/subject_spec.rb +0 -103
  267. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +0 -194
  268. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
  269. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +0 -96
  270. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +0 -206
  271. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +0 -30
  272. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  273. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  274. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  275. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
  276. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  277. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  278. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  279. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
  280. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  281. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +0 -48
  282. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
  283. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
  284. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  285. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +0 -50
  286. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +0 -36
  287. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +0 -33
  288. data/vendor/rspec/spec/spec/matchers/be_spec.rb +0 -419
  289. data/vendor/rspec/spec/spec/matchers/change_spec.rb +0 -349
  290. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +0 -28
  291. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +0 -160
  292. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +0 -34
  293. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +0 -33
  294. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +0 -57
  295. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +0 -65
  296. data/vendor/rspec/spec/spec/matchers/has_spec.rb +0 -190
  297. data/vendor/rspec/spec/spec/matchers/have_spec.rb +0 -396
  298. data/vendor/rspec/spec/spec/matchers/include_spec.rb +0 -88
  299. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +0 -108
  300. data/vendor/rspec/spec/spec/matchers/match_spec.rb +0 -57
  301. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +0 -63
  302. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +0 -273
  303. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +0 -2
  304. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +0 -191
  305. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +0 -333
  306. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +0 -116
  307. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +0 -36
  308. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +0 -93
  309. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +0 -96
  310. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +0 -117
  311. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
  312. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  313. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +0 -19
  314. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +0 -97
  315. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +0 -93
  316. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  317. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
  318. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
  319. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  320. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +0 -19
  321. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +0 -22
  322. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  323. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  324. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  325. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  326. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +0 -21
  327. data/vendor/rspec/spec/spec/mocks/double_spec.rb +0 -12
  328. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
  329. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
  330. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
  331. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +0 -94
  332. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +0 -54
  333. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +0 -594
  334. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  335. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
  336. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +0 -54
  337. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +0 -53
  338. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +0 -35
  339. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +0 -164
  340. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  341. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
  342. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +0 -52
  343. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +0 -26
  344. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +0 -42
  345. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +0 -31
  346. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +0 -203
  347. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
  348. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +0 -67
  349. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +0 -127
  350. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +0 -16
  351. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +0 -150
  352. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  353. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +0 -162
  354. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +0 -320
  355. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +0 -146
  356. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  357. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +0 -26
  358. data/vendor/rspec/spec/spec/runner/examples.txt +0 -2
  359. data/vendor/rspec/spec/spec/runner/failed.txt +0 -3
  360. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
  361. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
  362. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  363. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  364. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
  365. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
  366. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
  367. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
  368. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
  369. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -305
  370. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
  371. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
  372. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  373. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
  374. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
  375. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  376. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
  377. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
  378. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
  379. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +0 -78
  380. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +0 -20
  381. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
  382. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +0 -129
  383. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
  384. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +0 -554
  385. data/vendor/rspec/spec/spec/runner/options_spec.rb +0 -554
  386. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +0 -7
  387. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
  388. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +0 -15
  389. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
  390. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +0 -244
  391. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  392. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  393. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +0 -1
  394. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
  395. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +0 -8
  396. data/vendor/rspec/spec/spec/runner/spec.opts +0 -2
  397. data/vendor/rspec/spec/spec/runner/spec_drb.opts +0 -2
  398. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +0 -2
  399. data/vendor/rspec/spec/spec/runner_spec.rb +0 -13
  400. data/vendor/rspec/spec/spec_helper.rb +0 -112
  401. data/vendor/rspec/spec/support/macros.rb +0 -29
  402. data/vendor/rspec/spec/support/spec_classes.rb +0 -133
  403. data/vendor/rubyexts/CHANGELOG +0 -2
  404. data/vendor/rubyexts/LICENSE +0 -20
  405. data/vendor/rubyexts/README.textile +0 -0
  406. data/vendor/rubyexts/Rakefile +0 -79
  407. data/vendor/rubyexts/TODO.txt +0 -6
  408. data/vendor/rubyexts/lib/rubyexts.rb +0 -102
  409. data/vendor/rubyexts/lib/rubyexts/array.rb +0 -20
  410. data/vendor/rubyexts/lib/rubyexts/attribute.rb +0 -151
  411. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +0 -32
  412. data/vendor/rubyexts/lib/rubyexts/class.rb +0 -177
  413. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +0 -103
  414. data/vendor/rubyexts/lib/rubyexts/enumerable.rb +0 -30
  415. data/vendor/rubyexts/lib/rubyexts/file.rb +0 -84
  416. data/vendor/rubyexts/lib/rubyexts/hash.rb +0 -180
  417. data/vendor/rubyexts/lib/rubyexts/kernel.rb +0 -91
  418. data/vendor/rubyexts/lib/rubyexts/module.rb +0 -53
  419. data/vendor/rubyexts/lib/rubyexts/object.rb +0 -56
  420. data/vendor/rubyexts/lib/rubyexts/object_space.rb +0 -16
  421. data/vendor/rubyexts/lib/rubyexts/os.rb +0 -89
  422. data/vendor/rubyexts/lib/rubyexts/platform.rb +0 -27
  423. data/vendor/rubyexts/lib/rubyexts/random.rb +0 -25
  424. data/vendor/rubyexts/lib/rubyexts/string.rb +0 -92
  425. data/vendor/rubyexts/lib/rubyexts/time.rb +0 -15
  426. data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +0 -62
  427. data/vendor/rubyexts/lib/rubyexts/try_dup.rb +0 -43
  428. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +0 -16
  429. data/vendor/rubyexts/rubyexts.gemspec +0 -36
  430. data/vendor/rubyexts/script/spec +0 -12
  431. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +0 -19
  432. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +0 -37
  433. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +0 -1
  434. data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
  435. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +0 -9
  436. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +0 -52
  437. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +0 -78
  438. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +0 -91
  439. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +0 -9
  440. data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
  441. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +0 -17
  442. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +0 -57
  443. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +0 -121
  444. data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
  445. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +0 -31
  446. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +0 -23
  447. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +0 -88
  448. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +0 -11
  449. data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
  450. data/vendor/rubyexts/spec/rubyexts_spec.rb +0 -182
  451. data/vendor/rubyexts/spec/spec_helper.rb +0 -16
@@ -1,20 +0,0 @@
1
- # encoding: utf-8
2
-
3
- class Array
4
- # Returns the _only_ element in the array or raise
5
- # +IndexError+ if array hasn't exactly one element.
6
- #
7
- # @author Botanicus
8
- # @from Extensions
9
- # @since 0.0.3
10
- # @raise [IndexError] If array hasn't exactly one element
11
- # @return [Object] First (and only) item of the array
12
- # @example
13
- # [5].only # => 5
14
- # [1, 2, 3].only # => IndexError
15
- # [].only # => IndexError
16
- def only
17
- raise IndexError, "Array#only called on non-single-element array" unless self.size == 1
18
- self.first
19
- end
20
- end
@@ -1,151 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # TODO: refactor similar as attr_accessor_with_default from active support
4
- # see http://noobkit.com/show/ruby/rails/rails-stable/activesupport/module/attr_accessor_with_default.html
5
- require "rubyexts/try_dup"
6
-
7
- # default value for attr
8
- module AttributeMixin
9
- # class Array
10
- # private_alias :join
11
- # def join(char)
12
- # puts "New join!"
13
- # __join__(char)
14
- # end
15
- # end
16
- def private_alias(method)
17
- alias_method "__#{method}__", method
18
- private "__#{method}__"
19
- end
20
-
21
- # @since 0.0.1
22
- # @example
23
- # class Post
24
- # attribute :title, "Rango rulez!"
25
- # end
26
- # Post.new.title
27
- # # => "Rango rulez!"
28
- # @param [Symbol] name Name of object variable which will be set. If you have <tt>attribute :title</tt>, then the +@title+ variable will be defined. It also create +#title+ and +#title=+ accessors.
29
- # @param [Object, @optional] default_value Default value of the variable.
30
- # @return [name] Returns given default value or if default value.
31
- # @see #hattribute
32
- def attribute(name, default_value = nil)
33
- # define reader method
34
- define_method(name) do
35
- if instance_variable_get("@#{name}").nil?
36
- # lazy loading
37
- # TODO: why is it lazy loaded?
38
- default_value = default_value.call if default_value.is_a?(Proc)
39
- instance_variable_set("@#{name}", default_value.try_dup) # dup is terribly important, otherwise all the objects will points to one object. If it is for example array, all of the objects will push into one array.
40
- end
41
- instance_variable_get("@#{name}")
42
- end
43
-
44
- # define writer method
45
- define_method("#{name}=") do |value|
46
- instance_variable_set("@#{name}", value)
47
- # TODO: here should be rewritten the reader for cases when user want to do foo.bar = nil because now it will still returns the default value
48
- end
49
-
50
- return default_value
51
- end
52
-
53
- # This will also define title and title= methods, but it doesn't define @title variable,
54
- # but @__hattributes__ hash with all the attributes
55
-
56
- # @since 0.0.1
57
- # @example
58
- # class Post
59
- # hattribute :title, "Rango rulez!"
60
- # end
61
- # Post.new.title
62
- # # => "Rango rulez!"
63
- # @param [Symbol] name Name of attribute his accessor methods will be defined. It's similar as +#attribute+, but it doesn't define +@name+ variable, but it will be key in +@__hattributes__+ hash. It's useful when you don't like to mess the object namespace with many variables or if you like to separate the attributes from the instance variables.
64
- # @param [Object, @optional] default_value Default value of the variable.
65
- # @return [name] Returns given default value or if default value.
66
- # @see #attribute
67
- def default_hattribute_names
68
- # this can't be hash because in case the value will be lambda, we can't call it,
69
- # because lambda is evaluated in scope of instance
70
- @default_hattribute_names ||= Array.new
71
- end
72
-
73
- def hattribute(name, default_value = nil)
74
- self.default_hattribute_names.push(name)
75
-
76
- define_method(:hattributes) do
77
- @__hattributes__ ||= Hash.new
78
- # this is importat for initialization @__hattributes__
79
- self.class.default_hattribute_names.each do |hattribute|
80
- self.send(hattribute)
81
- end
82
- return @__hattributes__
83
- end
84
-
85
- # define reader method
86
- if default_value.is_a?(Proc)
87
- define_method(name) do
88
- properties = instance_variable_get("@__hattributes__") || Hash.new
89
- if properties[name].nil?
90
- # instance_variable_set("@#{name}", default_value)
91
- # lazy loading
92
- properties[name] = self.instance_eval(&default_value)
93
- end
94
- # instance_variable_get("@#{name}")
95
- properties[name]
96
- end
97
- else
98
- define_method(name) do
99
- properties = instance_variable_get("@__hattributes__") || Hash.new
100
- # properties = @__hattributes__
101
- if properties[name].nil?
102
- # instance_variable_set("@#{name}", default_value)
103
- # lazy loading
104
- properties[name] = default_value.try_dup
105
- end
106
- # instance_variable_get("@#{name}")
107
- properties[name]
108
- end
109
- end
110
-
111
- # define writer method
112
- define_method("#{name}=") do |value|
113
- instance_variable_set("@__hattributes__", Hash.new) unless instance_variable_get("@__hattributes__")
114
- instance_variable_get("@__hattributes__")[name] = value
115
- end
116
-
117
- return default_value
118
- end
119
-
120
- # class << self.class
121
- # def hattributes
122
- # raise "Y"
123
- # end
124
- # end
125
-
126
- # class Post
127
- # questionable :updated, true
128
- # end
129
- # Post.new.updated?
130
- # # => true
131
- # @since 0.0.2
132
- def questionable(name, default_value)
133
- define_method("#{name}?") do
134
- unless self.instance_variables.include?(name.to_sym)
135
- self.instance_variable_set("@#{name}", default_value)
136
- end
137
- self.instance_variable_get("@#{name}")
138
- end
139
- end
140
- end
141
-
142
- Class.send(:include, AttributeMixin)
143
- Module.send(:include, AttributeMixin)
144
-
145
- # class Test
146
- # hattribute :bar, -> { "value" }
147
- # end
148
- #
149
- # t = Test.new
150
- # p t.bar
151
- # p t.hattributes
@@ -1,32 +0,0 @@
1
- require "stringio"
2
-
3
- def STDOUT.capture(&block)
4
- before = self
5
- $stdout = StringIO.new
6
- block.call
7
- $stdout.rewind
8
- output = $stdout.read
9
- $stdout = before
10
- output
11
- end
12
-
13
- # @example STDOUT.capture { puts "hi" }
14
- # # => "hi"
15
- def STDERR.capture(&block)
16
- before = self
17
- $stderr = StringIO.new
18
- block.call
19
- $stderr.rewind
20
- output = $stderr.read
21
- $stderr = before
22
- output
23
- end
24
-
25
- # @example STDIN.capture("yes") { ask("Do you hear me?") }
26
- # # => "yes"
27
- def STDIN.capture(default, &block)
28
- STDIN.reopen "/dev/null" # so we don't get the fucking prompt
29
- STDIN.ungetbyte(default) # so the default value can be get by STDIN.getc & similar methods
30
- block.call
31
- # TODO: how I can get back the original STDIN?
32
- end
@@ -1,177 +0,0 @@
1
- # Copyright (c) 2004-2008 David Heinemeier Hansson
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining
4
- # a copy of this software and associated documentation files (the
5
- # "Software"), to deal in the Software without restriction, including
6
- # without limitation the rights to use, copy, modify, merge, publish,
7
- # distribute, sublicense, and/or sell copies of the Software, and to
8
- # permit persons to whom the Software is furnished to do so, subject to
9
- # the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be
12
- # included in all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- # Allows attributes to be shared within an inheritance hierarchy, but where
23
- # each descendant gets a copy of their parents' attributes, instead of just a
24
- # pointer to the same. This means that the child can add elements to, for
25
- # example, an array without those additions being shared with either their
26
- # parent, siblings, or children, which is unlike the regular class-level
27
- # attributes that are shared across the entire hierarchy.
28
- class Class
29
- # Defines class-level and instance-level attribute reader.
30
- #
31
- # @param *syms<Array> Array of attributes to define reader for.
32
- # @return <Array[#to_s]> List of attributes that were made into cattr_readers
33
- #
34
- # @api public
35
- #
36
- # @todo Is this inconsistent in that it does not allow you to prevent
37
- # an instance_reader via :instance_reader => false
38
- def cattr_reader(*syms)
39
- syms.flatten.each do |sym|
40
- next if sym.is_a?(Hash)
41
- class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
42
- unless defined? @@#{sym}
43
- @@#{sym} = nil
44
- end
45
-
46
- def self.#{sym}
47
- @@#{sym}
48
- end
49
-
50
- def #{sym}
51
- @@#{sym}
52
- end
53
- RUBY
54
- end
55
- end
56
-
57
- # Defines class-level (and optionally instance-level) attribute writer.
58
- #
59
- # @param <Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to define writer for.
60
- # @option syms :instance_writer<Boolean> if true, instance-level attribute writer is defined.
61
- # @return <Array[#to_s]> List of attributes that were made into cattr_writers
62
- #
63
- # @api public
64
- def cattr_writer(*syms)
65
- options = syms.last.is_a?(Hash) ? syms.pop : {}
66
- syms.flatten.each do |sym|
67
- class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
68
- unless defined? @@#{sym}
69
- @@#{sym} = nil
70
- end
71
-
72
- def self.#{sym}=(obj)
73
- @@#{sym} = obj
74
- end
75
- RUBY
76
-
77
- unless options[:instance_writer] == false
78
- class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
79
- def #{sym}=(obj)
80
- @@#{sym} = obj
81
- end
82
- RUBY
83
- end
84
- end
85
- end
86
-
87
- # Defines class-level (and optionally instance-level) attribute accessor.
88
- #
89
- # @param *syms<Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to define accessor for.
90
- # @option syms :instance_writer<Boolean> if true, instance-level attribute writer is defined.
91
- # @return <Array[#to_s]> List of attributes that were made into accessors
92
- #
93
- # @api public
94
- def cattr_accessor(*syms)
95
- cattr_reader(*syms)
96
- cattr_writer(*syms)
97
- end
98
-
99
- # Defines class-level inheritable attribute reader. Attributes are available to subclasses,
100
- # each subclass has a copy of parent's attribute.
101
- #
102
- # @param *syms<Array[#to_s]> Array of attributes to define inheritable reader for.
103
- # @return <Array[#to_s]> Array of attributes converted into inheritable_readers.
104
- #
105
- # @api public
106
- #
107
- # @todo Do we want to block instance_reader via :instance_reader => false
108
- # @todo It would be preferable that we do something with a Hash passed in
109
- # (error out or do the same as other methods above) instead of silently
110
- # moving on). In particular, this makes the return value of this function
111
- # less useful.
112
- def class_inheritable_reader(*ivars)
113
- instance_reader = ivars.pop[:reader] if ivars.last.is_a?(Hash)
114
-
115
- ivars.each do |ivar|
116
- self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
117
- def self.#{ivar}
118
- return @#{ivar} if defined?(@#{ivar})
119
- return nil if self.object_id == #{self.object_id}
120
- ivar = superclass.#{ivar}
121
- return nil if ivar.nil?
122
- @#{ivar} = ivar.try_dup
123
- end
124
- RUBY
125
-
126
- unless instance_reader == false
127
- self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
128
- def #{ivar}
129
- self.class.#{ivar}
130
- end
131
- RUBY
132
- end
133
- end
134
- end
135
-
136
- # Defines class-level inheritable attribute writer. Attributes are available to subclasses,
137
- # each subclass has a copy of parent's attribute.
138
- #
139
- # @param *syms<Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to
140
- # define inheritable writer for.
141
- # @option syms :instance_writer<Boolean> if true, instance-level inheritable attribute writer is defined.
142
- # @return <Array[#to_s]> An Array of the attributes that were made into inheritable writers.
143
- #
144
- # @api public
145
- #
146
- # @todo We need a style for class_eval <<-HEREDOC. I'd like to make it
147
- # class_eval(<<-RUBY, __FILE__, __LINE__), but we should codify it somewhere.
148
- def class_inheritable_writer(*ivars)
149
- instance_writer = ivars.pop[:instance_writer] if ivars.last.is_a?(Hash)
150
- ivars.each do |ivar|
151
- self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
152
- def self.#{ivar}=(obj)
153
- @#{ivar} = obj
154
- end
155
- RUBY
156
- unless instance_writer == false
157
- self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
158
- def #{ivar}=(obj) self.class.#{ivar} = obj end
159
- RUBY
160
- end
161
- end
162
- end
163
-
164
- # Defines class-level inheritable attribute accessor. Attributes are available to subclasses,
165
- # each subclass has a copy of parent's attribute.
166
- #
167
- # @param *syms<Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to
168
- # define inheritable accessor for.
169
- # @option syms :instance_writer<Boolean> if true, instance-level inheritable attribute writer is defined.
170
- # @return <Array[#to_s]> An Array of attributes turned into inheritable accessors.
171
- #
172
- # @api public
173
- def class_inheritable_accessor(*syms)
174
- class_inheritable_reader(*syms)
175
- class_inheritable_writer(*syms)
176
- end
177
- end
@@ -1,103 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require_relative "string"
4
- require_relative "attribute"
5
-
6
- class ColoredString
7
- ATTRIBUTES = {
8
- clear: 0,
9
- reset: 0, # synonym for :clear
10
- bold: 1,
11
- dark: 2,
12
- italic: 3, # not widely implemented
13
- underline: 4,
14
- underscore: 4, # synonym for :underline
15
- blink: 5,
16
- rapid_blink: 6, # not widely implemented
17
- negative: 7, # no reverse because of String#reverse
18
- concealed: 8,
19
- strikethrough: 9, # not widely implemented
20
- black: 30,
21
- red: 31,
22
- green: 32,
23
- yellow: 33,
24
- blue: 34,
25
- magenta: 35,
26
- cyan: 36,
27
- white: 37,
28
- on_black: 40,
29
- on_red: 41,
30
- on_green: 42,
31
- on_yellow: 43,
32
- on_blue: 44,
33
- on_magenta: 45,
34
- on_cyan: 46,
35
- on_white: 47,
36
- }
37
-
38
- class << self
39
- # ColoredString.coloring?
40
- # Returns true, if the coloring function of this module
41
- # is switched on, false otherwise.
42
- #
43
- # ColoredString.coloring = boolean
44
- # Turns the coloring on or off globally, so you can easily do
45
- # this for example:
46
- # Term::ANSIColor::coloring = STDOUT.isatty
47
- questionable :coloring, true
48
-
49
- # <red.bold>Title</red.bold>
50
- # - u, i/em, b/strong
51
- def template(string)
52
- return string # TODO
53
- end
54
- end
55
-
56
- attr_accessor :colors
57
- def initialize(string = "")
58
- @string = string
59
- @colors = Array.new
60
- end
61
-
62
- ATTRIBUTES.each do |color, code|
63
- define_method(color) do
64
- @colors.push(color)
65
- self
66
- end
67
- end
68
-
69
- def to_s
70
- if ! @colors.empty? && self.class.coloring?
71
- sequences = ""
72
- @colors.each do |name|
73
- code = ATTRIBUTES[name]
74
- sequences << "\e[#{code}m"
75
- end
76
- return "#{sequences}#{@string}\e[0m"
77
- else
78
- @string
79
- end
80
- end
81
-
82
- def inspect
83
- "#<ColoredString:#@string>"
84
- end
85
-
86
- def raw
87
- @string
88
- end
89
-
90
- def method_missing(method, *args, &block)
91
- returned = @string.send(method, *args, &block)
92
- # Bang methods like upcase!
93
- if returned.is_a?(String) and @string.equal?(returned) # same object
94
- @string.replace(returned)
95
- return self
96
- # upcase
97
- elsif returned.is_a?(String) and not @string.equal?(returned) # different object
98
- return self.class.new(returned)
99
- else # not string, String#split etc
100
- return returned
101
- end
102
- end
103
- end