windows-pr 1.2.5 → 1.2.6

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 (505) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/CHANGES +4 -1
  4. data/windows-pr.gemspec +2 -2
  5. metadata +4 -503
  6. data/Gemfile.lock +0 -26
  7. data/vendor/bundle/ruby/2.2.0/bin/rake +0 -23
  8. data/vendor/bundle/ruby/2.2.0/bin/rake.bat +0 -6
  9. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/History.rdoc +0 -1176
  10. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/Manifest.txt +0 -26
  11. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/README.rdoc +0 -656
  12. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/Rakefile +0 -72
  13. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/design_rationale.rb +0 -52
  14. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/hoe/minitest.rb +0 -26
  15. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest.rb +0 -815
  16. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/assertions.rb +0 -674
  17. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/autorun.rb +0 -13
  18. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/benchmark.rb +0 -424
  19. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/expectations.rb +0 -284
  20. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/hell.rb +0 -17
  21. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/mock.rb +0 -232
  22. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/parallel.rb +0 -69
  23. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/pride.rb +0 -4
  24. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/pride_plugin.rb +0 -142
  25. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/spec.rb +0 -331
  26. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/test.rb +0 -284
  27. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/lib/minitest/unit.rb +0 -45
  28. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/metametameta.rb +0 -90
  29. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/test_minitest_benchmark.rb +0 -137
  30. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/test_minitest_mock.rb +0 -512
  31. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/test_minitest_reporter.rb +0 -281
  32. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/test_minitest_spec.rb +0 -967
  33. data/vendor/bundle/ruby/2.2.0/gems/minitest-5.9.0/test/minitest/test_minitest_test.rb +0 -1983
  34. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/CONTRIBUTING.rdoc +0 -36
  35. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/Gemfile +0 -3
  36. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/History.rdoc +0 -2228
  37. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/MIT-LICENSE +0 -21
  38. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/README.rdoc +0 -157
  39. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/Rakefile +0 -29
  40. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/appveyor.yml +0 -24
  41. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/bin/console +0 -7
  42. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/bin/setup +0 -6
  43. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/command_line_usage.rdoc +0 -158
  44. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/example/Rakefile1 +0 -38
  45. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/example/Rakefile2 +0 -35
  46. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/example/a.c +0 -6
  47. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/example/b.c +0 -6
  48. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/example/main.c +0 -11
  49. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/glossary.rdoc +0 -42
  50. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/jamis.rb +0 -591
  51. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/proto_rake.rdoc +0 -127
  52. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/rake.1 +0 -141
  53. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/rakefile.rdoc +0 -624
  54. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/rational.rdoc +0 -151
  55. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/README.md +0 -4
  56. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.4.14.rdoc +0 -23
  57. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.4.15.rdoc +0 -35
  58. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.5.0.rdoc +0 -53
  59. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.5.3.rdoc +0 -78
  60. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.5.4.rdoc +0 -46
  61. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.6.0.rdoc +0 -141
  62. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.7.0.rdoc +0 -119
  63. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.7.1.rdoc +0 -59
  64. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.7.2.rdoc +0 -121
  65. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.7.3.rdoc +0 -47
  66. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.0.rdoc +0 -114
  67. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.2.rdoc +0 -165
  68. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.3.rdoc +0 -112
  69. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.4.rdoc +0 -147
  70. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.5.rdoc +0 -53
  71. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.6.rdoc +0 -37
  72. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.8.7.rdoc +0 -55
  73. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.0.rdoc +0 -112
  74. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.1.rdoc +0 -52
  75. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  76. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.2.rdoc +0 -49
  77. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.3.rdoc +0 -102
  78. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.4.rdoc +0 -60
  79. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.5.rdoc +0 -55
  80. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-0.9.6.rdoc +0 -64
  81. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-10.0.0.rdoc +0 -178
  82. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-10.0.1.rdoc +0 -58
  83. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-10.0.2.rdoc +0 -53
  84. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-10.0.3.rdoc +0 -191
  85. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/doc/release_notes/rake-10.1.0.rdoc +0 -61
  86. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/exe/rake +0 -27
  87. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake.rb +0 -71
  88. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/application.rb +0 -784
  89. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/backtrace.rb +0 -23
  90. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/clean.rb +0 -76
  91. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/cloneable.rb +0 -16
  92. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/contrib/compositepublisher.rb +0 -21
  93. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/contrib/ftptools.rb +0 -137
  94. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/contrib/sshpublisher.rb +0 -60
  95. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/cpu_counter.rb +0 -106
  96. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/default_loader.rb +0 -14
  97. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/dsl_definition.rb +0 -194
  98. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/early_time.rb +0 -21
  99. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/ext/core.rb +0 -25
  100. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/ext/fixnum.rb +0 -18
  101. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/ext/pathname.rb +0 -25
  102. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/ext/string.rb +0 -175
  103. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/file_creation_task.rb +0 -24
  104. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/file_list.rb +0 -436
  105. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/file_task.rb +0 -46
  106. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/file_utils.rb +0 -139
  107. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/file_utils_ext.rb +0 -144
  108. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/invocation_chain.rb +0 -56
  109. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/invocation_exception_mixin.rb +0 -16
  110. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/late_time.rb +0 -17
  111. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/linked_list.rb +0 -111
  112. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/loaders/makefile.rb +0 -53
  113. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/multi_task.rb +0 -13
  114. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/name_space.rb +0 -38
  115. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/packagetask.rb +0 -210
  116. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/phony.rb +0 -15
  117. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/private_reader.rb +0 -20
  118. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/promise.rb +0 -99
  119. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/pseudo_status.rb +0 -29
  120. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/rake_module.rb +0 -38
  121. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/rake_test_loader.rb +0 -21
  122. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/rule_recursion_overflow_error.rb +0 -19
  123. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/scope.rb +0 -42
  124. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/task.rb +0 -391
  125. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/task_argument_error.rb +0 -7
  126. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/task_arguments.rb +0 -103
  127. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/task_manager.rb +0 -316
  128. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/tasklib.rb +0 -11
  129. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/testtask.rb +0 -212
  130. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/thread_history_display.rb +0 -48
  131. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/thread_pool.rb +0 -162
  132. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/trace_output.rb +0 -22
  133. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/version.rb +0 -9
  134. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/lib/rake/win32.rb +0 -50
  135. data/vendor/bundle/ruby/2.2.0/gems/rake-11.2.2/rake.gemspec +0 -30
  136. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/CHANGES +0 -174
  137. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/Gemfile +0 -4
  138. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/Gemfile.lock +0 -24
  139. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/MANIFEST +0 -10
  140. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/README +0 -129
  141. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/Rakefile +0 -185
  142. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/appveyor.yml +0 -42
  143. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/ext/win32/api.c +0 -1092
  144. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/api.rb +0 -40
  145. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby21_32/win32/api.so +0 -0
  146. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby21_64/win32/api.so +0 -0
  147. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby22_32/win32/api.so +0 -0
  148. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby22_64/win32/api.so +0 -0
  149. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby23_32/win32/api.so +0 -0
  150. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby23_64/win32/api.so +0 -0
  151. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby2_32/win32/api.so +0 -0
  152. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/lib/win32/ruby2_64/win32/api.so +0 -0
  153. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/test/test_win32_api.rb +0 -145
  154. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/test/test_win32_api_callback.rb +0 -74
  155. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/test/test_win32_api_function.rb +0 -66
  156. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/bin/devkit +0 -23
  157. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/bin/devkit.bat +0 -6
  158. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/bin/rake +0 -23
  159. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/bin/rake.bat +0 -6
  160. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +0 -55
  161. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +0 -339
  162. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +0 -73
  163. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +0 -8
  164. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +0 -35
  165. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +0 -12
  166. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +0 -116
  167. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +0 -135
  168. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +0 -161
  169. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +0 -4
  170. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +0 -22
  171. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +0 -34
  172. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +0 -1
  173. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +0 -184
  174. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +0 -87
  175. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +0 -27
  176. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +0 -18
  177. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +0 -53
  178. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +0 -78
  179. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +0 -53
  180. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +0 -3
  181. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +0 -46
  182. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +0 -1
  183. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +0 -1
  184. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +0 -5
  185. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +0 -8
  186. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +0 -3
  187. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +0 -339
  188. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +0 -415
  189. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +0 -9
  190. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +0 -59
  191. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +0 -7
  192. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +0 -74
  193. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +0 -30
  194. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +0 -6
  195. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +0 -38
  196. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +0 -18
  197. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +0 -75
  198. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +0 -32
  199. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +0 -12
  200. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +0 -12
  201. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +0 -65
  202. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +0 -19
  203. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +0 -322
  204. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +0 -7
  205. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +0 -21
  206. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +0 -22
  207. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +0 -17
  208. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +0 -37
  209. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +0 -1048
  210. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +0 -134
  211. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +0 -16
  212. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +0 -41
  213. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +0 -381
  214. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +0 -480
  215. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +0 -48
  216. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +0 -192
  217. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +0 -4
  218. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +0 -1360
  219. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +0 -65
  220. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
  221. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +0 -58
  222. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +0 -32
  223. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +0 -96
  224. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +0 -1402
  225. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +0 -52
  226. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +0 -439
  227. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +0 -23
  228. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +0 -38
  229. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +0 -578
  230. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +0 -22
  231. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +0 -57
  232. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +0 -9
  233. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +0 -4
  234. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +0 -19
  235. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +0 -16
  236. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +0 -59
  237. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +0 -8
  238. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +0 -338
  239. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +0 -82
  240. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +0 -3
  241. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +0 -23
  242. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +0 -10
  243. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +0 -512
  244. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +0 -38
  245. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +0 -719
  246. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +0 -21
  247. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +0 -154
  248. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +0 -157
  249. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +0 -82
  250. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +0 -33
  251. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +0 -158
  252. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +0 -38
  253. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +0 -35
  254. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +0 -6
  255. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +0 -6
  256. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +0 -11
  257. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +0 -42
  258. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +0 -591
  259. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +0 -127
  260. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +0 -141
  261. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +0 -624
  262. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +0 -151
  263. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +0 -23
  264. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +0 -35
  265. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +0 -53
  266. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +0 -78
  267. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +0 -46
  268. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +0 -141
  269. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +0 -119
  270. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +0 -59
  271. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +0 -121
  272. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +0 -47
  273. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +0 -114
  274. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +0 -165
  275. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +0 -112
  276. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +0 -147
  277. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +0 -53
  278. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +0 -37
  279. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +0 -55
  280. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +0 -112
  281. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +0 -52
  282. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  283. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +0 -49
  284. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +0 -102
  285. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +0 -60
  286. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +0 -55
  287. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +0 -64
  288. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +0 -178
  289. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +0 -58
  290. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +0 -53
  291. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +0 -191
  292. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +0 -61
  293. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +0 -73
  294. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +0 -787
  295. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +0 -23
  296. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +0 -76
  297. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +0 -16
  298. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +0 -21
  299. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +0 -137
  300. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +0 -60
  301. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +0 -120
  302. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +0 -14
  303. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +0 -194
  304. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +0 -21
  305. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +0 -24
  306. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +0 -436
  307. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +0 -46
  308. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +0 -123
  309. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +0 -56
  310. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +0 -16
  311. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +0 -17
  312. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +0 -111
  313. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +0 -53
  314. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +0 -13
  315. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +0 -38
  316. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +0 -199
  317. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +0 -15
  318. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +0 -20
  319. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +0 -99
  320. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +0 -29
  321. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +0 -38
  322. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +0 -22
  323. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
  324. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +0 -42
  325. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +0 -391
  326. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +0 -7
  327. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +0 -102
  328. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +0 -316
  329. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +0 -11
  330. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +0 -204
  331. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +0 -48
  332. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +0 -163
  333. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +0 -22
  334. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +0 -7
  335. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +0 -50
  336. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +0 -25
  337. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +0 -34
  338. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +0 -134
  339. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +0 -476
  340. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +0 -34
  341. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +0 -42
  342. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +0 -40
  343. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +0 -659
  344. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +0 -468
  345. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +0 -119
  346. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +0 -61
  347. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +0 -68
  348. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +0 -84
  349. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +0 -76
  350. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +0 -40
  351. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +0 -31
  352. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +0 -56
  353. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +0 -687
  354. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +0 -15
  355. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +0 -197
  356. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +0 -318
  357. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +0 -74
  358. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +0 -484
  359. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +0 -64
  360. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +0 -18
  361. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +0 -84
  362. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +0 -46
  363. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +0 -64
  364. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +0 -57
  365. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +0 -79
  366. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +0 -168
  367. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +0 -34
  368. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +0 -18
  369. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +0 -21
  370. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +0 -20
  371. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +0 -26
  372. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +0 -40
  373. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +0 -388
  374. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +0 -44
  375. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +0 -430
  376. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +0 -119
  377. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +0 -134
  378. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +0 -178
  379. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
  380. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +0 -172
  381. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +0 -130
  382. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +0 -145
  383. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +0 -71
  384. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +0 -72
  385. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +0 -101
  386. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +0 -52
  387. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +0 -64
  388. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +0 -339
  389. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +0 -502
  390. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +0 -271
  391. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +0 -101
  392. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +0 -71
  393. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +0 -34
  394. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +0 -505
  395. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +0 -25
  396. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +0 -2218
  397. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +0 -26
  398. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +0 -158
  399. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +0 -17
  400. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +0 -536
  401. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +0 -58
  402. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +0 -73
  403. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +0 -19
  404. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +0 -108
  405. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +0 -202
  406. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +0 -34
  407. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +0 -249
  408. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +0 -198
  409. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +0 -134
  410. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +0 -262
  411. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +0 -746
  412. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +0 -158
  413. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +0 -82
  414. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +0 -169
  415. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +0 -100
  416. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +0 -295
  417. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +0 -136
  418. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +0 -195
  419. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +0 -154
  420. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +0 -192
  421. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +0 -59
  422. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +0 -8
  423. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +0 -15
  424. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +0 -89
  425. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +0 -811
  426. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +0 -132
  427. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +0 -175
  428. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +0 -15
  429. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +0 -693
  430. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +0 -49
  431. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +0 -53
  432. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +0 -114
  433. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  434. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +0 -224
  435. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +0 -59
  436. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +0 -28
  437. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +0 -90
  438. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +0 -31
  439. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +0 -48
  440. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +0 -5
  441. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +0 -13
  442. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +0 -12
  443. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +0 -20
  444. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +0 -20
  445. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +0 -23
  446. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +0 -178
  447. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +0 -442
  448. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +0 -406
  449. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +0 -100
  450. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +0 -3
  451. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +0 -3
  452. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +0 -3
  453. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +0 -3
  454. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +0 -2
  455. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +0 -2
  456. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +0 -3
  457. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +0 -22
  458. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +0 -2160
  459. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +0 -38
  460. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +0 -123
  461. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +0 -37
  462. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +0 -82
  463. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +0 -47
  464. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +0 -303
  465. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +0 -518
  466. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +0 -60
  467. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +0 -26
  468. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +0 -33
  469. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +0 -163
  470. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +0 -713
  471. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +0 -33
  472. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +0 -81
  473. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +0 -70
  474. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +0 -173
  475. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +0 -1171
  476. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +0 -113
  477. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +0 -97
  478. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +0 -150
  479. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +0 -31
  480. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +0 -20
  481. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +0 -38
  482. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +0 -11
  483. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +0 -52
  484. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +0 -102
  485. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +0 -36
  486. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +0 -38
  487. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +0 -46
  488. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +0 -37
  489. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +0 -41
  490. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +0 -43
  491. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +0 -47
  492. data/vendor/bundle/ruby/2.2.0/gems/win32-api-1.6.0-universal-mingw32/win32-api.gemspec +0 -27
  493. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/CHANGES +0 -68
  494. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/MANIFEST +0 -9
  495. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/README +0 -96
  496. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/Rakefile +0 -47
  497. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/lib/windows/api.rb +0 -503
  498. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/lib/windows/wide_string.rb +0 -60
  499. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/test/test_wide_string.rb +0 -59
  500. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/test/test_windows_api.rb +0 -171
  501. data/vendor/bundle/ruby/2.2.0/gems/windows-api-0.4.4/windows-api.gemspec +0 -26
  502. data/vendor/bundle/ruby/2.2.0/specifications/minitest-5.9.0.gemspec +0 -39
  503. data/vendor/bundle/ruby/2.2.0/specifications/rake-11.2.2.gemspec +0 -43
  504. data/vendor/bundle/ruby/2.2.0/specifications/win32-api-1.6.0-universal-mingw32.gemspec +0 -39
  505. data/vendor/bundle/ruby/2.2.0/specifications/windows-api-0.4.4.gemspec +0 -37
@@ -1,4 +0,0 @@
1
- # A sample Gemfile
2
- source "https://rubygems.org"
3
-
4
- gemspec
@@ -1,24 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- win32-api (1.6.0)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- power_assert (0.3.0)
10
- rake (11.1.2)
11
- test-unit (3.1.9)
12
- power_assert
13
-
14
- PLATFORMS
15
- x64-mingw32
16
- x86-mingw32
17
-
18
- DEPENDENCIES
19
- rake
20
- test-unit (>= 2.5.0)
21
- win32-api!
22
-
23
- BUNDLED WITH
24
- 1.10.5
@@ -1,10 +0,0 @@
1
- * CHANGES
2
- * MANIFEST
3
- * README
4
- * Rakefile
5
- * win32-api.gemspec
6
- * ext/extconf.rb
7
- * ext/win32/api.c
8
- * test/test_win32_api.rb
9
- * test/test_win32_api_callback.rb
10
- * test/test_win32_api_function.rb
@@ -1,129 +0,0 @@
1
- = Description
2
- This is a drop-in replacement for the Win32API library currently part of
3
- Ruby's standard library.
4
-
5
- = Synopsis
6
- require 'win32/api'
7
- include Win32
8
-
9
- # Typical example - Get user name
10
- buf = 0.chr * 260
11
- len = [buf.length].pack('L')
12
-
13
- GetUserName = API.new('GetUserName', 'PP', 'I', 'advapi32')
14
- GetUserName.call(buf, len)
15
-
16
- puts buf.strip
17
-
18
- # Callback example - Enumerate windows
19
- EnumWindows = API.new('EnumWindows', 'KP', 'L', 'user32')
20
- GetWindowText = API.new('GetWindowText', 'LPI', 'I', 'user32')
21
- EnumWindowsProc = API::Callback.new('LP', 'I'){ |handle, param|
22
- buf = "\0" * 200
23
- GetWindowText.call(handle, buf, 200);
24
- puts buf.strip unless buf.strip.empty?
25
- buf.index(param).nil? ? true : false
26
- }
27
-
28
- EnumWindows.call(EnumWindowsProc, 'UEDIT32')
29
-
30
- # Raw function pointer example - System beep
31
- LoadLibrary = API.new('LoadLibrary', 'P', 'L')
32
- GetProcAddress = API.new('GetProcAddress', 'LP', 'L')
33
-
34
- hlib = LoadLibrary.call('user32')
35
- addr = GetProcAddress.call(hlib, 'MessageBeep')
36
- func = Win32::API::Function.new(addr, 'L', 'L')
37
- func.call(0)
38
-
39
- = Differences between win32-api and Win32API
40
- * This library has callback support
41
- * This library supports raw function pointers.
42
- * This library supports a separate string type for const char* (S).
43
- * Argument order change. The DLL name is now last, not first.
44
- * Removed the 'N' and 'n' prototypes. Always use 'L' for longs now.
45
- * Sensible default arguments for the prototype, return type and DLL name.
46
- * Reader methods for the function name, effective function name, prototype,
47
- return type and DLL.
48
- * Removed the support for lower case prototype and return types. Always
49
- use capital letters.
50
-
51
- = Developer's Notes
52
- [NOTE: Some of the information below is now out of date, but explains my
53
- motivation at the time the project was originally created.]
54
-
55
- The current Win32API library that ships with the standard library has been
56
- slated for removal from Ruby 2.0 and it will not receive any updates in the
57
- Ruby 1.8.x branch. I have far too many libraries invested in it to let it
58
- die at this point.
59
-
60
- In addition, the current Win32API library was written in the bad old Ruby
61
- 1.6.x days, which means it doesn't use the newer allocation framework.
62
- There were several other refactorings that I felt it needed to more closely
63
- match how it was actually being used in practice.
64
-
65
- The first order of business was changing the order of the arguments. By
66
- moving the DLL name from first to last, I was able to provide reasonable
67
- default arguments for the prototype, return type and the DLL. Only the
68
- function name is required now.
69
-
70
- There was a laundry list of other refactorings that were needed: sensical
71
- instance variable names with proper accessors, removing support for lower
72
- case prototype and return value characters that no one used in practice,
73
- better naming conventions, the addition of RDoc ready comments and,
74
- especially, callback and raw function pointer support.
75
-
76
- Most importantly, we can now add, modify and fix any features that we feel
77
- best benefit our end users.
78
-
79
- = Multiple Binaries
80
- As of win32-api 1.4.8 a binary gem is shipped that contains binaries for
81
- both Ruby 1.8, Ruby 1.9, and 2.x. For Ruby 2.x, both 32 and 64 bit binaries
82
- are included as of release 1.5.0.
83
-
84
- The file under lib/win32 dynamically requires the correct binary based on
85
- your version of Ruby.
86
-
87
- = Documentation
88
- The source file contains inline RDoc documentation. If you installed
89
- this file as a gem, then you have the docs. Run "gem server" and point
90
- your browser at http://localhost:8808 to see them.
91
-
92
- = Warranty
93
- This package is provided "as is" and without any express or
94
- implied warranties, including, without limitation, the implied
95
- warranties of merchantability and fitness for a particular purpose.
96
-
97
- = Known Issues
98
- Possible callback issues when dealing with multi-threaded applications.
99
-
100
- Please submit any bug reports to the project page at
101
- https://github.com/djberg96/win32-api
102
-
103
- == Contributions
104
- Although this library is free, please consider having your company
105
- setup a gittip if used by your company professionally.
106
-
107
- http://www.gittip.com/djberg96/
108
-
109
- = Future Plans
110
- I really don't have future plans for this library since you should use FFI
111
- as your preferred C interface going forward. All of my own projects have
112
- since been converted to either use FFI or an analogous OLE interface.
113
-
114
- I will continue to maintain this library as long as there are folks out
115
- there who are still using it, but I strongly encourage you to convert
116
- your projects to FFI when possible.
117
-
118
- = Copyright
119
- (C) 2003-2015 Daniel J. Berger
120
- (C) 2016 Hiroshi Hatake
121
- All Rights Reserved
122
-
123
- = License
124
- Artistic 2.0
125
-
126
- = Authors
127
- Daniel J. Berger
128
- Park Heesob
129
- Hiroshi Hatake
@@ -1,185 +0,0 @@
1
- require 'rake'
2
- require 'rake/clean'
3
- require 'rake/testtask'
4
- require 'rbconfig'
5
- include RbConfig
6
-
7
- CLEAN.include(
8
- '**/*.gem', # Gem files
9
- '**/*.rbc', # Rubinius
10
- '**/*.o', # C object file
11
- '**/*.log', # Ruby extension build log
12
- '**/Makefile', # C Makefile
13
- '**/*.def', # Definition files
14
- '**/*.exp',
15
- '**/*.lib',
16
- '**/*.pdb',
17
- '**/*.obj',
18
- '**/*.stackdump', # Junk that can happen on Windows
19
- "**/*.#{CONFIG['DLEXT']}" # C shared object
20
- )
21
-
22
- CLOBBER.include('lib') # Generated when building binaries
23
-
24
- make = CONFIG['host_os'] =~ /mingw|cygwin/i ? 'make' : 'nmake'
25
-
26
- desc 'Build the ruby.exe.manifest if it does not already exist'
27
- task :build_manifest do
28
- version = CONFIG['host_os'].split('_')[1]
29
-
30
- if version && version.to_i >= 80
31
- unless File.exist?(File.join(CONFIG['bindir'], 'ruby.exe.manifest'))
32
- Dir.chdir(CONFIG['bindir']) do
33
- sh "mt -nologo -inputresource:ruby.exe;2 -out:ruby.exe.manifest"
34
- end
35
- end
36
- end
37
- end
38
-
39
- desc "Build the win32-api library"
40
- task :build => [:clean, :build_manifest] do
41
- Dir.chdir('ext') do
42
- ruby "extconf.rb"
43
- sh make
44
- cp 'api.so', 'win32' # For testing
45
- end
46
- end
47
-
48
- namespace 'gem' do
49
- require 'rubygems/package'
50
-
51
- desc 'Build the win32-api gem'
52
- task :create => [:clean] do
53
- spec = eval(IO.read('win32-api.gemspec'))
54
- if Gem::VERSION.to_f < 2.0
55
- Gem::Builder.new(spec).build
56
- else
57
- Gem::Package.build(spec)
58
- end
59
- end
60
-
61
- desc 'Build a binary gem'
62
- task :binary, :ruby2_32, :ruby2_64, :ruby21, :ruby21_64, :ruby22, :ruby22_64, :ruby23_32, :ruby23_64 do |task, args|
63
- # These are just what's on my system at the moment. Adjust as needed.
64
- args.with_defaults(
65
- :ruby2_32 => "c:/ruby200/bin/ruby",
66
- :ruby2_64 => "c:/ruby200-x64/bin/ruby",
67
- :ruby21_32 => "c:/ruby21/bin/ruby",
68
- :ruby21_64 => "c:/ruby21-x64/bin/ruby",
69
- :ruby22_32 => "c:/ruby22/bin/ruby",
70
- :ruby22_64 => "c:/ruby22-x64/bin/ruby",
71
- :ruby23_32 => "c:/ruby23/bin/ruby",
72
- :ruby23_64 => "c:/ruby23-x64/bin/ruby"
73
- )
74
-
75
- Rake::Task[:clobber].invoke
76
-
77
- args.each{ |key, rubyx|
78
- # Adjust devkit paths as needed.
79
- if `"#{rubyx}" -v` =~ /x64/i
80
- ENV['PATH'] = "C:/Devkit64/bin;C:/Devkit64/mingw/bin;" + ENV['PATH']
81
- else
82
- ENV['PATH'] = "C:/Devkit/bin;C:/Devkit/mingw/bin;" + ENV['PATH']
83
- end
84
-
85
- mkdir_p "lib/win32/#{key}/win32"
86
-
87
- Dir.chdir('ext') do
88
- sh "make distclean" rescue nil
89
- sh "#{rubyx} extconf.rb"
90
- sh "make"
91
- cp 'api.so', "../lib/win32/#{key}/win32/api.so"
92
- end
93
- }
94
-
95
- text = <<HERE
96
- require 'rbconfig'
97
- begin
98
- case RbConfig::CONFIG['MAJOR']
99
- when '2'
100
- if RbConfig::CONFIG['MINOR'] == '0'
101
- if RbConfig::CONFIG['arch'] =~ /x64/i
102
- require File.join(File.dirname(__FILE__), 'ruby2_64/win32/api')
103
- else
104
- require File.join(File.dirname(__FILE__), 'ruby2_32/win32/api')
105
- end
106
- end
107
-
108
- if RbConfig::CONFIG['MINOR'] == '1'
109
- if RbConfig::CONFIG['arch'] =~ /x64/i
110
- require File.join(File.dirname(__FILE__), 'ruby21_64/win32/api')
111
- else
112
- require File.join(File.dirname(__FILE__), 'ruby21_32/win32/api')
113
- end
114
- end
115
-
116
- if RbConfig::CONFIG['MINOR'] == '2'
117
- if RbConfig::CONFIG['arch'] =~ /x64/i
118
- require File.join(File.dirname(__FILE__), 'ruby22_64/win32/api')
119
- else
120
- require File.join(File.dirname(__FILE__), 'ruby22_32/win32/api')
121
- end
122
- end
123
-
124
- if RbConfig::CONFIG['MINOR'] == '3'
125
- if RbConfig::CONFIG['arch'] =~ /x64/i
126
- require File.join(File.dirname(__FILE__), 'ruby23_64/win32/api')
127
- else
128
- require File.join(File.dirname(__FILE__), 'ruby23_32/win32/api')
129
- end
130
- end
131
-
132
- end
133
- rescue LoadError
134
- require File.join(File.dirname(__FILE__), '../../ext/api')
135
- end
136
- HERE
137
-
138
- File.open('lib/win32/api.rb', 'w'){ |fh| fh.puts text }
139
-
140
- spec = eval(IO.read('win32-api.gemspec'))
141
- spec.platform = Gem::Platform.new(['universal', 'mingw32'])
142
- spec.extensions = nil
143
- spec.files = spec.files.reject{ |f| f.include?('ext') }
144
-
145
- if Gem::VERSION.to_f < 2.0
146
- Gem::Builder.new(spec).build
147
- else
148
- require 'rubygems/package'
149
- Gem::Package.build(spec)
150
- end
151
- end
152
-
153
- desc 'Install the gem'
154
- task :install => [:create] do
155
- file = Dir["*.gem"].first
156
- sh "gem install -l #{file}"
157
- end
158
- end
159
-
160
- namespace 'test' do
161
- Rake::TestTask.new(:all) do |test|
162
- task :all => [:build]
163
- test.libs << 'ext'
164
- test.warning = true
165
- test.verbose = true
166
- end
167
-
168
- Rake::TestTask.new(:callback) do |test|
169
- task :callback => [:build]
170
- test.test_files = FileList['test/test_win32_api_callback.rb']
171
- test.libs << 'ext'
172
- test.warning = true
173
- test.verbose = true
174
- end
175
-
176
- Rake::TestTask.new(:function) do |test|
177
- task :function => [:build]
178
- test.test_files = FileList['test/test_win32_api_function.rb']
179
- test.libs << 'ext'
180
- test.warning = true
181
- test.verbose = true
182
- end
183
- end
184
-
185
- task :default => 'test:all'
@@ -1,42 +0,0 @@
1
- version: '{build}'
2
-
3
- platform: x64
4
-
5
- install:
6
- - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
7
- - "%devkit64%\\devkitvars.bat"
8
- - "%devkit32%\\devkitvars.bat"
9
- - ruby --version
10
- - gem --version
11
- - bundle install
12
- build: off
13
- test_script:
14
- - bundle exec rake gem:binary
15
- - bundle exec rake test:all
16
-
17
- environment:
18
- matrix:
19
- - ruby_version: "23-x64"
20
- devkit64: C:\Ruby23-x64\DevKit
21
- devkit32: C:\Ruby23\DevKit
22
- - ruby_version: "23"
23
- devkit64: C:\Ruby23-x64\DevKit
24
- devkit32: C:\Ruby23\DevKit
25
- - ruby_version: "22-x64"
26
- devkit64: C:\Ruby23-x64\DevKit
27
- devkit32: C:\Ruby23\DevKit
28
- - ruby_version: "22"
29
- devkit64: C:\Ruby23-x64\DevKit
30
- devkit32: C:\Ruby23\DevKit
31
- - ruby_version: "21-x64"
32
- devkit64: C:\Ruby23-x64\DevKit
33
- devkit32: C:\Ruby23\DevKit
34
- - ruby_version: "21"
35
- devkit64: C:\Ruby23-x64\DevKit
36
- devkit32: C:\Ruby23\DevKit
37
- - ruby_version: "200-x64"
38
- devkit64: C:\Ruby23-x64\DevKit
39
- devkit32: C:\Ruby23\DevKit
40
- - ruby_version: "200"
41
- devkit64: C:\Ruby23-x64\DevKit
42
- devkit32: C:\Ruby23\DevKit
@@ -1,1092 +0,0 @@
1
- #include <ruby.h>
2
- #include <windows.h>
3
-
4
- // Ruby 1.9.x
5
- #ifndef RSTRING_PTR
6
- #define RSTRING_PTR(s) (RSTRING(s)->ptr)
7
- #endif
8
- #ifndef RSTRING_LEN
9
- #define RSTRING_LEN(s) (RSTRING(s)->len)
10
- #endif
11
-
12
- #ifndef RARRAY_PTR
13
- #define RARRAY_PTR(a) (RARRAY(a)->ptr)
14
- #endif
15
- #ifndef RARRAY_LEN
16
- #define RARRAY_LEN(a) (RARRAY(a)->len)
17
- #endif
18
-
19
- #if defined(HAVE_LONG_LONG) && SIZEOF_SIZE_T > SIZEOF_LONG
20
- # define NUM2SIZET(x) ((size_t)NUM2ULL(x))
21
- # define NUM2SSIZET(x) ((ssize_t)NUM2LL(x))
22
- #else
23
- # define NUM2SIZET(x) NUM2ULONG(x)
24
- # define NUM2SSIZET(x) NUM2LONG(x)
25
- #endif
26
-
27
- #if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
28
- # define SIZET2NUM(v) ULL2NUM(v)
29
- # define SSIZET2NUM(v) LL2NUM(v)
30
- #elif SIZEOF_SIZE_T == SIZEOF_LONG
31
- # define SIZET2NUM(v) ULONG2NUM(v)
32
- # define SSIZET2NUM(v) LONG2NUM(v)
33
- #else
34
- # define SIZET2NUM(v) UINT2NUM(v)
35
- # define SSIZET2NUM(v) INT2NUM(v)
36
- #endif
37
-
38
-
39
- #define MAX_BUF 1024
40
- #define WINDOWS_API_VERSION "1.6.0"
41
-
42
- #define _T_VOID 0
43
- #define _T_LONG 1
44
- #define _T_POINTER 2
45
- #define _T_INTEGER 3
46
- #define _T_CALLBACK 4
47
- #define _T_STRING 5
48
-
49
- VALUE cAPIError, cAPIProtoError, cAPILoadError;
50
- static VALUE ActiveCallback = Qnil;
51
-
52
- typedef struct {
53
- HANDLE library;
54
- FARPROC function;
55
- int return_type;
56
- int prototype[20];
57
- } Win32API;
58
-
59
- static void api_free(Win32API* ptr){
60
- if(ptr->library)
61
- FreeLibrary(ptr->library);
62
-
63
- if(ptr)
64
- free(ptr);
65
- }
66
-
67
- static VALUE api_allocate(VALUE klass){
68
- Win32API* ptr = malloc(sizeof(Win32API));
69
- memset(ptr, 0, sizeof(*ptr));
70
- return Data_Wrap_Struct(klass, 0, api_free, ptr);
71
- }
72
-
73
- /* Helper function that converts the error number returned by GetLastError()
74
- * into a human readable string. Note that we always use English for error
75
- * output because that's what Ruby itself does.
76
- *
77
- * Internal use only.
78
- */
79
- char* StringError(DWORD dwError){
80
- LPVOID lpMsgBuf;
81
- static char buf[MAX_PATH];
82
- DWORD dwLen, dwLastError;
83
-
84
- // Assume ASCII (English) error messages from the Windows API
85
- dwLen = FormatMessageA(
86
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
87
- FORMAT_MESSAGE_FROM_SYSTEM |
88
- FORMAT_MESSAGE_IGNORE_INSERTS,
89
- NULL,
90
- dwError,
91
- MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
92
- (LPSTR)&lpMsgBuf,
93
- 0,
94
- NULL
95
- );
96
-
97
- dwLastError = GetLastError();
98
-
99
- /* It appears that Windows doesn't necessarily ship with the DLL
100
- * required to always use English error messages. Check for error
101
- * ERROR_MUI_FILE_NOT_FOUND (15100) or ERROR_RESOURCE_LANG_NOT_FOUND (1815)
102
- * and try again if necessary.
103
- */
104
- if(!dwLen && (dwLastError == 15100 || dwLastError == 1815)){
105
- dwLen = FormatMessageA(
106
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
107
- FORMAT_MESSAGE_FROM_SYSTEM |
108
- FORMAT_MESSAGE_IGNORE_INSERTS,
109
- NULL,
110
- dwError,
111
- 0,
112
- (LPSTR)&lpMsgBuf,
113
- 0,
114
- NULL
115
- );
116
- }
117
-
118
- if(!dwLen){
119
- rb_raise(
120
- cAPIError,
121
- "Attempt to format message failed (error = '%lu')",
122
- GetLastError()
123
- );
124
- }
125
-
126
- memset(buf, 0, MAX_PATH);
127
-
128
- // Remove \r\n at end of string.
129
- #ifdef HAVE_STRNCPY_S
130
- strncpy_s(buf, MAX_PATH, lpMsgBuf, dwLen - 2);
131
- #else
132
- strncpy(buf, lpMsgBuf, dwLen - 2);
133
- #endif
134
-
135
- LocalFree(lpMsgBuf);
136
-
137
- return buf;
138
- }
139
-
140
- /*
141
- * call-seq:
142
- * Win32::API::Callback.new(prototype, return='L'){ |proto| ... }
143
- *
144
- * Creates and returns a new Win32::API::Callback object. The prototype
145
- * arguments are yielded back to the block in the same order they were
146
- * declared.
147
- *
148
- * The +prototype+ is the function prototype for the callback function. This
149
- * is a string. The possible valid characters are 'I' (integer), 'L' (long),
150
- * 'V' (void), 'P' (pointer) or 'S' (string). Unlike API objects, API::Callback
151
- * objects do not have a default prototype.
152
- *
153
- * The +return+ argument is the return type for the callback function. The
154
- * valid characters are the same as for the +prototype+. The default is
155
- * 'L' (long).
156
- *
157
- * Example:
158
- * require 'win32/api'
159
- * include Win32
160
- *
161
- * EnumWindows = API.new('EnumWindows', 'KP', 'L', 'user32')
162
- * GetWindowText = API.new('GetWindowText', 'LPI', 'I', 'user32')
163
- *
164
- * EnumWindowsProc = API::Callback.new('LP', 'I'){ |handle, param|
165
- * buf = "\0" * 200
166
- * GetWindowText.call(handle, buf, 200);
167
- * puts buf.strip unless buf.strip.empty?
168
- * buf.index(param).nil? ? true : false
169
- * }
170
- *
171
- * EnumWindows.call(EnumWindowsProc, 'UEDIT32')
172
- */
173
- static VALUE callback_init(int argc, VALUE* argv, VALUE self)
174
- {
175
- void *find_callback(VALUE,int);
176
- VALUE v_proto, v_return, v_proc;
177
- int i;
178
-
179
- rb_scan_args(argc, argv, "11&", &v_proto, &v_return, &v_proc);
180
-
181
- /* Validate prototype characters */
182
- for(i = 0; i < RSTRING_LEN(v_proto); i++){
183
- switch(RSTRING_PTR(v_proto)[i]){
184
- case 'I': case 'L': case 'P': case 'V': case 'S':
185
- break;
186
- default:
187
- rb_raise(cAPIProtoError, "Illegal prototype '%c'",
188
- RSTRING_PTR(v_proto)[i]
189
- );
190
- }
191
- }
192
-
193
- if(NIL_P(v_return) || RARRAY_LEN(v_return) == 0){
194
- v_return = rb_str_new2("L");
195
- }
196
- else{
197
- switch(*(TCHAR*)RSTRING_PTR(v_return)){
198
- case 'I': case 'L': case 'P': case 'V': case 'S':
199
- break;
200
- default:
201
- rb_raise(cAPIProtoError, "Illegal return type '%s'",
202
- RSTRING_PTR(v_return)
203
- );
204
- }
205
- }
206
-
207
- rb_iv_set(self, "@function", v_proc);
208
- rb_iv_set(self, "@prototype", v_proto);
209
- rb_iv_set(self, "@return_type", v_return);
210
- rb_iv_set(self, "@address", SIZET2NUM((LPARAM)find_callback(self,RSTRING_LEN(v_proto))));
211
- ActiveCallback = self;
212
-
213
- return self;
214
- }
215
-
216
- /*
217
- * call-seq:
218
- * Win32::API.new(function, prototype='V', return='L', dll='kernel32')
219
- *
220
- * Creates and returns a new Win32::API object. The +function+ is the name
221
- * of the Windows function.
222
- *
223
- * The +prototype+ is the function prototype for +function+. This can be a
224
- * string or an array of characters. The possible valid characters are 'I'
225
- * (integer), 'L' (long), 'V' (void), 'P' (pointer), 'K' (callback) or 'S'
226
- * (string).
227
- *
228
- * The default is void ('V').
229
- *
230
- * Constant (const char*) strings should use 'S'. Pass by reference string
231
- * buffers should use 'P'. The former is faster, but cannot be modified.
232
- *
233
- * The +return+ argument is the return type for the function. The valid
234
- * characters are the same as for the +prototype+. The default is 'L' (long).
235
- *
236
- * The +dll+ is the name of the DLL file that the function is exported from.
237
- * The default is 'kernel32'.
238
- *
239
- * If the function cannot be found then an API::Error is raised (a subclass
240
- * of RuntimeError).
241
- *
242
- * Example:
243
- *
244
- * require 'win32/api'
245
- * include Win32
246
- *
247
- * buf = 0.chr * 260
248
- * len = [buf.length].pack('L')
249
- *
250
- * GetUserName = API.new('GetUserName', 'PP', 'I', 'advapi32')
251
- * GetUserName.call(buf, len)
252
- *
253
- * puts buf.strip
254
- */
255
- static VALUE api_init(int argc, VALUE* argv, VALUE self)
256
- {
257
- HMODULE hLibrary;
258
- FARPROC fProc;
259
- Win32API* ptr;
260
- int i;
261
- const char* first = "A";
262
- const char* second = "W";
263
- VALUE v_proc, v_proto, v_return, v_dll;
264
-
265
- rb_scan_args(argc, argv, "13", &v_proc, &v_proto, &v_return, &v_dll);
266
-
267
- Data_Get_Struct(self, Win32API, ptr);
268
-
269
- // Convert a string prototype to an array of characters
270
- if(rb_respond_to(v_proto, rb_intern("split")))
271
- v_proto = rb_str_split(v_proto, "");
272
-
273
- // Convert a nil or empty prototype to 'V' (void) automatically
274
- if(NIL_P(v_proto) || RARRAY_LEN(v_proto) == 0){
275
- v_proto = rb_ary_new();
276
- rb_ary_push(v_proto, rb_str_new2("V"));
277
- }
278
-
279
- // Set an arbitrary limit of 20 parameters
280
- if(RARRAY_LEN(v_proto) > 20)
281
- rb_raise(rb_eArgError, "too many parameters: %ld", RARRAY_LEN(v_proto));
282
-
283
- // Set the default dll to 'kernel32'
284
- if(NIL_P(v_dll))
285
- v_dll = rb_str_new2("kernel32");
286
-
287
- // Set the default return type to 'L' (DWORD)
288
- if(NIL_P(v_return))
289
- v_return = rb_str_new2("L");
290
-
291
- SafeStringValue(v_dll);
292
- SafeStringValue(v_proc);
293
-
294
- hLibrary = LoadLibrary(TEXT(RSTRING_PTR(v_dll)));
295
-
296
- // The most likely cause of failure is a bad DLL load path
297
- if(!hLibrary){
298
- rb_raise(cAPILoadError, "LoadLibrary() function failed for '%s': %s",
299
- RSTRING_PTR(v_dll),
300
- StringError(GetLastError())
301
- );
302
- }
303
-
304
- ptr->library = hLibrary;
305
-
306
- /* Attempt to get the function. If it fails, try again with an 'A'
307
- * appended. If that fails, try again with a 'W' appended. If that
308
- * still fails, raise an API::LoadLibraryError.
309
- */
310
-
311
- fProc = GetProcAddress(hLibrary, TEXT(RSTRING_PTR(v_proc)));
312
-
313
- // Skip the ANSI and Wide function checks for MSVCRT functions.
314
- if(!fProc){
315
- if(strstr(RSTRING_PTR(v_dll), "msvcr")){
316
- rb_raise(
317
- cAPILoadError,
318
- "Unable to load function '%s'",
319
- RSTRING_PTR(v_proc)
320
- );
321
- }
322
- else{
323
- VALUE v_ascii = rb_str_new3(v_proc);
324
- v_ascii = rb_str_cat(v_ascii, first, 1);
325
- fProc = GetProcAddress(hLibrary, TEXT(RSTRING_PTR(v_ascii)));
326
-
327
- if(!fProc){
328
- VALUE v_unicode = rb_str_new3(v_proc);
329
- v_unicode = rb_str_cat(v_unicode, second, 1);
330
- fProc = GetProcAddress(hLibrary, TEXT(RSTRING_PTR(v_unicode)));
331
-
332
- if(!fProc){
333
- rb_raise(
334
- cAPILoadError,
335
- "Unable to load function '%s', '%s', or '%s'",
336
- RSTRING_PTR(v_proc),
337
- RSTRING_PTR(v_ascii),
338
- RSTRING_PTR(v_unicode)
339
- );
340
- }
341
- else{
342
- rb_iv_set(self, "@effective_function_name", v_unicode);
343
- }
344
- }
345
- else{
346
- rb_iv_set(self, "@effective_function_name", v_ascii);
347
- }
348
- }
349
- }
350
- else{
351
- rb_iv_set(self, "@effective_function_name", v_proc);
352
- }
353
-
354
- ptr->function = fProc;
355
-
356
- // Push the numeric prototypes onto our int array for later use.
357
-
358
- for(i = 0; i < RARRAY_LEN(v_proto); i++){
359
- SafeStringValue(RARRAY_PTR(v_proto)[i]);
360
- switch(*(TCHAR*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
361
- case 'L':
362
- ptr->prototype[i] = _T_LONG;
363
- break;
364
- case 'P':
365
- ptr->prototype[i] = _T_POINTER;
366
- break;
367
- case 'I': case 'B':
368
- ptr->prototype[i] = _T_INTEGER;
369
- break;
370
- case 'V':
371
- ptr->prototype[i] = _T_VOID;
372
- break;
373
- case 'K':
374
- ptr->prototype[i] = _T_CALLBACK;
375
- break;
376
- case 'S':
377
- ptr->prototype[i] = _T_STRING;
378
- break;
379
- default:
380
- rb_raise(cAPIProtoError, "Illegal prototype '%s'",
381
- StringValuePtr(RARRAY_PTR(v_proto)[i])
382
- );
383
- }
384
- }
385
-
386
- // Store the return type for later use.
387
-
388
- // Automatically convert empty strings or nil to type void.
389
- if(NIL_P(v_return) || RSTRING_LEN(v_return) == 0){
390
- v_return = rb_str_new2("V");
391
- ptr->return_type = _T_VOID;
392
- }
393
- else{
394
- SafeStringValue(v_return);
395
- switch(*RSTRING_PTR(v_return)){
396
- case 'L':
397
- ptr->return_type = _T_LONG;
398
- break;
399
- case 'P':
400
- ptr->return_type = _T_POINTER;
401
- break;
402
- case 'I': case 'B':
403
- ptr->return_type = _T_INTEGER;
404
- break;
405
- case 'V':
406
- ptr->return_type = _T_VOID;
407
- break;
408
- case 'S':
409
- ptr->return_type = _T_STRING;
410
- break;
411
- default:
412
- rb_raise(cAPIProtoError, "Illegal return type '%s'",
413
- RSTRING_PTR(v_return)
414
- );
415
- }
416
- }
417
-
418
- rb_iv_set(self, "@dll_name", v_dll);
419
- rb_iv_set(self, "@function_name", v_proc);
420
- rb_iv_set(self, "@prototype", v_proto);
421
- rb_iv_set(self, "@return_type", v_return);
422
-
423
- return self;
424
- }
425
-
426
- /*
427
- * call-seq:
428
- *
429
- * API::Function.new(address, prototype = 'V', return_type = 'L')
430
- *
431
- * Creates and returns an API::Function object. This object is similar to an
432
- * API object, except that instead of a character function name you pass a
433
- * function pointer address as the first argument, and there's no associated
434
- * DLL file.
435
- *
436
- * Once you have your API::Function object you can then call it the same way
437
- * you would an API object.
438
- *
439
- * Example:
440
- *
441
- * require 'win32/api'
442
- * include Win32
443
- *
444
- * LoadLibrary = API.new('LoadLibrary', 'P', 'L')
445
- * GetProcAddress = API.new('GetProcAddress', 'LP', 'L')
446
- *
447
- * # Play a system beep
448
- * hlib = LoadLibrary.call('user32')
449
- * addr = GetProcAddress.call(hlib, 'MessageBeep')
450
- * func = Win32::API::Function.new(addr, 'L', 'L')
451
- * func.call(0)
452
- */
453
- static VALUE func_init(int argc, VALUE* argv, VALUE self){
454
- Win32API* ptr;
455
- int i;
456
- VALUE v_address, v_proto, v_return;
457
-
458
- rb_scan_args(argc, argv, "12", &v_address, &v_proto, &v_return);
459
-
460
- Data_Get_Struct(self, Win32API, ptr);
461
-
462
- // Convert a string prototype to an array of characters
463
- if(rb_respond_to(v_proto, rb_intern("split")))
464
- v_proto = rb_str_split(v_proto, "");
465
-
466
- // Convert a nil or empty prototype to 'V' (void) automatically
467
- if(NIL_P(v_proto) || RARRAY_LEN(v_proto) == 0){
468
- v_proto = rb_ary_new();
469
- rb_ary_push(v_proto, rb_str_new2("V"));
470
- }
471
-
472
- // Set an arbitrary limit of 20 parameters
473
- if(20 < RARRAY_LEN(v_proto))
474
- rb_raise(rb_eArgError, "too many parameters: %li\n", RARRAY_LEN(v_proto));
475
-
476
- // Set the default return type to 'L' (DWORD)
477
- if(NIL_P(v_return))
478
- v_return = rb_str_new2("L");
479
-
480
- ptr->function = (FARPROC)NUM2SIZET(v_address);
481
-
482
- // Push the numeric prototypes onto our int array for later use.
483
-
484
- for(i = 0; i < RARRAY_LEN(v_proto); i++){
485
- SafeStringValue(RARRAY_PTR(v_proto)[i]);
486
- switch(*(char*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
487
- case 'L':
488
- ptr->prototype[i] = _T_LONG;
489
- break;
490
- case 'P':
491
- ptr->prototype[i] = _T_POINTER;
492
- break;
493
- case 'I': case 'B':
494
- ptr->prototype[i] = _T_INTEGER;
495
- break;
496
- case 'V':
497
- ptr->prototype[i] = _T_VOID;
498
- break;
499
- case 'K':
500
- ptr->prototype[i] = _T_CALLBACK;
501
- break;
502
- case 'S':
503
- ptr->prototype[i] = _T_STRING;
504
- break;
505
- default:
506
- rb_raise(cAPIProtoError, "Illegal prototype '%s'",
507
- StringValuePtr(RARRAY_PTR(v_proto)[i])
508
- );
509
- }
510
- }
511
-
512
- // Store the return type for later use.
513
-
514
- // Automatically convert empty strings or nil to type void.
515
- if(NIL_P(v_return) || RSTRING_LEN(v_return) == 0){
516
- v_return = rb_str_new2("V");
517
- ptr->return_type = _T_VOID;
518
- }
519
- else{
520
- SafeStringValue(v_return);
521
- switch(*RSTRING_PTR(v_return)){
522
- case 'L':
523
- ptr->return_type = _T_LONG;
524
- break;
525
- case 'P':
526
- ptr->return_type = _T_POINTER;
527
- break;
528
- case 'I': case 'B':
529
- ptr->return_type = _T_INTEGER;
530
- break;
531
- case 'V':
532
- ptr->return_type = _T_VOID;
533
- break;
534
- case 'S':
535
- ptr->return_type = _T_STRING;
536
- break;
537
- default:
538
- rb_raise(cAPIProtoError, "Illegal return type '%s'",
539
- RSTRING_PTR(v_return)
540
- );
541
- }
542
- }
543
-
544
- rb_iv_set(self, "@address", v_address);
545
- rb_iv_set(self, "@prototype", v_proto);
546
- rb_iv_set(self, "@return_type", v_return);
547
-
548
- return self;
549
- }
550
-
551
- typedef struct {
552
- uintptr_t params[20];
553
- } CALLPARAM;
554
-
555
-
556
- DWORD CallbackFunction(CALLPARAM param, VALUE callback)
557
- {
558
- VALUE v_proto, v_return, v_proc, v_retval;
559
- VALUE argv[20];
560
- int i, argc;
561
- char *a_proto;
562
- char *a_return;
563
-
564
- if(callback && !NIL_P(callback)){
565
- v_proto = rb_iv_get(callback, "@prototype");
566
- a_proto = RSTRING_PTR(v_proto);
567
-
568
- v_return = rb_iv_get(callback, "@return_type");
569
- a_return = RSTRING_PTR(v_return);
570
-
571
- v_proc = rb_iv_get(callback, "@function");
572
- argc = RSTRING_LEN(v_proto);
573
-
574
- for(i=0; i < RSTRING_LEN(v_proto); i++){
575
- argv[i] = Qnil;
576
- switch(a_proto[i]){
577
- case 'L':
578
- argv[i] = SIZET2NUM(param.params[i]);
579
- break;
580
- case 'P':
581
- if(param.params[i])
582
- argv[i] = rb_str_new2((char *)param.params[i]);
583
- break;
584
- case 'I':
585
- argv[i] = INT2NUM(param.params[i]);
586
- break;
587
- default:
588
- rb_raise(cAPIProtoError, "Illegal prototype '%c'", a_proto[i]);
589
- }
590
- }
591
-
592
- v_retval = rb_funcall2(v_proc, rb_intern("call"), argc, argv);
593
-
594
- /* Handle true and false explicitly, as some CALLBACK functions
595
- * require TRUE or FALSE to break out of loops, etc.
596
- */
597
- if(v_retval == Qtrue)
598
- return TRUE;
599
- else if(v_retval == Qfalse)
600
- return FALSE;
601
-
602
- switch (*a_return) {
603
- case 'I':
604
- return NUM2INT(v_retval);
605
- break;
606
- case 'L':
607
- return NUM2SIZET(v_retval);
608
- break;
609
- case 'S':
610
- return (uintptr_t)RSTRING_PTR(v_retval);
611
- break;
612
- case 'P':
613
- if(NIL_P(v_retval)){
614
- return 0;
615
- }
616
- else if(FIXNUM_P(v_retval)){
617
- return NUM2SIZET(v_retval);
618
- }
619
- else{
620
- StringValue(v_retval);
621
- rb_str_modify(v_retval);
622
- return (uintptr_t)StringValuePtr(v_retval);
623
- }
624
- break;
625
- }
626
- }
627
-
628
- return 0;
629
- }
630
-
631
- #define CALLBACK0(x) DWORD CALLBACK CallbackFunction0_##x() {\
632
- CALLPARAM param = {{0}};\
633
- param.params[0] = 0;\
634
- return CallbackFunction(param,FuncTable[0][x]);\
635
- }
636
-
637
- #define CALLBACK1(x) DWORD CALLBACK CallbackFunction1_##x(DWORD p1) {\
638
- CALLPARAM param = {{p1}};\
639
- return CallbackFunction(param,FuncTable[1][x]);\
640
- }
641
-
642
- #define CALLBACK2(x) DWORD CALLBACK CallbackFunction2_##x(\
643
- DWORD p1, DWORD p2){\
644
- CALLPARAM param = {{p1,p2}};\
645
- return CallbackFunction(param,FuncTable[2][x]);\
646
- }
647
-
648
- #define CALLBACK3(x) DWORD CALLBACK CallbackFunction3_##x(\
649
- DWORD p1, DWORD p2, DWORD p3){\
650
- CALLPARAM param = {{p1,p2,p3}};\
651
- return CallbackFunction(param,FuncTable[3][x]);\
652
- }
653
-
654
- #define CALLBACK4(x) DWORD CALLBACK CallbackFunction4_##x(\
655
- DWORD p1, DWORD p2, DWORD p3, DWORD p4){\
656
- CALLPARAM param = {{p1,p2,p3,p4}};\
657
- return CallbackFunction(param,FuncTable[4][x]);\
658
- }
659
-
660
- #define CALLBACK5(x) DWORD CALLBACK CallbackFunction5_##x(\
661
- DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5\
662
- ){\
663
- CALLPARAM param = {{p1,p2,p3,p4,p5}};\
664
- return CallbackFunction(param,FuncTable[5][x]);\
665
- }
666
-
667
- #define CALLBACK6(x) DWORD CALLBACK CallbackFunction6_##x(\
668
- DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5, DWORD p6\
669
- ){\
670
- CALLPARAM param = {{p1,p2,p3,p4,p5,p6}};\
671
- return CallbackFunction(param,FuncTable[6][x]);\
672
- }
673
-
674
- #define CALLBACK7(x) DWORD CALLBACK CallbackFunction7_##x(\
675
- DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5, DWORD p6, DWORD p7\
676
- ){\
677
- CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7}};\
678
- return CallbackFunction(param,FuncTable[7][x]);\
679
- }
680
-
681
- #define CALLBACK8(x) DWORD CALLBACK CallbackFunction8_##x(\
682
- DWORD p1, DWORD p2, DWORD p3, DWORD p4,\
683
- DWORD p5, DWORD p6, DWORD p7, DWORD p8\
684
- ){\
685
- CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7,p8}};\
686
- return CallbackFunction(param,FuncTable[8][x]);\
687
- }
688
-
689
- #define CALLBACK9(x) DWORD CALLBACK CallbackFunction9_##x(\
690
- DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5,\
691
- DWORD p6, DWORD p7, DWORD p8, DWORD p9\
692
- ){\
693
- CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7,p8,p9}};\
694
- return CallbackFunction(param,FuncTable[9][x]);\
695
- }
696
-
697
- #define DEFCALLBACK(x) CALLBACK##x(0)\
698
- CALLBACK##x(1)\
699
- CALLBACK##x(2)\
700
- CALLBACK##x(3)\
701
- CALLBACK##x(4)\
702
- CALLBACK##x(5)\
703
- CALLBACK##x(6)\
704
- CALLBACK##x(7)\
705
- CALLBACK##x(8)\
706
- CALLBACK##x(9)
707
-
708
- #define CF(x,y) CallbackFunction##x##_##y
709
-
710
- static VALUE FuncTable[10][10];
711
-
712
- DEFCALLBACK(0)
713
- DEFCALLBACK(1)
714
- DEFCALLBACK(2)
715
- DEFCALLBACK(3)
716
- DEFCALLBACK(4)
717
- DEFCALLBACK(5)
718
- DEFCALLBACK(6)
719
- DEFCALLBACK(7)
720
- DEFCALLBACK(8)
721
- DEFCALLBACK(9)
722
-
723
- void *CallbackTable[10][10] = {
724
- {CF(0,0),CF(0,1),CF(0,2),CF(0,3),CF(0,4),CF(0,5),CF(0,6),CF(0,7),CF(0,8),CF(0,9)},
725
- {CF(1,0),CF(1,1),CF(1,2),CF(1,3),CF(1,4),CF(1,5),CF(1,6),CF(1,7),CF(1,8),CF(1,9)},
726
- {CF(2,0),CF(2,1),CF(2,2),CF(2,3),CF(2,4),CF(2,5),CF(2,6),CF(2,7),CF(2,8),CF(2,9)},
727
- {CF(3,0),CF(3,1),CF(3,2),CF(3,3),CF(3,4),CF(3,5),CF(3,6),CF(3,7),CF(3,8),CF(3,9)},
728
- {CF(4,0),CF(4,1),CF(4,2),CF(4,3),CF(4,4),CF(4,5),CF(4,6),CF(4,7),CF(4,8),CF(4,9)},
729
- {CF(5,0),CF(5,1),CF(5,2),CF(5,3),CF(5,4),CF(5,5),CF(5,6),CF(5,7),CF(5,8),CF(5,9)},
730
- {CF(6,0),CF(6,1),CF(6,2),CF(6,3),CF(6,4),CF(6,5),CF(6,6),CF(6,7),CF(6,8),CF(6,9)},
731
- {CF(7,0),CF(7,1),CF(7,2),CF(7,3),CF(7,4),CF(7,5),CF(7,6),CF(7,7),CF(7,8),CF(7,9)},
732
- {CF(8,0),CF(8,1),CF(8,2),CF(8,3),CF(8,4),CF(8,5),CF(8,6),CF(8,7),CF(8,8),CF(8,9)},
733
- {CF(9,0),CF(9,1),CF(9,2),CF(9,3),CF(9,4),CF(9,5),CF(9,6),CF(9,7),CF(9,8),CF(9,9)}};
734
-
735
-
736
- void *find_callback(VALUE obj,int len)
737
- {
738
- int i;
739
- for(i=0;i<10;i++)
740
- {
741
- if(FuncTable[len][i]==0)
742
- break;
743
- }
744
- if(i>=10)
745
- rb_raise(cAPIError,"too many callbacks are defined.");
746
- FuncTable[len][i] = obj;
747
- return CallbackTable[len][i];
748
- }
749
-
750
- /*
751
- * call-seq:
752
- * Win32::API#call(arg1, arg2, ...)
753
- *
754
- * Calls the function pointer with the given arguments (if any). Note that,
755
- * while this method will catch some prototype mismatches (raising a TypeError
756
- * in the process), it is not fulproof. It is ultimately your job to make
757
- * sure the arguments match the +prototype+ specified in the constructor.
758
- *
759
- * For convenience, nil is converted to NULL, true is converted to TRUE (1)
760
- * and false is converted to FALSE (0).
761
- */
762
- static VALUE api_call(int argc, VALUE* argv, VALUE self){
763
- VALUE v_proto, v_args, v_arg, v_return;
764
- Win32API* ptr;
765
- uintptr_t return_value;
766
- int i = 0;
767
- int len;
768
-
769
- struct{
770
- uintptr_t params[20];
771
- } param;
772
-
773
- Data_Get_Struct(self, Win32API, ptr);
774
-
775
- rb_scan_args(argc, argv, "0*", &v_args);
776
-
777
- v_proto = rb_iv_get(self, "@prototype");
778
-
779
- // For void prototypes, allow either no args or an explicit nil
780
- if(RARRAY_LEN(v_proto) != RARRAY_LEN(v_args)){
781
- char* c = StringValuePtr(RARRAY_PTR(v_proto)[0]);
782
- if(!strcmp(c, "V")){
783
- rb_ary_push(v_args, Qnil);
784
- }
785
- else{
786
- rb_raise(rb_eArgError,
787
- "wrong number of parameters: expected %ld, got %ld",
788
- RARRAY_LEN(v_proto), RARRAY_LEN(v_args)
789
- );
790
- }
791
- }
792
-
793
- len = RARRAY_LEN(v_proto);
794
-
795
- for(i = 0; i < len; i++){
796
- v_arg = RARRAY_PTR(v_args)[i];
797
-
798
- // Convert nil to NULL. Otherwise convert as appropriate.
799
- if(NIL_P(v_arg))
800
- param.params[i] = (uintptr_t)NULL;
801
- else if(v_arg == Qtrue)
802
- param.params[i] = TRUE;
803
- else if(v_arg == Qfalse)
804
- param.params[i] = FALSE;
805
- else
806
- switch(ptr->prototype[i]){
807
- case _T_LONG:
808
- param.params[i] = NUM2SIZET(v_arg);
809
- break;
810
- case _T_INTEGER:
811
- param.params[i] = NUM2INT(v_arg);
812
- break;
813
- case _T_POINTER:
814
- if(FIXNUM_P(v_arg)){
815
- param.params[i] = NUM2SIZET(v_arg);
816
- }
817
- else{
818
- StringValue(v_arg);
819
- rb_str_modify(v_arg);
820
- param.params[i] = (uintptr_t)StringValuePtr(v_arg);
821
- }
822
- break;
823
- case _T_CALLBACK:
824
- ActiveCallback = v_arg;
825
- param.params[i] = (LPARAM)NUM2SIZET(rb_iv_get(ActiveCallback, "@address"));;
826
- break;
827
- case _T_STRING:
828
- param.params[i] = (uintptr_t)RSTRING_PTR(v_arg);
829
- break;
830
- default:
831
- param.params[i] = NUM2SIZET(v_arg);
832
- }
833
- }
834
-
835
- /* Call the function, get the return value */
836
- if(strcmp(StringValuePtr(RARRAY_PTR(v_proto)[0]), "V") == 0 && len == 1)
837
- {
838
- return_value = ptr->function();
839
- }
840
- else
841
- {
842
- switch(len)
843
- {
844
- case 0:
845
- return_value = ptr->function();
846
- break;
847
- case 1:
848
- return_value = ptr->function(param.params[0]);
849
- break;
850
- case 2:
851
- return_value = ptr->function(param.params[0], param.params[1]);
852
- break;
853
- case 3:
854
- return_value = ptr->function(param.params[0], param.params[1],
855
- param.params[2]);
856
- break;
857
- case 4:
858
- return_value = ptr->function(param.params[0], param.params[1],
859
- param.params[2], param.params[3]);
860
- break;
861
- case 5:
862
- return_value = ptr->function(param.params[0], param.params[1],
863
- param.params[2], param.params[3], param.params[4]);
864
- break;
865
- case 6:
866
- return_value = ptr->function(param.params[0], param.params[1],
867
- param.params[2], param.params[3], param.params[4], param.params[5]);
868
- break;
869
- case 7:
870
- return_value = ptr->function(param.params[0], param.params[1],
871
- param.params[2], param.params[3], param.params[4], param.params[5],
872
- param.params[6]);
873
- break;
874
- case 8:
875
- return_value = ptr->function(param.params[0], param.params[1],
876
- param.params[2], param.params[3], param.params[4], param.params[5],
877
- param.params[6], param.params[7]);
878
- break;
879
- case 9:
880
- return_value = ptr->function(param.params[0], param.params[1],
881
- param.params[2], param.params[3], param.params[4], param.params[5],
882
- param.params[6], param.params[7], param.params[8]);
883
- break;
884
- case 10:
885
- return_value = ptr->function(param.params[0], param.params[1],
886
- param.params[2], param.params[3], param.params[4], param.params[5],
887
- param.params[6], param.params[7], param.params[8], param.params[9]);
888
- break;
889
- case 11:
890
- return_value = ptr->function(param.params[0], param.params[1],
891
- param.params[2], param.params[3], param.params[4], param.params[5],
892
- param.params[6], param.params[7], param.params[8], param.params[9],
893
- param.params[10]);
894
- break;
895
- case 12:
896
- return_value = ptr->function(param.params[0], param.params[1],
897
- param.params[2], param.params[3], param.params[4], param.params[5],
898
- param.params[6], param.params[7], param.params[8], param.params[9],
899
- param.params[10], param.params[11]);
900
- break;
901
- case 13:
902
- return_value = ptr->function(param.params[0], param.params[1],
903
- param.params[2], param.params[3], param.params[4], param.params[5],
904
- param.params[6], param.params[7], param.params[8], param.params[9],
905
- param.params[10], param.params[11], param.params[12]);
906
- break;
907
- case 14:
908
- return_value = ptr->function(param.params[0], param.params[1],
909
- param.params[2], param.params[3], param.params[4], param.params[5],
910
- param.params[6], param.params[7], param.params[8], param.params[9],
911
- param.params[10], param.params[11], param.params[12], param.params[13]);
912
- break;
913
- case 15:
914
- return_value = ptr->function(param.params[0], param.params[1],
915
- param.params[2], param.params[3], param.params[4], param.params[5],
916
- param.params[6], param.params[7], param.params[8], param.params[9],
917
- param.params[10], param.params[11], param.params[12], param.params[13],
918
- param.params[14]);
919
- break;
920
- case 16:
921
- return_value = ptr->function(param.params[0], param.params[1],
922
- param.params[2], param.params[3], param.params[4], param.params[5],
923
- param.params[6], param.params[7], param.params[8], param.params[9],
924
- param.params[10], param.params[11], param.params[12], param.params[13],
925
- param.params[14], param.params[15]);
926
- break;
927
- case 17:
928
- return_value = ptr->function(param.params[0], param.params[1],
929
- param.params[2], param.params[3], param.params[4], param.params[5],
930
- param.params[6], param.params[7], param.params[8], param.params[9],
931
- param.params[10], param.params[11], param.params[12], param.params[13],
932
- param.params[14], param.params[15], param.params[16]);
933
- break;
934
- case 18:
935
- return_value = ptr->function(param.params[0], param.params[1],
936
- param.params[2], param.params[3], param.params[4], param.params[5],
937
- param.params[6], param.params[7], param.params[8], param.params[9],
938
- param.params[10], param.params[11], param.params[12], param.params[13],
939
- param.params[14], param.params[15], param.params[16], param.params[17]);
940
- break;
941
- case 19:
942
- return_value = ptr->function(param.params[0], param.params[1],
943
- param.params[2], param.params[3], param.params[4], param.params[5],
944
- param.params[6], param.params[7], param.params[8], param.params[9],
945
- param.params[10], param.params[11], param.params[12], param.params[13],
946
- param.params[14], param.params[15], param.params[16], param.params[17],
947
- param.params[18]);
948
- break;
949
- case 20:
950
- return_value = ptr->function(param.params[0], param.params[1],
951
- param.params[2], param.params[3], param.params[4], param.params[5],
952
- param.params[6], param.params[7], param.params[8], param.params[9],
953
- param.params[10], param.params[11], param.params[12], param.params[13],
954
- param.params[14], param.params[15], param.params[16], param.params[17],
955
- param.params[18], param.params[19]);
956
- break;
957
- default:
958
- rb_raise(rb_eArgError,"number of parameters exceed 20!");
959
- }
960
- }
961
-
962
- /* Return the appropriate type based on the return type specified
963
- * in the constructor.
964
- */
965
- switch(ptr->return_type){
966
- case _T_INTEGER:
967
- v_return = INT2NUM(return_value);
968
- break;
969
- case _T_LONG:
970
- v_return = SIZET2NUM(return_value);
971
- break;
972
- case _T_VOID:
973
- v_return = Qnil;
974
- break;
975
- case _T_POINTER:
976
- if(!return_value){
977
- v_return = Qnil;
978
- }
979
- else{
980
- VALUE v_efunc = rb_iv_get(self, "@effective_function_name");
981
- char* efunc = RSTRING_PTR(v_efunc);
982
- if(efunc[strlen(efunc)-1] == 'W'){
983
- v_return = rb_str_new(
984
- (TCHAR*)return_value,
985
- wcslen((wchar_t*)return_value)*2
986
- );
987
- }
988
- else{
989
- v_return = rb_str_new2((TCHAR*)return_value);
990
- }
991
- }
992
- break;
993
- case _T_STRING:
994
- {
995
- VALUE v_efunc = rb_iv_get(self, "@effective_function_name");
996
- char* efunc = RSTRING_PTR(v_efunc);
997
-
998
- if(efunc[strlen(efunc)-1] == 'W'){
999
- v_return = rb_str_new(
1000
- (TCHAR*)return_value,
1001
- wcslen((wchar_t*)return_value)*2
1002
- );
1003
- }
1004
- else{
1005
- v_return = rb_str_new2((TCHAR*)return_value);
1006
- }
1007
- }
1008
- break;
1009
- default:
1010
- v_return = INT2NUM(0);
1011
- }
1012
-
1013
- return v_return;
1014
- }
1015
-
1016
- /*
1017
- * Wraps the Windows API functions in a Ruby interface.
1018
- */
1019
- void Init_api(){
1020
- VALUE mWin32, cAPI, cCallback, cFunction;
1021
-
1022
- /* Modules and Classes */
1023
-
1024
- /* The Win32 module serves as a namespace only */
1025
- mWin32 = rb_define_module("Win32");
1026
-
1027
- /* The API class encapsulates a function pointer to Windows API function */
1028
- cAPI = rb_define_class_under(mWin32, "API", rb_cObject);
1029
-
1030
- /* The API::Callback class encapsulates a Windows CALLBACK function */
1031
- cCallback = rb_define_class_under(cAPI, "Callback", rb_cObject);
1032
-
1033
- /* The API::Function class encapsulates a raw function pointer */
1034
- cFunction = rb_define_class_under(cAPI, "Function", cAPI);
1035
-
1036
- /* The API::Error class serves as a base class for other errors */
1037
- cAPIError = rb_define_class_under(cAPI, "Error", rb_eRuntimeError);
1038
-
1039
- /* The LoadError class is raised if a function cannot be found or loaded */
1040
- cAPILoadError = rb_define_class_under(cAPI, "LoadLibraryError", cAPIError);
1041
-
1042
- /* The PrototypeError class is raised if an invalid prototype is passed */
1043
- cAPIProtoError = rb_define_class_under(cAPI, "PrototypeError", cAPIError);
1044
-
1045
- /* Miscellaneous */
1046
- rb_define_alloc_func(cAPI, api_allocate);
1047
-
1048
- /* Win32::API Instance Methods */
1049
- rb_define_method(cAPI, "initialize", api_init, -1);
1050
- rb_define_method(cAPI, "call", api_call, -1);
1051
-
1052
- /* Win32::API::Callback Instance Methods */
1053
- rb_define_method(cCallback, "initialize", callback_init, -1);
1054
-
1055
- /* Win32::API::Function Instance Methods */
1056
- rb_define_method(cFunction, "initialize", func_init, -1);
1057
-
1058
- /* The name of the DLL that exports the API function */
1059
- rb_define_attr(cAPI, "dll_name", 1, 0);
1060
-
1061
- /* The name of the function passed to the constructor */
1062
- rb_define_attr(cAPI, "function_name", 1, 0);
1063
-
1064
- /* The name of the actual function that is returned by the constructor.
1065
- * For example, if you passed 'GetUserName' to the constructor, then the
1066
- * effective function name would be either 'GetUserNameA' or 'GetUserNameW'.
1067
- */
1068
- rb_define_attr(cAPI, "effective_function_name", 1, 0);
1069
-
1070
- /* The prototype, returned as an array of characters */
1071
- rb_define_attr(cAPI, "prototype", 1, 0);
1072
-
1073
- /* The return type, returned as a single character, S, P, L, I, V or B */
1074
- rb_define_attr(cAPI, "return_type", 1, 0);
1075
-
1076
- /* Win32::API::Callback Instance Methods */
1077
-
1078
- /* The prototype, returned as an array of characters */
1079
- rb_define_attr(cCallback, "prototype", 1, 0);
1080
-
1081
- /* The return type, returned as a single character, S, P, L, I, V or B */
1082
- rb_define_attr(cCallback, "return_type", 1, 0);
1083
-
1084
- /* The numeric address of the function pointer */
1085
- rb_define_attr(cCallback, "address", 1, 0);
1086
- rb_define_attr(cFunction, "address", 1, 0);
1087
-
1088
- /* Constants */
1089
-
1090
- /* 1.6.0: The version of the win32-api library */
1091
- rb_define_const(cAPI, "VERSION", rb_str_new2(WINDOWS_API_VERSION));
1092
- }