whos_dated_who 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1938) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +89 -0
  7. data/Rakefile +2 -0
  8. data/bin/whos_dated_who +6 -0
  9. data/lib/whos_dated_who/bing_client.rb +15 -0
  10. data/lib/whos_dated_who/biography.rb +48 -0
  11. data/lib/whos_dated_who/cli.rb +18 -0
  12. data/lib/whos_dated_who/client.rb +17 -0
  13. data/lib/whos_dated_who/parser.rb +60 -0
  14. data/lib/whos_dated_who/version.rb +3 -0
  15. data/lib/whos_dated_who.rb +11 -0
  16. data/spec/fixtures/scarlett-johansson.resp +3361 -0
  17. data/spec/spec_helper.rb +25 -0
  18. data/spec/whos_dated_who/client_spec.rb +7 -0
  19. data/spec/whos_dated_who/parser_spec.rb +53 -0
  20. data/vendor/bundle/bin/coderay +23 -0
  21. data/vendor/bundle/bin/htmldiff +25 -0
  22. data/vendor/bundle/bin/kill-pry-rescue +23 -0
  23. data/vendor/bundle/bin/ldiff +25 -0
  24. data/vendor/bundle/bin/nokogiri +23 -0
  25. data/vendor/bundle/bin/pry +23 -0
  26. data/vendor/bundle/bin/rake +23 -0
  27. data/vendor/bundle/bin/rescue +23 -0
  28. data/vendor/bundle/bin/rspec +23 -0
  29. data/vendor/bundle/bin/safe_yaml +23 -0
  30. data/vendor/bundle/bin/thor +23 -0
  31. data/vendor/bundle/build_info/activesupport-4.1.1.info +1 -0
  32. data/vendor/bundle/build_info/addressable-2.3.6.info +1 -0
  33. data/vendor/bundle/build_info/coderay-1.1.0.info +1 -0
  34. data/vendor/bundle/build_info/crack-0.4.2.info +1 -0
  35. data/vendor/bundle/build_info/diff-lcs-1.2.5.info +1 -0
  36. data/vendor/bundle/build_info/faraday-0.9.0.info +1 -0
  37. data/vendor/bundle/build_info/hashie-3.0.0.info +1 -0
  38. data/vendor/bundle/build_info/i18n-0.6.9.info +1 -0
  39. data/vendor/bundle/build_info/interception-0.5.info +1 -0
  40. data/vendor/bundle/build_info/method_source-0.8.2.info +1 -0
  41. data/vendor/bundle/build_info/mini_portile-0.6.0.info +1 -0
  42. data/vendor/bundle/build_info/minitest-5.3.4.info +1 -0
  43. data/vendor/bundle/build_info/multipart-post-2.0.0.info +1 -0
  44. data/vendor/bundle/build_info/nokogiri-1.6.2.1.info +1 -0
  45. data/vendor/bundle/build_info/pry-0.10.0.info +1 -0
  46. data/vendor/bundle/build_info/pry-rescue-1.4.1.info +1 -0
  47. data/vendor/bundle/build_info/rake-10.3.2.info +1 -0
  48. data/vendor/bundle/build_info/rspec-3.0.0.info +1 -0
  49. data/vendor/bundle/build_info/rspec-core-3.0.1.info +1 -0
  50. data/vendor/bundle/build_info/rspec-expectations-3.0.1.info +1 -0
  51. data/vendor/bundle/build_info/rspec-mocks-3.0.1.info +1 -0
  52. data/vendor/bundle/build_info/rspec-support-3.0.0.info +1 -0
  53. data/vendor/bundle/build_info/safe_yaml-1.0.3.info +1 -0
  54. data/vendor/bundle/build_info/searchbing-0.2.4.info +1 -0
  55. data/vendor/bundle/build_info/slop-3.5.0.info +1 -0
  56. data/vendor/bundle/build_info/thor-0.19.1.info +1 -0
  57. data/vendor/bundle/build_info/thread_safe-0.3.4.info +1 -0
  58. data/vendor/bundle/build_info/tzinfo-1.2.1.info +1 -0
  59. data/vendor/bundle/build_info/webmock-1.18.0.info +1 -0
  60. data/vendor/bundle/extensions/x86_64-darwin-13/2.1.0-static/interception-0.5/gem.build_complete +0 -0
  61. data/vendor/bundle/extensions/x86_64-darwin-13/2.1.0-static/interception-0.5/gem_make.out +10 -0
  62. data/vendor/bundle/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.2.1/gem.build_complete +0 -0
  63. data/vendor/bundle/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.2.1/gem_make.out +270 -0
  64. data/vendor/bundle/gems/activesupport-4.1.1/CHANGELOG.md +635 -0
  65. data/vendor/bundle/gems/activesupport-4.1.1/MIT-LICENSE +20 -0
  66. data/vendor/bundle/gems/activesupport-4.1.1/README.rdoc +35 -0
  67. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/all.rb +3 -0
  68. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/backtrace_cleaner.rb +103 -0
  69. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/benchmarkable.rb +49 -0
  70. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/builder.rb +6 -0
  71. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/file_store.rb +185 -0
  72. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/mem_cache_store.rb +198 -0
  73. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/memory_store.rb +172 -0
  74. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/null_store.rb +44 -0
  75. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/strategy/local_cache.rb +159 -0
  76. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache/strategy/local_cache_middleware.rb +39 -0
  77. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/cache.rb +719 -0
  78. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/callbacks.rb +745 -0
  79. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/concern.rb +134 -0
  80. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/concurrency/latch.rb +27 -0
  81. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/configurable.rb +147 -0
  82. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/access.rb +56 -0
  83. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/conversions.rb +209 -0
  84. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/extract_options.rb +29 -0
  85. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/grouping.rb +111 -0
  86. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/prepend_and_append.rb +7 -0
  87. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array/wrap.rb +45 -0
  88. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/array.rb +6 -0
  89. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/benchmark.rb +14 -0
  90. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/big_decimal/conversions.rb +16 -0
  91. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/big_decimal/yaml_conversions.rb +14 -0
  92. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/big_decimal.rb +1 -0
  93. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/class/attribute.rb +127 -0
  94. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/class/attribute_accessors.rb +4 -0
  95. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/class/delegating_attributes.rb +41 -0
  96. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/class/subclasses.rb +42 -0
  97. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/class.rb +3 -0
  98. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date/acts_like.rb +8 -0
  99. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date/calculations.rb +143 -0
  100. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date/conversions.rb +88 -0
  101. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date/zones.rb +6 -0
  102. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date.rb +5 -0
  103. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_and_time/calculations.rb +251 -0
  104. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_and_time/zones.rb +41 -0
  105. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_time/acts_like.rb +14 -0
  106. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_time/calculations.rb +161 -0
  107. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_time/conversions.rb +103 -0
  108. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_time/zones.rb +6 -0
  109. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/date_time.rb +4 -0
  110. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/enumerable.rb +80 -0
  111. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/file/atomic.rb +63 -0
  112. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/file.rb +1 -0
  113. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/compact.rb +20 -0
  114. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/conversions.rb +244 -0
  115. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/deep_merge.rb +27 -0
  116. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/except.rb +15 -0
  117. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/indifferent_access.rb +23 -0
  118. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/keys.rb +140 -0
  119. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/reverse_merge.rb +22 -0
  120. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash/slice.rb +42 -0
  121. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/hash.rb +8 -0
  122. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/integer/inflections.rb +29 -0
  123. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/integer/multiple.rb +10 -0
  124. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/integer/time.rb +44 -0
  125. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/integer.rb +3 -0
  126. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  127. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/kernel/debugger.rb +10 -0
  128. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/kernel/reporting.rb +110 -0
  129. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/kernel/singleton_class.rb +6 -0
  130. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/kernel.rb +4 -0
  131. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/load_error.rb +25 -0
  132. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/marshal.rb +21 -0
  133. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/aliasing.rb +69 -0
  134. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/anonymous.rb +19 -0
  135. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/attr_internal.rb +39 -0
  136. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/attribute_accessors.rb +212 -0
  137. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/concerning.rb +135 -0
  138. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/delegation.rb +209 -0
  139. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/deprecation.rb +23 -0
  140. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/introspection.rb +62 -0
  141. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/method_transplanting.rb +11 -0
  142. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/qualified_const.rb +52 -0
  143. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/reachable.rb +8 -0
  144. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module/remove_method.rb +12 -0
  145. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/module.rb +11 -0
  146. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/name_error.rb +18 -0
  147. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/bytes.rb +44 -0
  148. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb +135 -0
  149. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/time.rb +87 -0
  150. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric.rb +3 -0
  151. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/acts_like.rb +10 -0
  152. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/blank.rb +131 -0
  153. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/conversions.rb +4 -0
  154. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/deep_dup.rb +46 -0
  155. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/duplicable.rb +90 -0
  156. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/inclusion.rb +27 -0
  157. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/instance_variables.rb +28 -0
  158. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/json.rb +197 -0
  159. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/to_json.rb +5 -0
  160. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/to_param.rb +62 -0
  161. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/to_query.rb +32 -0
  162. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/try.rb +78 -0
  163. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object/with_options.rb +42 -0
  164. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/object.rb +14 -0
  165. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/range/conversions.rb +19 -0
  166. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/range/each.rb +23 -0
  167. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/range/include_range.rb +23 -0
  168. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/range/overlaps.rb +8 -0
  169. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/range.rb +4 -0
  170. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/regexp.rb +5 -0
  171. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/access.rb +104 -0
  172. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/behavior.rb +6 -0
  173. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/conversions.rb +56 -0
  174. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/exclude.rb +11 -0
  175. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/filters.rb +65 -0
  176. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/indent.rb +43 -0
  177. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/inflections.rb +214 -0
  178. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/inquiry.rb +13 -0
  179. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/multibyte.rb +49 -0
  180. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/output_safety.rb +239 -0
  181. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/starts_ends_with.rb +4 -0
  182. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/strip.rb +26 -0
  183. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string/zones.rb +14 -0
  184. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/string.rb +13 -0
  185. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/struct.rb +6 -0
  186. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/thread.rb +79 -0
  187. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time/acts_like.rb +8 -0
  188. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time/calculations.rb +257 -0
  189. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time/conversions.rb +65 -0
  190. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time/marshal.rb +30 -0
  191. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time/zones.rb +78 -0
  192. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/time.rb +5 -0
  193. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext/uri.rb +26 -0
  194. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/core_ext.rb +3 -0
  195. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/dependencies/autoload.rb +77 -0
  196. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/dependencies.rb +748 -0
  197. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation/behaviors.rb +76 -0
  198. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation/instance_delegator.rb +24 -0
  199. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation/method_wrappers.rb +44 -0
  200. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation/proxy_wrappers.rb +126 -0
  201. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation/reporting.rb +94 -0
  202. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/deprecation.rb +43 -0
  203. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/descendants_tracker.rb +60 -0
  204. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/duration.rb +114 -0
  205. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/file_update_checker.rb +137 -0
  206. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/file_watcher.rb +36 -0
  207. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/gem_version.rb +15 -0
  208. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/gzip.rb +36 -0
  209. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/hash_with_indifferent_access.rb +271 -0
  210. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/i18n.rb +13 -0
  211. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/i18n_railtie.rb +96 -0
  212. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/inflections.rb +70 -0
  213. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/inflector/inflections.rb +211 -0
  214. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/inflector/methods.rb +359 -0
  215. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/inflector/transliterate.rb +97 -0
  216. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/inflector.rb +7 -0
  217. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/json/decoding.rb +73 -0
  218. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/json/encoding.rb +172 -0
  219. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/json.rb +2 -0
  220. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/key_generator.rb +73 -0
  221. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/lazy_load_hooks.rb +48 -0
  222. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/locale/en.yml +133 -0
  223. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/log_subscriber/test_helper.rb +104 -0
  224. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/log_subscriber.rb +109 -0
  225. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/logger.rb +57 -0
  226. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/logger_silence.rb +24 -0
  227. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/message_encryptor.rb +106 -0
  228. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/message_verifier.rb +73 -0
  229. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/multibyte/chars.rb +222 -0
  230. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/multibyte/unicode.rb +390 -0
  231. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/multibyte.rb +21 -0
  232. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/notifications/fanout.rb +152 -0
  233. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/notifications/instrumenter.rb +73 -0
  234. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/notifications.rb +207 -0
  235. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_converter.rb +182 -0
  236. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_currency_converter.rb +46 -0
  237. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_delimited_converter.rb +21 -0
  238. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_human_converter.rb +66 -0
  239. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_human_size_converter.rb +58 -0
  240. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_percentage_converter.rb +12 -0
  241. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_phone_converter.rb +49 -0
  242. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper/number_to_rounded_converter.rb +91 -0
  243. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/number_helper.rb +346 -0
  244. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/option_merger.rb +25 -0
  245. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/ordered_hash.rb +48 -0
  246. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/ordered_options.rb +67 -0
  247. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/per_thread_registry.rb +53 -0
  248. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/proxy_object.rb +13 -0
  249. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/rails.rb +27 -0
  250. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/railtie.rb +46 -0
  251. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/rescuable.rb +119 -0
  252. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/string_inquirer.rb +26 -0
  253. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/subscriber.rb +116 -0
  254. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/tagged_logging.rb +76 -0
  255. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/test_case.rb +66 -0
  256. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/assertions.rb +97 -0
  257. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/autorun.rb +5 -0
  258. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/constant_lookup.rb +54 -0
  259. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/declarative.rb +50 -0
  260. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/deprecation.rb +35 -0
  261. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/isolation.rb +91 -0
  262. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/setup_and_teardown.rb +50 -0
  263. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/tagged_logging.rb +25 -0
  264. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/testing/time_helpers.rb +127 -0
  265. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/time.rb +20 -0
  266. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/time_with_zone.rb +402 -0
  267. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/values/time_zone.rb +421 -0
  268. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/values/unicode_tables.dat +0 -0
  269. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/version.rb +8 -0
  270. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/jdom.rb +180 -0
  271. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/libxml.rb +79 -0
  272. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/libxmlsax.rb +85 -0
  273. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/nokogiri.rb +83 -0
  274. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/nokogirisax.rb +87 -0
  275. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini/rexml.rb +129 -0
  276. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support/xml_mini.rb +191 -0
  277. data/vendor/bundle/gems/activesupport-4.1.1/lib/active_support.rb +75 -0
  278. data/vendor/bundle/gems/addressable-2.3.6/CHANGELOG.md +170 -0
  279. data/vendor/bundle/gems/addressable-2.3.6/Gemfile +28 -0
  280. data/vendor/bundle/gems/addressable-2.3.6/LICENSE.txt +202 -0
  281. data/vendor/bundle/gems/addressable-2.3.6/README.md +102 -0
  282. data/vendor/bundle/gems/addressable-2.3.6/Rakefile +37 -0
  283. data/vendor/bundle/gems/addressable-2.3.6/data/unicode.data +0 -0
  284. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/idna/native.rb +43 -0
  285. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/idna/pure.rb +669 -0
  286. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/idna.rb +25 -0
  287. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/template.rb +938 -0
  288. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/uri.rb +2351 -0
  289. data/vendor/bundle/gems/addressable-2.3.6/lib/addressable/version.rb +30 -0
  290. data/vendor/bundle/gems/addressable-2.3.6/spec/addressable/idna_spec.rb +238 -0
  291. data/vendor/bundle/gems/addressable-2.3.6/spec/addressable/net_http_compat_spec.rb +28 -0
  292. data/vendor/bundle/gems/addressable-2.3.6/spec/addressable/template_spec.rb +1328 -0
  293. data/vendor/bundle/gems/addressable-2.3.6/spec/addressable/uri_spec.rb +5940 -0
  294. data/vendor/bundle/gems/addressable-2.3.6/spec/spec_helper.rb +6 -0
  295. data/vendor/bundle/gems/addressable-2.3.6/tasks/clobber.rake +2 -0
  296. data/vendor/bundle/gems/addressable-2.3.6/tasks/gem.rake +86 -0
  297. data/vendor/bundle/gems/addressable-2.3.6/tasks/git.rake +45 -0
  298. data/vendor/bundle/gems/addressable-2.3.6/tasks/metrics.rake +22 -0
  299. data/vendor/bundle/gems/addressable-2.3.6/tasks/rspec.rake +58 -0
  300. data/vendor/bundle/gems/addressable-2.3.6/tasks/rubyforge.rake +73 -0
  301. data/vendor/bundle/gems/addressable-2.3.6/tasks/yard.rake +27 -0
  302. data/vendor/bundle/gems/addressable-2.3.6/website/index.html +110 -0
  303. data/vendor/bundle/gems/coderay-1.1.0/README_INDEX.rdoc +123 -0
  304. data/vendor/bundle/gems/coderay-1.1.0/Rakefile +37 -0
  305. data/vendor/bundle/gems/coderay-1.1.0/bin/coderay +215 -0
  306. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/duo.rb +81 -0
  307. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoder.rb +201 -0
  308. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/_map.rb +17 -0
  309. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/comment_filter.rb +25 -0
  310. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/count.rb +39 -0
  311. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/debug.rb +49 -0
  312. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/debug_lint.rb +63 -0
  313. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/div.rb +23 -0
  314. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/filter.rb +58 -0
  315. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/html/css.rb +65 -0
  316. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/html/numbering.rb +108 -0
  317. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/html/output.rb +166 -0
  318. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/html.rb +332 -0
  319. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/json.rb +83 -0
  320. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/lines_of_code.rb +45 -0
  321. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/lint.rb +59 -0
  322. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/null.rb +18 -0
  323. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/page.rb +24 -0
  324. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/span.rb +23 -0
  325. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/statistic.rb +95 -0
  326. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/terminal.rb +195 -0
  327. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/text.rb +46 -0
  328. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/token_kind_filter.rb +111 -0
  329. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/xml.rb +72 -0
  330. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/encoders/yaml.rb +50 -0
  331. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/for_redcloth.rb +95 -0
  332. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/helpers/file_type.rb +151 -0
  333. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/helpers/plugin.rb +274 -0
  334. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/helpers/word_list.rb +72 -0
  335. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanner.rb +355 -0
  336. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/_map.rb +24 -0
  337. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/c.rb +189 -0
  338. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/clojure.rb +217 -0
  339. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/cpp.rb +215 -0
  340. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/css.rb +196 -0
  341. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/debug.rb +75 -0
  342. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/delphi.rb +144 -0
  343. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/diff.rb +221 -0
  344. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/erb.rb +81 -0
  345. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/go.rb +208 -0
  346. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/groovy.rb +268 -0
  347. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/haml.rb +168 -0
  348. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/html.rb +275 -0
  349. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/java/builtin_types.rb +421 -0
  350. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/java.rb +174 -0
  351. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/java_script.rb +237 -0
  352. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/json.rb +98 -0
  353. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/lua.rb +280 -0
  354. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/php.rb +527 -0
  355. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/python.rb +287 -0
  356. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/raydebug.rb +75 -0
  357. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/ruby/patterns.rb +178 -0
  358. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/ruby/string_state.rb +71 -0
  359. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/ruby.rb +470 -0
  360. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/sass.rb +232 -0
  361. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/sql.rb +177 -0
  362. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/taskpaper.rb +36 -0
  363. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/text.rb +26 -0
  364. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/xml.rb +17 -0
  365. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/scanners/yaml.rb +140 -0
  366. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/style.rb +23 -0
  367. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/styles/_map.rb +7 -0
  368. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/styles/alpha.rb +152 -0
  369. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/token_kinds.rb +85 -0
  370. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/tokens.rb +161 -0
  371. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/tokens_proxy.rb +55 -0
  372. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay/version.rb +3 -0
  373. data/vendor/bundle/gems/coderay-1.1.0/lib/coderay.rb +284 -0
  374. data/vendor/bundle/gems/coderay-1.1.0/test/functional/basic.rb +318 -0
  375. data/vendor/bundle/gems/coderay-1.1.0/test/functional/examples.rb +129 -0
  376. data/vendor/bundle/gems/coderay-1.1.0/test/functional/for_redcloth.rb +78 -0
  377. data/vendor/bundle/gems/coderay-1.1.0/test/functional/suite.rb +15 -0
  378. data/vendor/bundle/gems/crack-0.4.2/.gitignore +8 -0
  379. data/vendor/bundle/gems/crack-0.4.2/Gemfile +6 -0
  380. data/vendor/bundle/gems/crack-0.4.2/History +25 -0
  381. data/vendor/bundle/gems/crack-0.4.2/LICENSE +20 -0
  382. data/vendor/bundle/gems/crack-0.4.2/README.md +44 -0
  383. data/vendor/bundle/gems/crack-0.4.2/crack.gemspec +20 -0
  384. data/vendor/bundle/gems/crack-0.4.2/lib/crack/json.rb +107 -0
  385. data/vendor/bundle/gems/crack-0.4.2/lib/crack/util.rb +17 -0
  386. data/vendor/bundle/gems/crack-0.4.2/lib/crack/version.rb +3 -0
  387. data/vendor/bundle/gems/crack-0.4.2/lib/crack/xml.rb +238 -0
  388. data/vendor/bundle/gems/crack-0.4.2/lib/crack.rb +7 -0
  389. data/vendor/bundle/gems/crack-0.4.2/script/bootstrap +21 -0
  390. data/vendor/bundle/gems/crack-0.4.2/script/release +42 -0
  391. data/vendor/bundle/gems/crack-0.4.2/script/test +25 -0
  392. data/vendor/bundle/gems/crack-0.4.2/test/data/twittersearch-firefox.json +1 -0
  393. data/vendor/bundle/gems/crack-0.4.2/test/data/twittersearch-ie.json +1 -0
  394. data/vendor/bundle/gems/crack-0.4.2/test/hash_test.rb +26 -0
  395. data/vendor/bundle/gems/crack-0.4.2/test/json_test.rb +80 -0
  396. data/vendor/bundle/gems/crack-0.4.2/test/parser_test.rb +27 -0
  397. data/vendor/bundle/gems/crack-0.4.2/test/string_test.rb +31 -0
  398. data/vendor/bundle/gems/crack-0.4.2/test/test_helper.rb +3 -0
  399. data/vendor/bundle/gems/crack-0.4.2/test/xml_test.rb +514 -0
  400. data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
  401. data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
  402. data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
  403. data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
  404. data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  405. data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  406. data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
  407. data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  408. data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  409. data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  410. data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  411. data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
  412. data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  413. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  414. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  415. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  416. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  417. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  418. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  419. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  420. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  421. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  422. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  423. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  424. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  425. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  426. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  427. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  428. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
  429. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
  430. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
  431. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
  432. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
  433. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
  434. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
  435. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
  436. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
  437. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
  438. data/vendor/bundle/gems/faraday-0.9.0/.document +6 -0
  439. data/vendor/bundle/gems/faraday-0.9.0/CHANGELOG.md +15 -0
  440. data/vendor/bundle/gems/faraday-0.9.0/CONTRIBUTING.md +36 -0
  441. data/vendor/bundle/gems/faraday-0.9.0/Gemfile +29 -0
  442. data/vendor/bundle/gems/faraday-0.9.0/LICENSE.md +20 -0
  443. data/vendor/bundle/gems/faraday-0.9.0/README.md +216 -0
  444. data/vendor/bundle/gems/faraday-0.9.0/Rakefile +71 -0
  445. data/vendor/bundle/gems/faraday-0.9.0/faraday.gemspec +34 -0
  446. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/em_http.rb +237 -0
  447. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/em_http_ssl_patch.rb +56 -0
  448. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/em_synchrony/parallel_manager.rb +66 -0
  449. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/em_synchrony.rb +92 -0
  450. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/excon.rb +80 -0
  451. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/httpclient.rb +106 -0
  452. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb +124 -0
  453. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/net_http_persistent.rb +47 -0
  454. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/patron.rb +68 -0
  455. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/rack.rb +58 -0
  456. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/test.rb +162 -0
  457. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter/typhoeus.rb +123 -0
  458. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/adapter.rb +46 -0
  459. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/autoload.rb +85 -0
  460. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/connection.rb +432 -0
  461. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/error.rb +53 -0
  462. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/middleware.rb +37 -0
  463. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/options.rb +350 -0
  464. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/parameters.rb +193 -0
  465. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/rack_builder.rb +212 -0
  466. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/authorization.rb +42 -0
  467. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/basic_authentication.rb +13 -0
  468. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/instrumentation.rb +36 -0
  469. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/multipart.rb +63 -0
  470. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/retry.rb +118 -0
  471. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/token_authentication.rb +15 -0
  472. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request/url_encoded.rb +36 -0
  473. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/request.rb +92 -0
  474. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/response/logger.rb +34 -0
  475. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/response/raise_error.rb +21 -0
  476. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/response.rb +93 -0
  477. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/upload_io.rb +67 -0
  478. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday/utils.rb +297 -0
  479. data/vendor/bundle/gems/faraday-0.9.0/lib/faraday.rb +268 -0
  480. data/vendor/bundle/gems/faraday-0.9.0/script/console +7 -0
  481. data/vendor/bundle/gems/faraday-0.9.0/script/generate_certs +42 -0
  482. data/vendor/bundle/gems/faraday-0.9.0/script/package +7 -0
  483. data/vendor/bundle/gems/faraday-0.9.0/script/proxy-server +42 -0
  484. data/vendor/bundle/gems/faraday-0.9.0/script/release +17 -0
  485. data/vendor/bundle/gems/faraday-0.9.0/script/server +36 -0
  486. data/vendor/bundle/gems/faraday-0.9.0/script/test +172 -0
  487. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/default_test.rb +14 -0
  488. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/em_http_test.rb +20 -0
  489. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/em_synchrony_test.rb +20 -0
  490. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/excon_test.rb +20 -0
  491. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/httpclient_test.rb +21 -0
  492. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/integration.rb +254 -0
  493. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/logger_test.rb +37 -0
  494. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/net_http_persistent_test.rb +20 -0
  495. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/net_http_test.rb +14 -0
  496. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/patron_test.rb +20 -0
  497. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/rack_test.rb +31 -0
  498. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/test_middleware_test.rb +114 -0
  499. data/vendor/bundle/gems/faraday-0.9.0/test/adapters/typhoeus_test.rb +28 -0
  500. data/vendor/bundle/gems/faraday-0.9.0/test/authentication_middleware_test.rb +65 -0
  501. data/vendor/bundle/gems/faraday-0.9.0/test/composite_read_io_test.rb +111 -0
  502. data/vendor/bundle/gems/faraday-0.9.0/test/connection_test.rb +522 -0
  503. data/vendor/bundle/gems/faraday-0.9.0/test/env_test.rb +210 -0
  504. data/vendor/bundle/gems/faraday-0.9.0/test/helper.rb +81 -0
  505. data/vendor/bundle/gems/faraday-0.9.0/test/live_server.rb +67 -0
  506. data/vendor/bundle/gems/faraday-0.9.0/test/middleware/instrumentation_test.rb +88 -0
  507. data/vendor/bundle/gems/faraday-0.9.0/test/middleware/retry_test.rb +109 -0
  508. data/vendor/bundle/gems/faraday-0.9.0/test/middleware_stack_test.rb +173 -0
  509. data/vendor/bundle/gems/faraday-0.9.0/test/multibyte.txt +1 -0
  510. data/vendor/bundle/gems/faraday-0.9.0/test/options_test.rb +252 -0
  511. data/vendor/bundle/gems/faraday-0.9.0/test/request_middleware_test.rb +142 -0
  512. data/vendor/bundle/gems/faraday-0.9.0/test/response_middleware_test.rb +72 -0
  513. data/vendor/bundle/gems/faraday-0.9.0/test/strawberry.rb +2 -0
  514. data/vendor/bundle/gems/faraday-0.9.0/test/utils_test.rb +58 -0
  515. data/vendor/bundle/gems/hashie-3.0.0/.gitignore +9 -0
  516. data/vendor/bundle/gems/hashie-3.0.0/.rspec +2 -0
  517. data/vendor/bundle/gems/hashie-3.0.0/.rubocop.yml +36 -0
  518. data/vendor/bundle/gems/hashie-3.0.0/.travis.yml +16 -0
  519. data/vendor/bundle/gems/hashie-3.0.0/.yardopts +1 -0
  520. data/vendor/bundle/gems/hashie-3.0.0/CHANGELOG.md +74 -0
  521. data/vendor/bundle/gems/hashie-3.0.0/CONTRIBUTING.md +118 -0
  522. data/vendor/bundle/gems/hashie-3.0.0/Gemfile +11 -0
  523. data/vendor/bundle/gems/hashie-3.0.0/Guardfile +5 -0
  524. data/vendor/bundle/gems/hashie-3.0.0/LICENSE +20 -0
  525. data/vendor/bundle/gems/hashie-3.0.0/README.md +340 -0
  526. data/vendor/bundle/gems/hashie-3.0.0/Rakefile +15 -0
  527. data/vendor/bundle/gems/hashie-3.0.0/UPGRADING.md +93 -0
  528. data/vendor/bundle/gems/hashie-3.0.0/hashie.gemspec +20 -0
  529. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/clash.rb +86 -0
  530. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/dash.rb +177 -0
  531. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/coercion.rb +119 -0
  532. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/dash/indifferent_access.rb +21 -0
  533. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/deep_fetch.rb +29 -0
  534. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/deep_merge.rb +30 -0
  535. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/ignore_undeclared.rb +45 -0
  536. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/indifferent_access.rb +147 -0
  537. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/key_conversion.rb +10 -0
  538. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/merge_initializer.rb +26 -0
  539. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/method_access.rb +124 -0
  540. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/pretty_inspect.rb +19 -0
  541. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/stringify_keys.rb +44 -0
  542. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/extensions/symbolize_keys.rb +44 -0
  543. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/hash.rb +55 -0
  544. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/mash.rb +251 -0
  545. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/rash.rb +119 -0
  546. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/trash.rb +99 -0
  547. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie/version.rb +3 -0
  548. data/vendor/bundle/gems/hashie-3.0.0/lib/hashie.rb +33 -0
  549. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/clash_spec.rb +48 -0
  550. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/dash_spec.rb +383 -0
  551. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/coercion_spec.rb +156 -0
  552. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/dash/indifferent_access_spec.rb +58 -0
  553. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/deep_fetch_spec.rb +97 -0
  554. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/deep_merge_spec.rb +22 -0
  555. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/ignore_undeclared_spec.rb +46 -0
  556. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/indifferent_access_spec.rb +152 -0
  557. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/key_conversion_spec.rb +103 -0
  558. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/merge_initializer_spec.rb +23 -0
  559. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/extensions/method_access_spec.rb +121 -0
  560. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/hash_spec.rb +58 -0
  561. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/mash_spec.rb +479 -0
  562. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/rash_spec.rb +44 -0
  563. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/trash_spec.rb +196 -0
  564. data/vendor/bundle/gems/hashie-3.0.0/spec/hashie/version_spec.rb +7 -0
  565. data/vendor/bundle/gems/hashie-3.0.0/spec/spec_helper.rb +7 -0
  566. data/vendor/bundle/gems/i18n-0.6.9/MIT-LICENSE +20 -0
  567. data/vendor/bundle/gems/i18n-0.6.9/README.textile +105 -0
  568. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.no-rails +5 -0
  569. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.no-rails.lock +14 -0
  570. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.rails-2.3.x +9 -0
  571. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.rails-2.3.x.lock +23 -0
  572. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.rails-3.x +9 -0
  573. data/vendor/bundle/gems/i18n-0.6.9/ci/Gemfile.rails-3.x.lock +23 -0
  574. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/base.rb +190 -0
  575. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/cache.rb +96 -0
  576. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/cascade.rb +54 -0
  577. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/chain.rb +83 -0
  578. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/fallbacks.rb +65 -0
  579. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/flatten.rb +113 -0
  580. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/gettext.rb +72 -0
  581. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/interpolation_compiler.rb +121 -0
  582. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/key_value.rb +101 -0
  583. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/memoize.rb +46 -0
  584. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/metadata.rb +65 -0
  585. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/pluralization.rb +53 -0
  586. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/simple.rb +87 -0
  587. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend/transliterator.rb +99 -0
  588. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/backend.rb +18 -0
  589. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/config.rb +121 -0
  590. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/core_ext/hash.rb +29 -0
  591. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/core_ext/kernel/surpress_warnings.rb +9 -0
  592. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/core_ext/string/interpolate.rb +105 -0
  593. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/exceptions.rb +128 -0
  594. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/gettext/helpers.rb +64 -0
  595. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/gettext/po_parser.rb +329 -0
  596. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/gettext.rb +25 -0
  597. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/interpolate/ruby.rb +37 -0
  598. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale/fallbacks.rb +96 -0
  599. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale/tag/parents.rb +22 -0
  600. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale/tag/rfc4646.rb +74 -0
  601. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale/tag/simple.rb +39 -0
  602. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale/tag.rb +28 -0
  603. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/locale.rb +6 -0
  604. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/basics.rb +59 -0
  605. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/defaults.rb +40 -0
  606. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/interpolation.rb +133 -0
  607. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/link.rb +56 -0
  608. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/localization/date.rb +91 -0
  609. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/localization/date_time.rb +82 -0
  610. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/localization/procs.rb +116 -0
  611. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/localization/time.rb +81 -0
  612. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/localization.rb +19 -0
  613. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/lookup.rb +81 -0
  614. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/pluralization.rb +35 -0
  615. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests/procs.rb +55 -0
  616. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/tests.rb +12 -0
  617. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n/version.rb +3 -0
  618. data/vendor/bundle/gems/i18n-0.6.9/lib/i18n.rb +367 -0
  619. data/vendor/bundle/gems/i18n-0.6.9/test/all.rb +8 -0
  620. data/vendor/bundle/gems/i18n-0.6.9/test/api/all_features_test.rb +58 -0
  621. data/vendor/bundle/gems/i18n-0.6.9/test/api/cascade_test.rb +28 -0
  622. data/vendor/bundle/gems/i18n-0.6.9/test/api/chain_test.rb +24 -0
  623. data/vendor/bundle/gems/i18n-0.6.9/test/api/fallbacks_test.rb +30 -0
  624. data/vendor/bundle/gems/i18n-0.6.9/test/api/key_value_test.rb +28 -0
  625. data/vendor/bundle/gems/i18n-0.6.9/test/api/memoize_test.rb +60 -0
  626. data/vendor/bundle/gems/i18n-0.6.9/test/api/override_test.rb +48 -0
  627. data/vendor/bundle/gems/i18n-0.6.9/test/api/pluralization_test.rb +30 -0
  628. data/vendor/bundle/gems/i18n-0.6.9/test/api/simple_test.rb +28 -0
  629. data/vendor/bundle/gems/i18n-0.6.9/test/backend/cache_test.rb +85 -0
  630. data/vendor/bundle/gems/i18n-0.6.9/test/backend/cascade_test.rb +85 -0
  631. data/vendor/bundle/gems/i18n-0.6.9/test/backend/chain_test.rb +76 -0
  632. data/vendor/bundle/gems/i18n-0.6.9/test/backend/exceptions_test.rb +35 -0
  633. data/vendor/bundle/gems/i18n-0.6.9/test/backend/fallbacks_test.rb +125 -0
  634. data/vendor/bundle/gems/i18n-0.6.9/test/backend/interpolation_compiler_test.rb +119 -0
  635. data/vendor/bundle/gems/i18n-0.6.9/test/backend/key_value_test.rb +46 -0
  636. data/vendor/bundle/gems/i18n-0.6.9/test/backend/memoize_test.rb +47 -0
  637. data/vendor/bundle/gems/i18n-0.6.9/test/backend/metadata_test.rb +47 -0
  638. data/vendor/bundle/gems/i18n-0.6.9/test/backend/pluralization_test.rb +44 -0
  639. data/vendor/bundle/gems/i18n-0.6.9/test/backend/simple_test.rb +83 -0
  640. data/vendor/bundle/gems/i18n-0.6.9/test/backend/transliterator_test.rb +85 -0
  641. data/vendor/bundle/gems/i18n-0.6.9/test/core_ext/hash_test.rb +30 -0
  642. data/vendor/bundle/gems/i18n-0.6.9/test/core_ext/string/interpolate_test.rb +99 -0
  643. data/vendor/bundle/gems/i18n-0.6.9/test/gettext/api_test.rb +206 -0
  644. data/vendor/bundle/gems/i18n-0.6.9/test/gettext/backend_test.rb +101 -0
  645. data/vendor/bundle/gems/i18n-0.6.9/test/i18n/exceptions_test.rb +120 -0
  646. data/vendor/bundle/gems/i18n-0.6.9/test/i18n/interpolate_test.rb +79 -0
  647. data/vendor/bundle/gems/i18n-0.6.9/test/i18n/load_path_test.rb +33 -0
  648. data/vendor/bundle/gems/i18n-0.6.9/test/i18n_test.rb +365 -0
  649. data/vendor/bundle/gems/i18n-0.6.9/test/locale/fallbacks_test.rb +136 -0
  650. data/vendor/bundle/gems/i18n-0.6.9/test/locale/tag/rfc4646_test.rb +142 -0
  651. data/vendor/bundle/gems/i18n-0.6.9/test/locale/tag/simple_test.rb +32 -0
  652. data/vendor/bundle/gems/i18n-0.6.9/test/run_all.rb +21 -0
  653. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/de.po +82 -0
  654. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/en.rb +3 -0
  655. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/en.yml +3 -0
  656. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/invalid/empty.yml +0 -0
  657. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/invalid/syntax.yml +4 -0
  658. data/vendor/bundle/gems/i18n-0.6.9/test/test_data/locales/plurals.rb +113 -0
  659. data/vendor/bundle/gems/i18n-0.6.9/test/test_helper.rb +56 -0
  660. data/vendor/bundle/gems/interception-0.5/.gitignore +9 -0
  661. data/vendor/bundle/gems/interception-0.5/.travis.yml +12 -0
  662. data/vendor/bundle/gems/interception-0.5/CHANGELOG.md +17 -0
  663. data/vendor/bundle/gems/interception-0.5/Gemfile +2 -0
  664. data/vendor/bundle/gems/interception-0.5/LICENSE.MIT +19 -0
  665. data/vendor/bundle/gems/interception-0.5/README.md +84 -0
  666. data/vendor/bundle/gems/interception-0.5/Rakefile +32 -0
  667. data/vendor/bundle/gems/interception-0.5/examples/example.rb +16 -0
  668. data/vendor/bundle/gems/interception-0.5/examples/example2.rb +17 -0
  669. data/vendor/bundle/gems/interception-0.5/ext/extconf.rb +25 -0
  670. data/vendor/bundle/gems/interception-0.5/ext/interception.c +80 -0
  671. data/vendor/bundle/gems/interception-0.5/ext/org/pryrepl/InterceptionEventHook.java +28 -0
  672. data/vendor/bundle/gems/interception-0.5/interception.gemspec +16 -0
  673. data/vendor/bundle/gems/interception-0.5/lib/cross_platform.rb +84 -0
  674. data/vendor/bundle/gems/interception-0.5/lib/interception.rb +120 -0
  675. data/vendor/bundle/gems/interception-0.5/spec/interception_spec.rb +156 -0
  676. data/vendor/bundle/gems/interception-0.5/spec/spec_helpers.rb +1 -0
  677. data/vendor/bundle/gems/method_source-0.8.2/.gemtest +0 -0
  678. data/vendor/bundle/gems/method_source-0.8.2/.travis.yml +13 -0
  679. data/vendor/bundle/gems/method_source-0.8.2/.yardopts +1 -0
  680. data/vendor/bundle/gems/method_source-0.8.2/Gemfile +2 -0
  681. data/vendor/bundle/gems/method_source-0.8.2/LICENSE +25 -0
  682. data/vendor/bundle/gems/method_source-0.8.2/README.markdown +91 -0
  683. data/vendor/bundle/gems/method_source-0.8.2/Rakefile +79 -0
  684. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/code_helpers.rb +154 -0
  685. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/source_location.rb +138 -0
  686. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/version.rb +3 -0
  687. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source.rb +141 -0
  688. data/vendor/bundle/gems/method_source-0.8.2/method_source.gemspec +33 -0
  689. data/vendor/bundle/gems/method_source-0.8.2/test/test.rb +138 -0
  690. data/vendor/bundle/gems/method_source-0.8.2/test/test_code_helpers.rb +41 -0
  691. data/vendor/bundle/gems/method_source-0.8.2/test/test_helper.rb +98 -0
  692. data/vendor/bundle/gems/mini_portile-0.6.0/History.txt +86 -0
  693. data/vendor/bundle/gems/mini_portile-0.6.0/LICENSE.txt +20 -0
  694. data/vendor/bundle/gems/mini_portile-0.6.0/README.rdoc +169 -0
  695. data/vendor/bundle/gems/mini_portile-0.6.0/Rakefile +53 -0
  696. data/vendor/bundle/gems/mini_portile-0.6.0/examples/Rakefile +113 -0
  697. data/vendor/bundle/gems/mini_portile-0.6.0/lib/mini_portile.rb +437 -0
  698. data/vendor/bundle/gems/minitest-5.3.4/.autotest +34 -0
  699. data/vendor/bundle/gems/minitest-5.3.4/.gemtest +0 -0
  700. data/vendor/bundle/gems/minitest-5.3.4/History.txt +1023 -0
  701. data/vendor/bundle/gems/minitest-5.3.4/Manifest.txt +26 -0
  702. data/vendor/bundle/gems/minitest-5.3.4/README.txt +543 -0
  703. data/vendor/bundle/gems/minitest-5.3.4/Rakefile +71 -0
  704. data/vendor/bundle/gems/minitest-5.3.4/design_rationale.rb +52 -0
  705. data/vendor/bundle/gems/minitest-5.3.4/lib/hoe/minitest.rb +26 -0
  706. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/assertions.rb +661 -0
  707. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/autorun.rb +12 -0
  708. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/benchmark.rb +423 -0
  709. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/expectations.rb +281 -0
  710. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/hell.rb +11 -0
  711. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/mock.rb +220 -0
  712. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/parallel.rb +40 -0
  713. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/pride.rb +4 -0
  714. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/pride_plugin.rb +142 -0
  715. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/spec.rb +294 -0
  716. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/test.rb +283 -0
  717. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest/unit.rb +45 -0
  718. data/vendor/bundle/gems/minitest-5.3.4/lib/minitest.rb +766 -0
  719. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/metametameta.rb +80 -0
  720. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/test_minitest_benchmark.rb +137 -0
  721. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/test_minitest_mock.rb +500 -0
  722. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/test_minitest_reporter.rb +313 -0
  723. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/test_minitest_spec.rb +832 -0
  724. data/vendor/bundle/gems/minitest-5.3.4/test/minitest/test_minitest_unit.rb +1865 -0
  725. data/vendor/bundle/gems/multipart-post-2.0.0/.gitignore +6 -0
  726. data/vendor/bundle/gems/multipart-post-2.0.0/.travis.yml +7 -0
  727. data/vendor/bundle/gems/multipart-post-2.0.0/Gemfile +14 -0
  728. data/vendor/bundle/gems/multipart-post-2.0.0/History.txt +60 -0
  729. data/vendor/bundle/gems/multipart-post-2.0.0/Manifest.txt +9 -0
  730. data/vendor/bundle/gems/multipart-post-2.0.0/README.md +77 -0
  731. data/vendor/bundle/gems/multipart-post-2.0.0/Rakefile +9 -0
  732. data/vendor/bundle/gems/multipart-post-2.0.0/lib/composite_io.rb +108 -0
  733. data/vendor/bundle/gems/multipart-post-2.0.0/lib/multipart_post.rb +9 -0
  734. data/vendor/bundle/gems/multipart-post-2.0.0/lib/multipartable.rb +29 -0
  735. data/vendor/bundle/gems/multipart-post-2.0.0/lib/net/http/post/multipart.rb +27 -0
  736. data/vendor/bundle/gems/multipart-post-2.0.0/lib/parts.rb +96 -0
  737. data/vendor/bundle/gems/multipart-post-2.0.0/multipart-post.gemspec +22 -0
  738. data/vendor/bundle/gems/multipart-post-2.0.0/test/multibyte.txt +1 -0
  739. data/vendor/bundle/gems/multipart-post-2.0.0/test/net/http/post/test_multipart.rb +110 -0
  740. data/vendor/bundle/gems/multipart-post-2.0.0/test/test_composite_io.rb +115 -0
  741. data/vendor/bundle/gems/multipart-post-2.0.0/test/test_parts.rb +86 -0
  742. data/vendor/bundle/gems/nokogiri-1.6.2.1/.autotest +26 -0
  743. data/vendor/bundle/gems/nokogiri-1.6.2.1/.editorconfig +17 -0
  744. data/vendor/bundle/gems/nokogiri-1.6.2.1/.gemtest +0 -0
  745. data/vendor/bundle/gems/nokogiri-1.6.2.1/.travis.yml +27 -0
  746. data/vendor/bundle/gems/nokogiri-1.6.2.1/CHANGELOG.ja.rdoc +890 -0
  747. data/vendor/bundle/gems/nokogiri-1.6.2.1/CHANGELOG.rdoc +899 -0
  748. data/vendor/bundle/gems/nokogiri-1.6.2.1/C_CODING_STYLE.rdoc +33 -0
  749. data/vendor/bundle/gems/nokogiri-1.6.2.1/Gemfile +21 -0
  750. data/vendor/bundle/gems/nokogiri-1.6.2.1/Manifest.txt +377 -0
  751. data/vendor/bundle/gems/nokogiri-1.6.2.1/README.ja.rdoc +111 -0
  752. data/vendor/bundle/gems/nokogiri-1.6.2.1/README.rdoc +180 -0
  753. data/vendor/bundle/gems/nokogiri-1.6.2.1/ROADMAP.md +89 -0
  754. data/vendor/bundle/gems/nokogiri-1.6.2.1/Rakefile +356 -0
  755. data/vendor/bundle/gems/nokogiri-1.6.2.1/STANDARD_RESPONSES.md +47 -0
  756. data/vendor/bundle/gems/nokogiri-1.6.2.1/Y_U_NO_GEMSPEC.md +155 -0
  757. data/vendor/bundle/gems/nokogiri-1.6.2.1/bin/nokogiri +78 -0
  758. data/vendor/bundle/gems/nokogiri-1.6.2.1/build_all +130 -0
  759. data/vendor/bundle/gems/nokogiri-1.6.2.1/dependencies.yml +4 -0
  760. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/.RUBYARCHDIR.-.nokogiri.time +0 -0
  761. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/Makefile +601 -0
  762. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/depend +358 -0
  763. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/extconf.rb +543 -0
  764. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_document.c +170 -0
  765. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_document.h +10 -0
  766. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_element_description.c +279 -0
  767. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_element_description.h +10 -0
  768. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_entity_lookup.c +32 -0
  769. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_entity_lookup.h +8 -0
  770. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_sax_parser_context.c +116 -0
  771. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_sax_parser_context.h +11 -0
  772. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_sax_push_parser.c +87 -0
  773. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/html_sax_push_parser.h +9 -0
  774. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/nokogiri.c +148 -0
  775. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/nokogiri.h +164 -0
  776. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_attr.c +94 -0
  777. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_attr.h +9 -0
  778. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_attribute_decl.c +70 -0
  779. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_attribute_decl.h +9 -0
  780. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_cdata.c +56 -0
  781. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_cdata.h +9 -0
  782. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_comment.c +54 -0
  783. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_comment.h +9 -0
  784. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_document.c +577 -0
  785. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_document.h +23 -0
  786. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_document_fragment.c +48 -0
  787. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_document_fragment.h +10 -0
  788. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_dtd.c +202 -0
  789. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_dtd.h +10 -0
  790. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_element_content.c +123 -0
  791. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_element_content.h +10 -0
  792. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_element_decl.c +69 -0
  793. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_element_decl.h +9 -0
  794. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_encoding_handler.c +79 -0
  795. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_encoding_handler.h +8 -0
  796. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_entity_decl.c +110 -0
  797. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_entity_decl.h +10 -0
  798. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_entity_reference.c +52 -0
  799. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_entity_reference.h +9 -0
  800. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_io.c +56 -0
  801. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_io.h +11 -0
  802. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  803. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  804. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_namespace.c +78 -0
  805. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_namespace.h +13 -0
  806. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_node.c +1603 -0
  807. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_node.h +13 -0
  808. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_node_set.c +467 -0
  809. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_node_set.h +14 -0
  810. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_processing_instruction.c +56 -0
  811. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_processing_instruction.h +9 -0
  812. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_reader.c +681 -0
  813. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_reader.h +10 -0
  814. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_relax_ng.c +161 -0
  815. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_relax_ng.h +9 -0
  816. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_parser.c +312 -0
  817. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_parser.h +39 -0
  818. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_parser_context.c +262 -0
  819. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_parser_context.h +10 -0
  820. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_push_parser.c +115 -0
  821. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_sax_push_parser.h +9 -0
  822. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_schema.c +205 -0
  823. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_schema.h +9 -0
  824. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_syntax_error.c +63 -0
  825. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_syntax_error.h +13 -0
  826. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_text.c +52 -0
  827. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_text.h +9 -0
  828. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_xpath_context.c +307 -0
  829. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xml_xpath_context.h +10 -0
  830. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xslt_stylesheet.c +270 -0
  831. data/vendor/bundle/gems/nokogiri-1.6.2.1/ext/nokogiri/xslt_stylesheet.h +14 -0
  832. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/node.rb +52 -0
  833. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/parser.rb +715 -0
  834. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/parser.y +249 -0
  835. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/parser_extras.rb +91 -0
  836. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/syntax_error.rb +7 -0
  837. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/tokenizer.rb +152 -0
  838. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/tokenizer.rex +55 -0
  839. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css/xpath_visitor.rb +219 -0
  840. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/css.rb +27 -0
  841. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/decorators/slop.rb +35 -0
  842. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/builder.rb +35 -0
  843. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/document.rb +333 -0
  844. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/document_fragment.rb +41 -0
  845. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/element_description.rb +23 -0
  846. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/element_description_defaults.rb +671 -0
  847. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/entity_lookup.rb +13 -0
  848. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/sax/parser.rb +52 -0
  849. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/sax/parser_context.rb +16 -0
  850. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html/sax/push_parser.rb +16 -0
  851. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/html.rb +37 -0
  852. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/syntax_error.rb +4 -0
  853. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/version.rb +106 -0
  854. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/attr.rb +14 -0
  855. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/attribute_decl.rb +18 -0
  856. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/builder.rb +443 -0
  857. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/cdata.rb +11 -0
  858. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/character_data.rb +7 -0
  859. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/document.rb +279 -0
  860. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/document_fragment.rb +112 -0
  861. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/dtd.rb +32 -0
  862. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/element_content.rb +36 -0
  863. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/element_decl.rb +13 -0
  864. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/entity_decl.rb +19 -0
  865. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/namespace.rb +13 -0
  866. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/node/save_options.rb +61 -0
  867. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/node.rb +982 -0
  868. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/node_set.rb +355 -0
  869. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/notation.rb +6 -0
  870. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/parse_options.rb +98 -0
  871. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/pp/character_data.rb +18 -0
  872. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/pp/node.rb +56 -0
  873. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/pp.rb +2 -0
  874. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/processing_instruction.rb +8 -0
  875. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/reader.rb +112 -0
  876. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/relax_ng.rb +32 -0
  877. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/sax/document.rb +171 -0
  878. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/sax/parser.rb +123 -0
  879. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  880. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  881. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/sax.rb +4 -0
  882. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/schema.rb +63 -0
  883. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/syntax_error.rb +47 -0
  884. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/text.rb +9 -0
  885. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  886. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/xpath.rb +10 -0
  887. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml/xpath_context.rb +16 -0
  888. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xml.rb +73 -0
  889. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xslt/stylesheet.rb +25 -0
  890. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri/xslt.rb +56 -0
  891. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/nokogiri.rb +137 -0
  892. data/vendor/bundle/gems/nokogiri-1.6.2.1/lib/xsd/xmlparser/nokogiri.rb +102 -0
  893. data/vendor/bundle/gems/nokogiri-1.6.2.1/suppressions/README.txt +1 -0
  894. data/vendor/bundle/gems/nokogiri-1.6.2.1/suppressions/nokogiri_ree-1.8.7.358.supp +61 -0
  895. data/vendor/bundle/gems/nokogiri-1.6.2.1/suppressions/nokogiri_ruby-1.8.7.370.supp +0 -0
  896. data/vendor/bundle/gems/nokogiri-1.6.2.1/suppressions/nokogiri_ruby-1.9.2.320.supp +28 -0
  897. data/vendor/bundle/gems/nokogiri-1.6.2.1/suppressions/nokogiri_ruby-1.9.3.327.supp +28 -0
  898. data/vendor/bundle/gems/nokogiri-1.6.2.1/tasks/nokogiri.org.rb +24 -0
  899. data/vendor/bundle/gems/nokogiri-1.6.2.1/tasks/test.rb +95 -0
  900. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/css/test_nthiness.rb +222 -0
  901. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/css/test_parser.rb +358 -0
  902. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/css/test_tokenizer.rb +198 -0
  903. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/css/test_xpath_visitor.rb +96 -0
  904. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/decorators/test_slop.rb +16 -0
  905. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/2ch.html +108 -0
  906. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/address_book.rlx +12 -0
  907. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/address_book.xml +10 -0
  908. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/atom.xml +344 -0
  909. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/bar/bar.xsd +4 -0
  910. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/bogus.xml +0 -0
  911. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/dont_hurt_em_why.xml +422 -0
  912. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/encoding.html +82 -0
  913. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/encoding.xhtml +84 -0
  914. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/exslt.xml +8 -0
  915. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/exslt.xslt +35 -0
  916. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/foo/foo.xsd +4 -0
  917. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/metacharset.html +10 -0
  918. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/noencoding.html +47 -0
  919. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/po.xml +32 -0
  920. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/po.xsd +66 -0
  921. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/saml/saml20assertion_schema.xsd +283 -0
  922. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/saml/saml20protocol_schema.xsd +302 -0
  923. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/saml/xenc_schema.xsd +146 -0
  924. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/saml/xmldsig_schema.xsd +318 -0
  925. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/shift_jis.html +10 -0
  926. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/shift_jis.xml +5 -0
  927. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/shift_jis_no_charset.html +9 -0
  928. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/slow-xpath.xml +25509 -0
  929. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/snuggles.xml +3 -0
  930. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/staff.dtd +10 -0
  931. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/staff.xml +59 -0
  932. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/staff.xslt +32 -0
  933. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/test_document_url/bar.xml +2 -0
  934. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/test_document_url/document.dtd +4 -0
  935. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/test_document_url/document.xml +6 -0
  936. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/tlm.html +850 -0
  937. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/to_be_xincluded.xml +2 -0
  938. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/valid_bar.xml +2 -0
  939. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/files/xinclude.xml +4 -0
  940. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/helper.rb +164 -0
  941. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/sax/test_parser.rb +141 -0
  942. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/sax/test_parser_context.rb +46 -0
  943. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_builder.rb +164 -0
  944. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_document.rb +619 -0
  945. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_document_encoding.rb +148 -0
  946. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_document_fragment.rb +267 -0
  947. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_element_description.rb +105 -0
  948. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_named_characters.rb +14 -0
  949. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_node.rb +196 -0
  950. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/html/test_node_encoding.rb +27 -0
  951. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_additional_namespaces_in_builder_doc.rb +14 -0
  952. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_aliased_default.rb +24 -0
  953. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_in_builder_doc.rb +75 -0
  954. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_in_cloned_doc.rb +31 -0
  955. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_in_created_doc.rb +75 -0
  956. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_in_parsed_doc.rb +66 -0
  957. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/namespaces/test_namespaces_preservation.rb +31 -0
  958. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_convert_xpath.rb +135 -0
  959. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_css_cache.rb +45 -0
  960. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_encoding_handler.rb +46 -0
  961. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_memory_leak.rb +156 -0
  962. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_nokogiri.rb +138 -0
  963. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_reader.rb +558 -0
  964. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_soap4r_sax.rb +52 -0
  965. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/test_xslt_transforms.rb +279 -0
  966. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/node/test_save_options.rb +28 -0
  967. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/node/test_subclass.rb +44 -0
  968. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/sax/test_parser.rb +382 -0
  969. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/sax/test_parser_context.rb +115 -0
  970. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/sax/test_push_parser.rb +157 -0
  971. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_attr.rb +64 -0
  972. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_attribute_decl.rb +86 -0
  973. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_builder.rb +315 -0
  974. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_c14n.rb +161 -0
  975. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_cdata.rb +48 -0
  976. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_comment.rb +29 -0
  977. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_document.rb +934 -0
  978. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_document_encoding.rb +28 -0
  979. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_document_fragment.rb +228 -0
  980. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_dtd.rb +187 -0
  981. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_dtd_encoding.rb +33 -0
  982. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_element_content.rb +56 -0
  983. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_element_decl.rb +73 -0
  984. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_entity_decl.rb +122 -0
  985. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_entity_reference.rb +245 -0
  986. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_namespace.rb +95 -0
  987. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node.rb +1155 -0
  988. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node_attributes.rb +113 -0
  989. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node_encoding.rb +107 -0
  990. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node_inheritance.rb +32 -0
  991. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node_reparenting.rb +374 -0
  992. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_node_set.rb +755 -0
  993. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_parse_options.rb +64 -0
  994. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_processing_instruction.rb +30 -0
  995. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_reader_encoding.rb +142 -0
  996. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_relax_ng.rb +60 -0
  997. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_schema.rb +129 -0
  998. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_syntax_error.rb +12 -0
  999. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_text.rb +60 -0
  1000. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_unparented_node.rb +422 -0
  1001. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_xinclude.rb +83 -0
  1002. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xml/test_xpath.rb +382 -0
  1003. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xslt/test_custom_functions.rb +133 -0
  1004. data/vendor/bundle/gems/nokogiri-1.6.2.1/test/xslt/test_exception_handling.rb +37 -0
  1005. data/vendor/bundle/gems/nokogiri-1.6.2.1/test_all +81 -0
  1006. data/vendor/bundle/gems/pry-0.10.0/CHANGELOG.md +702 -0
  1007. data/vendor/bundle/gems/pry-0.10.0/LICENSE +25 -0
  1008. data/vendor/bundle/gems/pry-0.10.0/README.md +406 -0
  1009. data/vendor/bundle/gems/pry-0.10.0/bin/pry +16 -0
  1010. data/vendor/bundle/gems/pry-0.10.0/lib/pry/cli.rb +220 -0
  1011. data/vendor/bundle/gems/pry-0.10.0/lib/pry/code/code_file.rb +103 -0
  1012. data/vendor/bundle/gems/pry-0.10.0/lib/pry/code/code_range.rb +71 -0
  1013. data/vendor/bundle/gems/pry-0.10.0/lib/pry/code/loc.rb +92 -0
  1014. data/vendor/bundle/gems/pry-0.10.0/lib/pry/code.rb +341 -0
  1015. data/vendor/bundle/gems/pry-0.10.0/lib/pry/code_object.rb +172 -0
  1016. data/vendor/bundle/gems/pry-0.10.0/lib/pry/color_printer.rb +55 -0
  1017. data/vendor/bundle/gems/pry-0.10.0/lib/pry/command.rb +692 -0
  1018. data/vendor/bundle/gems/pry-0.10.0/lib/pry/command_set.rb +443 -0
  1019. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/amend_line.rb +99 -0
  1020. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/bang.rb +20 -0
  1021. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/bang_pry.rb +17 -0
  1022. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cat/abstract_formatter.rb +27 -0
  1023. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cat/exception_formatter.rb +77 -0
  1024. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cat/file_formatter.rb +67 -0
  1025. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cat/input_expression_formatter.rb +43 -0
  1026. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cat.rb +62 -0
  1027. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/cd.rb +41 -0
  1028. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/change_inspector.rb +27 -0
  1029. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/change_prompt.rb +26 -0
  1030. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/code_collector.rb +165 -0
  1031. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/disable_pry.rb +27 -0
  1032. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/disabled_commands.rb +2 -0
  1033. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/easter_eggs.rb +112 -0
  1034. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/edit/exception_patcher.rb +25 -0
  1035. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/edit/file_and_line_locator.rb +36 -0
  1036. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/edit.rb +195 -0
  1037. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/exit.rb +42 -0
  1038. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/exit_all.rb +29 -0
  1039. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/exit_program.rb +23 -0
  1040. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/find_method.rb +193 -0
  1041. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/fix_indent.rb +19 -0
  1042. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/gem_cd.rb +26 -0
  1043. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/gem_install.rb +32 -0
  1044. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/gem_list.rb +33 -0
  1045. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/gem_open.rb +29 -0
  1046. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/gist.rb +101 -0
  1047. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/help.rb +164 -0
  1048. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/hist.rb +180 -0
  1049. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/import_set.rb +22 -0
  1050. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/install_command.rb +53 -0
  1051. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/jump_to.rb +29 -0
  1052. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/list_inspectors.rb +35 -0
  1053. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/list_prompts.rb +35 -0
  1054. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/constants.rb +47 -0
  1055. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/formatter.rb +49 -0
  1056. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/globals.rb +48 -0
  1057. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/grep.rb +21 -0
  1058. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/instance_vars.rb +39 -0
  1059. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/interrogatable.rb +18 -0
  1060. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/jruby_hacks.rb +49 -0
  1061. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/local_names.rb +35 -0
  1062. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/local_vars.rb +39 -0
  1063. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/ls_entity.rb +70 -0
  1064. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/methods.rb +57 -0
  1065. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/methods_helper.rb +46 -0
  1066. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls/self_methods.rb +32 -0
  1067. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ls.rb +114 -0
  1068. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/nesting.rb +25 -0
  1069. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/play.rb +103 -0
  1070. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/pry_backtrace.rb +25 -0
  1071. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/pry_version.rb +17 -0
  1072. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/raise_up.rb +32 -0
  1073. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/reload_code.rb +62 -0
  1074. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/reset.rb +18 -0
  1075. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/ri.rb +60 -0
  1076. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/save_file.rb +61 -0
  1077. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/shell_command.rb +48 -0
  1078. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/shell_mode.rb +25 -0
  1079. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/show_doc.rb +83 -0
  1080. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/show_info.rb +195 -0
  1081. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/show_input.rb +17 -0
  1082. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/show_source.rb +50 -0
  1083. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/simple_prompt.rb +22 -0
  1084. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/stat.rb +40 -0
  1085. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/switch_to.rb +23 -0
  1086. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/toggle_color.rb +24 -0
  1087. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/watch_expression/expression.rb +38 -0
  1088. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/watch_expression.rb +105 -0
  1089. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/whereami.rb +190 -0
  1090. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands/wtf.rb +57 -0
  1091. data/vendor/bundle/gems/pry-0.10.0/lib/pry/commands.rb +6 -0
  1092. data/vendor/bundle/gems/pry-0.10.0/lib/pry/config/behavior.rb +139 -0
  1093. data/vendor/bundle/gems/pry-0.10.0/lib/pry/config/convenience.rb +26 -0
  1094. data/vendor/bundle/gems/pry-0.10.0/lib/pry/config/default.rb +165 -0
  1095. data/vendor/bundle/gems/pry-0.10.0/lib/pry/config.rb +24 -0
  1096. data/vendor/bundle/gems/pry-0.10.0/lib/pry/core_extensions.rb +131 -0
  1097. data/vendor/bundle/gems/pry-0.10.0/lib/pry/editor.rb +133 -0
  1098. data/vendor/bundle/gems/pry-0.10.0/lib/pry/exceptions.rb +77 -0
  1099. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/base_helpers.rb +113 -0
  1100. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/command_helpers.rb +156 -0
  1101. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/documentation_helpers.rb +75 -0
  1102. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/options_helpers.rb +27 -0
  1103. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/table.rb +109 -0
  1104. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers/text.rb +107 -0
  1105. data/vendor/bundle/gems/pry-0.10.0/lib/pry/helpers.rb +5 -0
  1106. data/vendor/bundle/gems/pry-0.10.0/lib/pry/history.rb +125 -0
  1107. data/vendor/bundle/gems/pry-0.10.0/lib/pry/history_array.rb +121 -0
  1108. data/vendor/bundle/gems/pry-0.10.0/lib/pry/hooks.rb +230 -0
  1109. data/vendor/bundle/gems/pry-0.10.0/lib/pry/indent.rb +406 -0
  1110. data/vendor/bundle/gems/pry-0.10.0/lib/pry/input_completer.rb +242 -0
  1111. data/vendor/bundle/gems/pry-0.10.0/lib/pry/input_lock.rb +132 -0
  1112. data/vendor/bundle/gems/pry-0.10.0/lib/pry/inspector.rb +27 -0
  1113. data/vendor/bundle/gems/pry-0.10.0/lib/pry/last_exception.rb +61 -0
  1114. data/vendor/bundle/gems/pry-0.10.0/lib/pry/method/disowned.rb +53 -0
  1115. data/vendor/bundle/gems/pry-0.10.0/lib/pry/method/patcher.rb +125 -0
  1116. data/vendor/bundle/gems/pry-0.10.0/lib/pry/method/weird_method_locator.rb +186 -0
  1117. data/vendor/bundle/gems/pry-0.10.0/lib/pry/method.rb +546 -0
  1118. data/vendor/bundle/gems/pry-0.10.0/lib/pry/module_candidate.rb +136 -0
  1119. data/vendor/bundle/gems/pry-0.10.0/lib/pry/object_path.rb +82 -0
  1120. data/vendor/bundle/gems/pry-0.10.0/lib/pry/output.rb +50 -0
  1121. data/vendor/bundle/gems/pry-0.10.0/lib/pry/pager.rb +235 -0
  1122. data/vendor/bundle/gems/pry-0.10.0/lib/pry/plugins.rb +103 -0
  1123. data/vendor/bundle/gems/pry-0.10.0/lib/pry/prompt.rb +26 -0
  1124. data/vendor/bundle/gems/pry-0.10.0/lib/pry/pry_class.rb +375 -0
  1125. data/vendor/bundle/gems/pry-0.10.0/lib/pry/pry_instance.rb +654 -0
  1126. data/vendor/bundle/gems/pry-0.10.0/lib/pry/rbx_path.rb +22 -0
  1127. data/vendor/bundle/gems/pry-0.10.0/lib/pry/repl.rb +202 -0
  1128. data/vendor/bundle/gems/pry-0.10.0/lib/pry/repl_file_loader.rb +74 -0
  1129. data/vendor/bundle/gems/pry-0.10.0/lib/pry/rubygem.rb +82 -0
  1130. data/vendor/bundle/gems/pry-0.10.0/lib/pry/terminal.rb +79 -0
  1131. data/vendor/bundle/gems/pry-0.10.0/lib/pry/test/helper.rb +170 -0
  1132. data/vendor/bundle/gems/pry-0.10.0/lib/pry/version.rb +3 -0
  1133. data/vendor/bundle/gems/pry-0.10.0/lib/pry/wrapped_module.rb +373 -0
  1134. data/vendor/bundle/gems/pry-0.10.0/lib/pry.rb +161 -0
  1135. data/vendor/bundle/gems/pry-rescue-1.4.1/.gitignore +6 -0
  1136. data/vendor/bundle/gems/pry-rescue-1.4.1/.travis.yml +7 -0
  1137. data/vendor/bundle/gems/pry-rescue-1.4.1/Gemfile +2 -0
  1138. data/vendor/bundle/gems/pry-rescue-1.4.1/LICENSE.MIT +19 -0
  1139. data/vendor/bundle/gems/pry-rescue-1.4.1/README.md +324 -0
  1140. data/vendor/bundle/gems/pry-rescue-1.4.1/Rakefile +30 -0
  1141. data/vendor/bundle/gems/pry-rescue-1.4.1/bin/kill-pry-rescue +37 -0
  1142. data/vendor/bundle/gems/pry-rescue-1.4.1/bin/rescue +55 -0
  1143. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/capybara_spec.rb +15 -0
  1144. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/example.rb +29 -0
  1145. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/example2.rb +28 -0
  1146. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/example_spec.rb +12 -0
  1147. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/loop.rb +18 -0
  1148. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/random-exit.rb +22 -0
  1149. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/rescue.rb +32 -0
  1150. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/sigsegv.rb +24 -0
  1151. data/vendor/bundle/gems/pry-rescue-1.4.1/examples/syntax-err.rb +1 -0
  1152. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry/rescue.rb +2 -0
  1153. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/cli.rb +1 -0
  1154. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/commands.rb +74 -0
  1155. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/core_ext.rb +100 -0
  1156. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/kernel_exit_hooks.rb +20 -0
  1157. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/minitest.rb +45 -0
  1158. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek/exit.rb +2 -0
  1159. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek/int.rb +2 -0
  1160. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek/quit.rb +2 -0
  1161. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek/usr1.rb +2 -0
  1162. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek/usr2.rb +2 -0
  1163. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/peek.rb +18 -0
  1164. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/rack.rb +19 -0
  1165. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/rails.rb +14 -0
  1166. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue/rspec.rb +58 -0
  1167. data/vendor/bundle/gems/pry-rescue-1.4.1/lib/pry-rescue.rb +209 -0
  1168. data/vendor/bundle/gems/pry-rescue-1.4.1/pry-rescue.gemspec +23 -0
  1169. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/commands_spec.rb +121 -0
  1170. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/core_ext_spec.rb +100 -0
  1171. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/coderay.rb +3 -0
  1172. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/initial.rb +13 -0
  1173. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/raiseother.rb +13 -0
  1174. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/reraise.rb +13 -0
  1175. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/simple.rb +1 -0
  1176. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/super.rb +17 -0
  1177. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/fixtures/uri.rb +2 -0
  1178. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/peek_spec.rb +29 -0
  1179. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/pry_rescue_spec.rb +114 -0
  1180. data/vendor/bundle/gems/pry-rescue-1.4.1/spec/spec_helper.rb +6 -0
  1181. data/vendor/bundle/gems/rake-10.3.2/.autotest +7 -0
  1182. data/vendor/bundle/gems/rake-10.3.2/.gemtest +0 -0
  1183. data/vendor/bundle/gems/rake-10.3.2/.rubocop.yml +27 -0
  1184. data/vendor/bundle/gems/rake-10.3.2/.togglerc +7 -0
  1185. data/vendor/bundle/gems/rake-10.3.2/CONTRIBUTING.rdoc +34 -0
  1186. data/vendor/bundle/gems/rake-10.3.2/History.rdoc +609 -0
  1187. data/vendor/bundle/gems/rake-10.3.2/MIT-LICENSE +21 -0
  1188. data/vendor/bundle/gems/rake-10.3.2/Manifest.txt +162 -0
  1189. data/vendor/bundle/gems/rake-10.3.2/README.rdoc +137 -0
  1190. data/vendor/bundle/gems/rake-10.3.2/Rakefile +81 -0
  1191. data/vendor/bundle/gems/rake-10.3.2/bin/rake +33 -0
  1192. data/vendor/bundle/gems/rake-10.3.2/lib/rake/alt_system.rb +110 -0
  1193. data/vendor/bundle/gems/rake-10.3.2/lib/rake/application.rb +783 -0
  1194. data/vendor/bundle/gems/rake-10.3.2/lib/rake/backtrace.rb +23 -0
  1195. data/vendor/bundle/gems/rake-10.3.2/lib/rake/clean.rb +76 -0
  1196. data/vendor/bundle/gems/rake-10.3.2/lib/rake/cloneable.rb +16 -0
  1197. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
  1198. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +21 -0
  1199. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +137 -0
  1200. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +81 -0
  1201. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  1202. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +61 -0
  1203. data/vendor/bundle/gems/rake-10.3.2/lib/rake/contrib/sys.rb +4 -0
  1204. data/vendor/bundle/gems/rake-10.3.2/lib/rake/cpu_counter.rb +109 -0
  1205. data/vendor/bundle/gems/rake-10.3.2/lib/rake/default_loader.rb +14 -0
  1206. data/vendor/bundle/gems/rake-10.3.2/lib/rake/dsl_definition.rb +198 -0
  1207. data/vendor/bundle/gems/rake-10.3.2/lib/rake/early_time.rb +21 -0
  1208. data/vendor/bundle/gems/rake-10.3.2/lib/rake/ext/core.rb +25 -0
  1209. data/vendor/bundle/gems/rake-10.3.2/lib/rake/ext/module.rb +1 -0
  1210. data/vendor/bundle/gems/rake-10.3.2/lib/rake/ext/string.rb +173 -0
  1211. data/vendor/bundle/gems/rake-10.3.2/lib/rake/ext/time.rb +15 -0
  1212. data/vendor/bundle/gems/rake-10.3.2/lib/rake/file_creation_task.rb +24 -0
  1213. data/vendor/bundle/gems/rake-10.3.2/lib/rake/file_list.rb +414 -0
  1214. data/vendor/bundle/gems/rake-10.3.2/lib/rake/file_task.rb +46 -0
  1215. data/vendor/bundle/gems/rake-10.3.2/lib/rake/file_utils.rb +116 -0
  1216. data/vendor/bundle/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +144 -0
  1217. data/vendor/bundle/gems/rake-10.3.2/lib/rake/gempackagetask.rb +4 -0
  1218. data/vendor/bundle/gems/rake-10.3.2/lib/rake/invocation_chain.rb +56 -0
  1219. data/vendor/bundle/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +16 -0
  1220. data/vendor/bundle/gems/rake-10.3.2/lib/rake/linked_list.rb +103 -0
  1221. data/vendor/bundle/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +40 -0
  1222. data/vendor/bundle/gems/rake-10.3.2/lib/rake/multi_task.rb +13 -0
  1223. data/vendor/bundle/gems/rake-10.3.2/lib/rake/name_space.rb +38 -0
  1224. data/vendor/bundle/gems/rake-10.3.2/lib/rake/packagetask.rb +202 -0
  1225. data/vendor/bundle/gems/rake-10.3.2/lib/rake/pathmap.rb +3 -0
  1226. data/vendor/bundle/gems/rake-10.3.2/lib/rake/phony.rb +15 -0
  1227. data/vendor/bundle/gems/rake-10.3.2/lib/rake/private_reader.rb +20 -0
  1228. data/vendor/bundle/gems/rake-10.3.2/lib/rake/promise.rb +99 -0
  1229. data/vendor/bundle/gems/rake-10.3.2/lib/rake/pseudo_status.rb +29 -0
  1230. data/vendor/bundle/gems/rake-10.3.2/lib/rake/rake_module.rb +38 -0
  1231. data/vendor/bundle/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +22 -0
  1232. data/vendor/bundle/gems/rake-10.3.2/lib/rake/rdoctask.rb +4 -0
  1233. data/vendor/bundle/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
  1234. data/vendor/bundle/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1235. data/vendor/bundle/gems/rake-10.3.2/lib/rake/runtest.rb +27 -0
  1236. data/vendor/bundle/gems/rake-10.3.2/lib/rake/scope.rb +42 -0
  1237. data/vendor/bundle/gems/rake-10.3.2/lib/rake/task.rb +383 -0
  1238. data/vendor/bundle/gems/rake-10.3.2/lib/rake/task_argument_error.rb +7 -0
  1239. data/vendor/bundle/gems/rake-10.3.2/lib/rake/task_arguments.rb +98 -0
  1240. data/vendor/bundle/gems/rake-10.3.2/lib/rake/task_manager.rb +310 -0
  1241. data/vendor/bundle/gems/rake-10.3.2/lib/rake/tasklib.rb +24 -0
  1242. data/vendor/bundle/gems/rake-10.3.2/lib/rake/testtask.rb +212 -0
  1243. data/vendor/bundle/gems/rake-10.3.2/lib/rake/thread_history_display.rb +48 -0
  1244. data/vendor/bundle/gems/rake-10.3.2/lib/rake/thread_pool.rb +164 -0
  1245. data/vendor/bundle/gems/rake-10.3.2/lib/rake/trace_output.rb +22 -0
  1246. data/vendor/bundle/gems/rake-10.3.2/lib/rake/version.rb +7 -0
  1247. data/vendor/bundle/gems/rake-10.3.2/lib/rake/win32.rb +56 -0
  1248. data/vendor/bundle/gems/rake-10.3.2/lib/rake.rb +78 -0
  1249. data/vendor/bundle/gems/rake-10.3.2/rakelib/publish.rake +20 -0
  1250. data/vendor/bundle/gems/rake-10.3.2/rakelib/test_times.rake +25 -0
  1251. data/vendor/bundle/gems/rake-10.3.2/test/file_creation.rb +34 -0
  1252. data/vendor/bundle/gems/rake-10.3.2/test/helper.rb +127 -0
  1253. data/vendor/bundle/gems/rake-10.3.2/test/support/rakefile_definitions.rb +478 -0
  1254. data/vendor/bundle/gems/rake-10.3.2/test/support/ruby_runner.rb +33 -0
  1255. data/vendor/bundle/gems/rake-10.3.2/test/test_private_reader.rb +42 -0
  1256. data/vendor/bundle/gems/rake-10.3.2/test/test_rake.rb +40 -0
  1257. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_application.rb +641 -0
  1258. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_application_options.rb +466 -0
  1259. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_backtrace.rb +119 -0
  1260. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_clean.rb +55 -0
  1261. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +50 -0
  1262. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_definitions.rb +79 -0
  1263. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_directory_task.rb +63 -0
  1264. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_dsl.rb +40 -0
  1265. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_early_time.rb +31 -0
  1266. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_extension.rb +59 -0
  1267. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +56 -0
  1268. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_file_list.rb +627 -0
  1269. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +8 -0
  1270. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_file_task.rb +186 -0
  1271. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_file_utils.rb +309 -0
  1272. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_ftp_file.rb +74 -0
  1273. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_functional.rb +482 -0
  1274. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +64 -0
  1275. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_linked_list.rb +84 -0
  1276. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +46 -0
  1277. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_multi_task.rb +58 -0
  1278. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_name_space.rb +57 -0
  1279. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_package_task.rb +79 -0
  1280. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_path_map.rb +168 -0
  1281. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +34 -0
  1282. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +18 -0
  1283. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +21 -0
  1284. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +20 -0
  1285. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +26 -0
  1286. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_require.rb +40 -0
  1287. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_rules.rb +388 -0
  1288. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_scope.rb +44 -0
  1289. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task.rb +392 -0
  1290. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +109 -0
  1291. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_arguments.rb +127 -0
  1292. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_lib.rb +9 -0
  1293. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_manager.rb +178 -0
  1294. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
  1295. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +171 -0
  1296. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_test_task.rb +141 -0
  1297. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_thread_pool.rb +142 -0
  1298. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +71 -0
  1299. data/vendor/bundle/gems/rake-10.3.2/test/test_rake_win32.rb +72 -0
  1300. data/vendor/bundle/gems/rake-10.3.2/test/test_thread_history_display.rb +101 -0
  1301. data/vendor/bundle/gems/rake-10.3.2/test/test_trace_output.rb +52 -0
  1302. data/vendor/bundle/gems/rspec-3.0.0/License.txt +24 -0
  1303. data/vendor/bundle/gems/rspec-3.0.0/README.md +47 -0
  1304. data/vendor/bundle/gems/rspec-3.0.0/lib/rspec/version.rb +5 -0
  1305. data/vendor/bundle/gems/rspec-3.0.0/lib/rspec.rb +3 -0
  1306. data/vendor/bundle/gems/rspec-core-3.0.1/.document +5 -0
  1307. data/vendor/bundle/gems/rspec-core-3.0.1/.yardopts +7 -0
  1308. data/vendor/bundle/gems/rspec-core-3.0.1/Changelog.md +1436 -0
  1309. data/vendor/bundle/gems/rspec-core-3.0.1/License.txt +25 -0
  1310. data/vendor/bundle/gems/rspec-core-3.0.1/README.md +243 -0
  1311. data/vendor/bundle/gems/rspec-core-3.0.1/exe/rspec +4 -0
  1312. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/autorun.rb +2 -0
  1313. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/backport_random.rb +336 -0
  1314. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/backtrace_formatter.rb +70 -0
  1315. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/configuration.rb +1336 -0
  1316. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/configuration_options.rb +173 -0
  1317. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/drb.rb +111 -0
  1318. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/dsl.rb +94 -0
  1319. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/example.rb +474 -0
  1320. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/example_group.rb +697 -0
  1321. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/filter_manager.rb +260 -0
  1322. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/flat_map.rb +18 -0
  1323. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/base_formatter.rb +172 -0
  1324. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/base_text_formatter.rb +78 -0
  1325. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/console_codes.rb +65 -0
  1326. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  1327. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/documentation_formatter.rb +69 -0
  1328. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/helpers.rb +88 -0
  1329. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/html_formatter.rb +148 -0
  1330. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/html_printer.rb +402 -0
  1331. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/json_formatter.rb +93 -0
  1332. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/profile_formatter.rb +67 -0
  1333. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  1334. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters/snippet_extractor.rb +103 -0
  1335. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/formatters.rb +239 -0
  1336. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/hooks.rb +574 -0
  1337. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/memoized_helpers.rb +470 -0
  1338. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/metadata.rb +409 -0
  1339. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/metadata_filter.rb +86 -0
  1340. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/minitest_assertions_adapter.rb +28 -0
  1341. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/mocking_adapters/flexmock.rb +29 -0
  1342. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/mocking_adapters/mocha.rb +55 -0
  1343. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/mocking_adapters/null.rb +12 -0
  1344. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/mocking_adapters/rr.rb +29 -0
  1345. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/mocking_adapters/rspec.rb +30 -0
  1346. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/notifications.rb +511 -0
  1347. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/option_parser.rb +218 -0
  1348. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/ordering.rb +156 -0
  1349. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/pending.rb +165 -0
  1350. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/project_initializer/.rspec +3 -0
  1351. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +78 -0
  1352. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/project_initializer.rb +46 -0
  1353. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/rake_task.rb +144 -0
  1354. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/reporter.rb +152 -0
  1355. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/ruby_project.rb +45 -0
  1356. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/runner.rb +161 -0
  1357. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/shared_context.rb +55 -0
  1358. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/shared_example_group.rb +181 -0
  1359. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  1360. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/version.rb +9 -0
  1361. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/warnings.rb +40 -0
  1362. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/world.rb +183 -0
  1363. data/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core.rb +167 -0
  1364. data/vendor/bundle/gems/rspec-expectations-3.0.1/.document +5 -0
  1365. data/vendor/bundle/gems/rspec-expectations-3.0.1/.yardopts +6 -0
  1366. data/vendor/bundle/gems/rspec-expectations-3.0.1/Changelog.md +728 -0
  1367. data/vendor/bundle/gems/rspec-expectations-3.0.1/License.txt +24 -0
  1368. data/vendor/bundle/gems/rspec-expectations-3.0.1/README.md +278 -0
  1369. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/configuration.rb +135 -0
  1370. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/expectation_target.rb +119 -0
  1371. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/fail_with.rb +34 -0
  1372. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/handler.rb +161 -0
  1373. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/minitest_integration.rb +17 -0
  1374. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/syntax.rb +130 -0
  1375. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations/version.rb +8 -0
  1376. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/expectations.rb +68 -0
  1377. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/aliased_matcher.rb +41 -0
  1378. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/all.rb +76 -0
  1379. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/base_matcher.rb +115 -0
  1380. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/be.rb +277 -0
  1381. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  1382. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  1383. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  1384. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/be_within.rb +79 -0
  1385. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/change.rb +334 -0
  1386. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/compound.rb +119 -0
  1387. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/contain_exactly.rb +257 -0
  1388. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  1389. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/eq.rb +75 -0
  1390. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  1391. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  1392. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/exist.rb +86 -0
  1393. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/has.rb +104 -0
  1394. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/include.rb +98 -0
  1395. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/match.rb +29 -0
  1396. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/operators.rb +119 -0
  1397. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/output.rb +150 -0
  1398. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/raise_error.rb +168 -0
  1399. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/respond_to.rb +98 -0
  1400. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/satisfy.rb +46 -0
  1401. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/start_and_end_with.rb +82 -0
  1402. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/throw_symbol.rb +128 -0
  1403. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in/yield.rb +402 -0
  1404. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/built_in.rb +51 -0
  1405. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/composable.rb +181 -0
  1406. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/dsl.rb +379 -0
  1407. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/generated_descriptions.rb +42 -0
  1408. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/matcher_delegator.rb +36 -0
  1409. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers/pretty.rb +77 -0
  1410. data/vendor/bundle/gems/rspec-expectations-3.0.1/lib/rspec/matchers.rb +921 -0
  1411. data/vendor/bundle/gems/rspec-mocks-3.0.1/.document +5 -0
  1412. data/vendor/bundle/gems/rspec-mocks-3.0.1/.yardopts +6 -0
  1413. data/vendor/bundle/gems/rspec-mocks-3.0.1/Changelog.md +709 -0
  1414. data/vendor/bundle/gems/rspec-mocks-3.0.1/License.txt +24 -0
  1415. data/vendor/bundle/gems/rspec-mocks-3.0.1/README.md +380 -0
  1416. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/chain.rb +109 -0
  1417. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  1418. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/expectation_chain.rb +49 -0
  1419. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/message_chains.rb +84 -0
  1420. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  1421. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/recorder.rb +265 -0
  1422. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/stub_chain.rb +47 -0
  1423. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
  1424. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/any_instance.rb +10 -0
  1425. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/argument_list_matcher.rb +72 -0
  1426. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/argument_matchers.rb +249 -0
  1427. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/configuration.rb +164 -0
  1428. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/error_generator.rb +247 -0
  1429. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/example_methods.rb +311 -0
  1430. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  1431. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/marshal_extension.rb +41 -0
  1432. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1433. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/matchers/have_received.rb +101 -0
  1434. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/matchers/receive.rb +106 -0
  1435. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/matchers/receive_message_chain.rb +67 -0
  1436. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/matchers/receive_messages.rb +72 -0
  1437. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/message_chain.rb +91 -0
  1438. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/message_expectation.rb +650 -0
  1439. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/method_double.rb +257 -0
  1440. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/method_reference.rb +154 -0
  1441. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/mutate_const.rb +398 -0
  1442. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/object_reference.rb +92 -0
  1443. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/order_group.rb +82 -0
  1444. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/proxy.rb +419 -0
  1445. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/space.rb +221 -0
  1446. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/standalone.rb +3 -0
  1447. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/syntax.rb +327 -0
  1448. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/targets.rb +97 -0
  1449. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/test_double.rb +126 -0
  1450. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/verifying_double.rb +127 -0
  1451. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/verifying_message_expecation.rb +60 -0
  1452. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/verifying_proxy.rb +170 -0
  1453. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks/version.rb +9 -0
  1454. data/vendor/bundle/gems/rspec-mocks-3.0.1/lib/rspec/mocks.rb +126 -0
  1455. data/vendor/bundle/gems/rspec-support-3.0.0/Changelog.md +17 -0
  1456. data/vendor/bundle/gems/rspec-support-3.0.0/LICENSE.txt +22 -0
  1457. data/vendor/bundle/gems/rspec-support-3.0.0/README.md +17 -0
  1458. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/caller_filter.rb +64 -0
  1459. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/differ.rb +205 -0
  1460. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/encoded_string.rb +66 -0
  1461. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/fuzzy_matcher.rb +47 -0
  1462. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/hunk_generator.rb +48 -0
  1463. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/method_signature_verifier.rb +205 -0
  1464. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/ruby_features.rb +35 -0
  1465. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec/deprecation_helpers.rb +61 -0
  1466. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  1467. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec/in_sub_process.rb +40 -0
  1468. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec/stderr_splitter.rb +53 -0
  1469. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec/with_isolated_stderr.rb +15 -0
  1470. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/spec.rb +62 -0
  1471. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/version.rb +7 -0
  1472. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/version_checker.rb +53 -0
  1473. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support/warnings.rb +36 -0
  1474. data/vendor/bundle/gems/rspec-support-3.0.0/lib/rspec/support.rb +58 -0
  1475. data/vendor/bundle/gems/safe_yaml-1.0.3/.gitignore +1 -0
  1476. data/vendor/bundle/gems/safe_yaml-1.0.3/.travis.yml +48 -0
  1477. data/vendor/bundle/gems/safe_yaml-1.0.3/CHANGES.md +149 -0
  1478. data/vendor/bundle/gems/safe_yaml-1.0.3/Gemfile +11 -0
  1479. data/vendor/bundle/gems/safe_yaml-1.0.3/LICENSE.txt +22 -0
  1480. data/vendor/bundle/gems/safe_yaml-1.0.3/README.md +191 -0
  1481. data/vendor/bundle/gems/safe_yaml-1.0.3/Rakefile +23 -0
  1482. data/vendor/bundle/gems/safe_yaml-1.0.3/bin/safe_yaml +75 -0
  1483. data/vendor/bundle/gems/safe_yaml-1.0.3/bundle_install_all_ruby_versions.sh +21 -0
  1484. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/deep.rb +34 -0
  1485. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/libyaml_checker.rb +36 -0
  1486. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/load.rb +181 -0
  1487. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/parse/date.rb +35 -0
  1488. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/parse/hexadecimal.rb +12 -0
  1489. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/parse/sexagesimal.rb +26 -0
  1490. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/psych_handler.rb +99 -0
  1491. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/psych_resolver.rb +52 -0
  1492. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/resolver.rb +94 -0
  1493. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/safe_to_ruby_visitor.rb +29 -0
  1494. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/syck_hack.rb +36 -0
  1495. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/syck_node_monkeypatch.rb +43 -0
  1496. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/syck_resolver.rb +38 -0
  1497. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_boolean.rb +21 -0
  1498. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_date.rb +13 -0
  1499. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_float.rb +33 -0
  1500. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_integer.rb +26 -0
  1501. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_nil.rb +18 -0
  1502. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/to_symbol.rb +17 -0
  1503. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform/transformation_map.rb +47 -0
  1504. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/transform.rb +41 -0
  1505. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml/version.rb +3 -0
  1506. data/vendor/bundle/gems/safe_yaml-1.0.3/lib/safe_yaml.rb +94 -0
  1507. data/vendor/bundle/gems/safe_yaml-1.0.3/run_specs_all_ruby_versions.sh +29 -0
  1508. data/vendor/bundle/gems/safe_yaml-1.0.3/safe_yaml.gemspec +19 -0
  1509. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/exploit.1.9.2.yaml +2 -0
  1510. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/exploit.1.9.3.yaml +2 -0
  1511. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/issue48.txt +20 -0
  1512. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/issue49.yml +0 -0
  1513. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/libyaml_checker_spec.rb +69 -0
  1514. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/psych_resolver_spec.rb +10 -0
  1515. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/resolver_specs.rb +278 -0
  1516. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/safe_yaml_spec.rb +731 -0
  1517. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/spec_helper.rb +42 -0
  1518. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/support/exploitable_back_door.rb +29 -0
  1519. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/syck_resolver_spec.rb +10 -0
  1520. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/transform/base64_spec.rb +11 -0
  1521. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/transform/to_date_spec.rb +60 -0
  1522. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/transform/to_float_spec.rb +42 -0
  1523. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/transform/to_integer_spec.rb +64 -0
  1524. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/transform/to_symbol_spec.rb +51 -0
  1525. data/vendor/bundle/gems/safe_yaml-1.0.3/spec/yaml_spec.rb +15 -0
  1526. data/vendor/bundle/gems/searchbing-0.2.4/README.md +50 -0
  1527. data/vendor/bundle/gems/searchbing-0.2.4/lib/searchbing.rb +61 -0
  1528. data/vendor/bundle/gems/slop-3.5.0/.gitignore +7 -0
  1529. data/vendor/bundle/gems/slop-3.5.0/.travis.yml +12 -0
  1530. data/vendor/bundle/gems/slop-3.5.0/CHANGES.md +303 -0
  1531. data/vendor/bundle/gems/slop-3.5.0/Gemfile +3 -0
  1532. data/vendor/bundle/gems/slop-3.5.0/LICENSE +20 -0
  1533. data/vendor/bundle/gems/slop-3.5.0/README.md +182 -0
  1534. data/vendor/bundle/gems/slop-3.5.0/Rakefile +29 -0
  1535. data/vendor/bundle/gems/slop-3.5.0/lib/slop/commands.rb +196 -0
  1536. data/vendor/bundle/gems/slop-3.5.0/lib/slop/option.rb +209 -0
  1537. data/vendor/bundle/gems/slop-3.5.0/lib/slop.rb +687 -0
  1538. data/vendor/bundle/gems/slop-3.5.0/slop.gemspec +17 -0
  1539. data/vendor/bundle/gems/slop-3.5.0/test/commands_test.rb +26 -0
  1540. data/vendor/bundle/gems/slop-3.5.0/test/helper.rb +12 -0
  1541. data/vendor/bundle/gems/slop-3.5.0/test/option_test.rb +138 -0
  1542. data/vendor/bundle/gems/slop-3.5.0/test/slop_test.rb +518 -0
  1543. data/vendor/bundle/gems/thor-0.19.1/.document +5 -0
  1544. data/vendor/bundle/gems/thor-0.19.1/CHANGELOG.md +139 -0
  1545. data/vendor/bundle/gems/thor-0.19.1/LICENSE.md +20 -0
  1546. data/vendor/bundle/gems/thor-0.19.1/README.md +41 -0
  1547. data/vendor/bundle/gems/thor-0.19.1/Thorfile +29 -0
  1548. data/vendor/bundle/gems/thor-0.19.1/bin/thor +6 -0
  1549. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/create_file.rb +103 -0
  1550. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/create_link.rb +59 -0
  1551. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/directory.rb +118 -0
  1552. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb +135 -0
  1553. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb +316 -0
  1554. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb +107 -0
  1555. data/vendor/bundle/gems/thor-0.19.1/lib/thor/actions.rb +319 -0
  1556. data/vendor/bundle/gems/thor-0.19.1/lib/thor/base.rb +656 -0
  1557. data/vendor/bundle/gems/thor-0.19.1/lib/thor/command.rb +133 -0
  1558. data/vendor/bundle/gems/thor-0.19.1/lib/thor/core_ext/hash_with_indifferent_access.rb +77 -0
  1559. data/vendor/bundle/gems/thor-0.19.1/lib/thor/core_ext/io_binary_read.rb +10 -0
  1560. data/vendor/bundle/gems/thor-0.19.1/lib/thor/core_ext/ordered_hash.rb +98 -0
  1561. data/vendor/bundle/gems/thor-0.19.1/lib/thor/error.rb +32 -0
  1562. data/vendor/bundle/gems/thor-0.19.1/lib/thor/group.rb +281 -0
  1563. data/vendor/bundle/gems/thor-0.19.1/lib/thor/invocation.rb +178 -0
  1564. data/vendor/bundle/gems/thor-0.19.1/lib/thor/line_editor/basic.rb +35 -0
  1565. data/vendor/bundle/gems/thor-0.19.1/lib/thor/line_editor/readline.rb +88 -0
  1566. data/vendor/bundle/gems/thor-0.19.1/lib/thor/line_editor.rb +17 -0
  1567. data/vendor/bundle/gems/thor-0.19.1/lib/thor/parser/argument.rb +73 -0
  1568. data/vendor/bundle/gems/thor-0.19.1/lib/thor/parser/arguments.rb +175 -0
  1569. data/vendor/bundle/gems/thor-0.19.1/lib/thor/parser/option.rb +125 -0
  1570. data/vendor/bundle/gems/thor-0.19.1/lib/thor/parser/options.rb +218 -0
  1571. data/vendor/bundle/gems/thor-0.19.1/lib/thor/parser.rb +4 -0
  1572. data/vendor/bundle/gems/thor-0.19.1/lib/thor/rake_compat.rb +71 -0
  1573. data/vendor/bundle/gems/thor-0.19.1/lib/thor/runner.rb +322 -0
  1574. data/vendor/bundle/gems/thor-0.19.1/lib/thor/shell/basic.rb +421 -0
  1575. data/vendor/bundle/gems/thor-0.19.1/lib/thor/shell/color.rb +149 -0
  1576. data/vendor/bundle/gems/thor-0.19.1/lib/thor/shell/html.rb +126 -0
  1577. data/vendor/bundle/gems/thor-0.19.1/lib/thor/shell.rb +81 -0
  1578. data/vendor/bundle/gems/thor-0.19.1/lib/thor/util.rb +267 -0
  1579. data/vendor/bundle/gems/thor-0.19.1/lib/thor/version.rb +3 -0
  1580. data/vendor/bundle/gems/thor-0.19.1/lib/thor.rb +484 -0
  1581. data/vendor/bundle/gems/thor-0.19.1/spec/actions/create_file_spec.rb +168 -0
  1582. data/vendor/bundle/gems/thor-0.19.1/spec/actions/create_link_spec.rb +96 -0
  1583. data/vendor/bundle/gems/thor-0.19.1/spec/actions/directory_spec.rb +169 -0
  1584. data/vendor/bundle/gems/thor-0.19.1/spec/actions/empty_directory_spec.rb +129 -0
  1585. data/vendor/bundle/gems/thor-0.19.1/spec/actions/file_manipulation_spec.rb +392 -0
  1586. data/vendor/bundle/gems/thor-0.19.1/spec/actions/inject_into_file_spec.rb +135 -0
  1587. data/vendor/bundle/gems/thor-0.19.1/spec/actions_spec.rb +331 -0
  1588. data/vendor/bundle/gems/thor-0.19.1/spec/base_spec.rb +298 -0
  1589. data/vendor/bundle/gems/thor-0.19.1/spec/command_spec.rb +79 -0
  1590. data/vendor/bundle/gems/thor-0.19.1/spec/core_ext/hash_with_indifferent_access_spec.rb +48 -0
  1591. data/vendor/bundle/gems/thor-0.19.1/spec/core_ext/ordered_hash_spec.rb +115 -0
  1592. data/vendor/bundle/gems/thor-0.19.1/spec/exit_condition_spec.rb +19 -0
  1593. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/application.rb +2 -0
  1594. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/app{1}/README +3 -0
  1595. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/bundle/execute.rb +6 -0
  1596. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/bundle/main.thor +1 -0
  1597. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/command.thor +10 -0
  1598. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/enum.thor +10 -0
  1599. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/group.thor +128 -0
  1600. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/invoke.thor +131 -0
  1601. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/path with spaces +0 -0
  1602. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/preserve/script.sh +3 -0
  1603. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/script.thor +220 -0
  1604. data/vendor/bundle/gems/thor-0.19.1/spec/fixtures/subcommand.thor +17 -0
  1605. data/vendor/bundle/gems/thor-0.19.1/spec/group_spec.rb +222 -0
  1606. data/vendor/bundle/gems/thor-0.19.1/spec/helper.rb +80 -0
  1607. data/vendor/bundle/gems/thor-0.19.1/spec/invocation_spec.rb +120 -0
  1608. data/vendor/bundle/gems/thor-0.19.1/spec/line_editor/basic_spec.rb +28 -0
  1609. data/vendor/bundle/gems/thor-0.19.1/spec/line_editor/readline_spec.rb +69 -0
  1610. data/vendor/bundle/gems/thor-0.19.1/spec/line_editor_spec.rb +43 -0
  1611. data/vendor/bundle/gems/thor-0.19.1/spec/parser/argument_spec.rb +53 -0
  1612. data/vendor/bundle/gems/thor-0.19.1/spec/parser/arguments_spec.rb +66 -0
  1613. data/vendor/bundle/gems/thor-0.19.1/spec/parser/option_spec.rb +210 -0
  1614. data/vendor/bundle/gems/thor-0.19.1/spec/parser/options_spec.rb +414 -0
  1615. data/vendor/bundle/gems/thor-0.19.1/spec/quality_spec.rb +75 -0
  1616. data/vendor/bundle/gems/thor-0.19.1/spec/rake_compat_spec.rb +72 -0
  1617. data/vendor/bundle/gems/thor-0.19.1/spec/register_spec.rb +227 -0
  1618. data/vendor/bundle/gems/thor-0.19.1/spec/runner_spec.rb +246 -0
  1619. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/application.rb +2 -0
  1620. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/app{1}/README +3 -0
  1621. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/bundle/execute.rb +6 -0
  1622. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/bundle/main.thor +1 -0
  1623. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/command.thor +10 -0
  1624. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/enum.thor +10 -0
  1625. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/group.thor +128 -0
  1626. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/invoke.thor +131 -0
  1627. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/path with spaces +0 -0
  1628. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/preserve/script.sh +3 -0
  1629. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/script.thor +220 -0
  1630. data/vendor/bundle/gems/thor-0.19.1/spec/sandbox/subcommand.thor +17 -0
  1631. data/vendor/bundle/gems/thor-0.19.1/spec/shell/basic_spec.rb +337 -0
  1632. data/vendor/bundle/gems/thor-0.19.1/spec/shell/color_spec.rb +119 -0
  1633. data/vendor/bundle/gems/thor-0.19.1/spec/shell/html_spec.rb +31 -0
  1634. data/vendor/bundle/gems/thor-0.19.1/spec/shell_spec.rb +47 -0
  1635. data/vendor/bundle/gems/thor-0.19.1/spec/subcommand_spec.rb +48 -0
  1636. data/vendor/bundle/gems/thor-0.19.1/spec/thor_spec.rb +505 -0
  1637. data/vendor/bundle/gems/thor-0.19.1/spec/util_spec.rb +196 -0
  1638. data/vendor/bundle/gems/thor-0.19.1/thor.gemspec +24 -0
  1639. data/vendor/bundle/gems/thread_safe-0.3.4/.travis.yml +24 -0
  1640. data/vendor/bundle/gems/thread_safe-0.3.4/Gemfile +4 -0
  1641. data/vendor/bundle/gems/thread_safe-0.3.4/LICENSE +144 -0
  1642. data/vendor/bundle/gems/thread_safe-0.3.4/README.md +56 -0
  1643. data/vendor/bundle/gems/thread_safe-0.3.4/Rakefile +48 -0
  1644. data/vendor/bundle/gems/thread_safe-0.3.4/examples/bench_cache.rb +35 -0
  1645. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1646. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1647. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1648. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1649. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1650. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1651. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1652. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1653. data/vendor/bundle/gems/thread_safe-0.3.4/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1654. data/vendor/bundle/gems/thread_safe-0.3.4/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1655. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/atomic_reference_cache_backend.rb +922 -0
  1656. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/cache.rb +163 -0
  1657. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/mri_cache_backend.rb +62 -0
  1658. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/non_concurrent_cache_backend.rb +133 -0
  1659. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/synchronized_cache_backend.rb +76 -0
  1660. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/synchronized_delegator.rb +60 -0
  1661. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/adder.rb +59 -0
  1662. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/atomic_reference.rb +45 -0
  1663. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/cheap_lockable.rb +105 -0
  1664. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1665. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/striped64.rb +226 -0
  1666. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/volatile.rb +62 -0
  1667. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1668. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util/xor_shift_random.rb +39 -0
  1669. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/util.rb +16 -0
  1670. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe/version.rb +21 -0
  1671. data/vendor/bundle/gems/thread_safe-0.3.4/lib/thread_safe.rb +65 -0
  1672. data/vendor/bundle/gems/thread_safe-0.3.4/test/src/thread_safe/SecurityManager.java +21 -0
  1673. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_array.rb +18 -0
  1674. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_cache.rb +901 -0
  1675. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_cache_loops.rb +449 -0
  1676. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_hash.rb +17 -0
  1677. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_helper.rb +113 -0
  1678. data/vendor/bundle/gems/thread_safe-0.3.4/test/test_synchronized_delegator.rb +84 -0
  1679. data/vendor/bundle/gems/thread_safe-0.3.4/thread_safe.gemspec +26 -0
  1680. data/vendor/bundle/gems/tzinfo-1.2.1/.yardopts +6 -0
  1681. data/vendor/bundle/gems/tzinfo-1.2.1/CHANGES.md +638 -0
  1682. data/vendor/bundle/gems/tzinfo-1.2.1/LICENSE +19 -0
  1683. data/vendor/bundle/gems/tzinfo-1.2.1/README.md +151 -0
  1684. data/vendor/bundle/gems/tzinfo-1.2.1/Rakefile +104 -0
  1685. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/country.rb +180 -0
  1686. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/country_index_definition.rb +31 -0
  1687. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/country_info.rb +42 -0
  1688. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/country_timezone.rb +123 -0
  1689. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/data_source.rb +190 -0
  1690. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/data_timezone.rb +58 -0
  1691. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/data_timezone_info.rb +55 -0
  1692. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/info_timezone.rb +30 -0
  1693. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/linked_timezone.rb +63 -0
  1694. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/linked_timezone_info.rb +26 -0
  1695. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/offset_rationals.rb +77 -0
  1696. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/ruby_core_support.rb +146 -0
  1697. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/ruby_country_info.rb +70 -0
  1698. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/ruby_data_source.rb +136 -0
  1699. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/time_or_datetime.rb +333 -0
  1700. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone.rb +636 -0
  1701. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_definition.rb +36 -0
  1702. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_index_definition.rb +54 -0
  1703. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_info.rb +30 -0
  1704. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_offset.rb +74 -0
  1705. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_period.rb +204 -0
  1706. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_proxy.rb +70 -0
  1707. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_transition.rb +120 -0
  1708. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/timezone_transition_definition.rb +101 -0
  1709. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1710. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/zoneinfo_country_info.rb +35 -0
  1711. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/zoneinfo_data_source.rb +460 -0
  1712. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo/zoneinfo_timezone_info.rb +245 -0
  1713. data/vendor/bundle/gems/tzinfo-1.2.1/lib/tzinfo.rb +40 -0
  1714. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_country.rb +236 -0
  1715. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_country_index_definition.rb +69 -0
  1716. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_country_info.rb +16 -0
  1717. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_country_timezone.rb +161 -0
  1718. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_data_source.rb +192 -0
  1719. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_data_timezone.rb +99 -0
  1720. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_data_timezone_info.rb +18 -0
  1721. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_info_timezone.rb +34 -0
  1722. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_linked_timezone.rb +155 -0
  1723. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_linked_timezone_info.rb +23 -0
  1724. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_offset_rationals.rb +23 -0
  1725. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_ruby_core_support.rb +168 -0
  1726. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_ruby_country_info.rb +80 -0
  1727. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_ruby_data_source.rb +143 -0
  1728. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_time_or_datetime.rb +639 -0
  1729. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone.rb +1334 -0
  1730. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_definition.rb +113 -0
  1731. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_index_definition.rb +73 -0
  1732. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_info.rb +11 -0
  1733. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_london.rb +143 -0
  1734. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_melbourne.rb +142 -0
  1735. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_new_york.rb +142 -0
  1736. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_offset.rb +126 -0
  1737. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_period.rb +548 -0
  1738. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_proxy.rb +113 -0
  1739. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_transition.rb +352 -0
  1740. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_transition_definition.rb +284 -0
  1741. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_timezone_utc.rb +27 -0
  1742. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_transition_data_timezone_info.rb +423 -0
  1743. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_zoneinfo_country_info.rb +64 -0
  1744. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_zoneinfo_data_source.rb +985 -0
  1745. data/vendor/bundle/gems/tzinfo-1.2.1/test/tc_zoneinfo_timezone_info.rb +814 -0
  1746. data/vendor/bundle/gems/tzinfo-1.2.1/test/test_utils.rb +132 -0
  1747. data/vendor/bundle/gems/tzinfo-1.2.1/test/ts_all.rb +7 -0
  1748. data/vendor/bundle/gems/tzinfo-1.2.1/test/ts_all_ruby.rb +5 -0
  1749. data/vendor/bundle/gems/tzinfo-1.2.1/test/ts_all_zoneinfo.rb +7 -0
  1750. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1751. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1752. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1753. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1754. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1755. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1756. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1757. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1758. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1759. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1760. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1761. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1762. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1763. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1764. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +594 -0
  1765. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1766. data/vendor/bundle/gems/tzinfo-1.2.1/test/tzinfo-data/tzinfo/data.rb +8 -0
  1767. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1768. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/America/New_York +0 -0
  1769. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Australia/Melbourne +0 -0
  1770. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/EST +0 -0
  1771. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Etc/UTC +0 -0
  1772. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Europe/Amsterdam +0 -0
  1773. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Europe/Andorra +0 -0
  1774. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Europe/London +0 -0
  1775. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Europe/Paris +0 -0
  1776. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Europe/Prague +0 -0
  1777. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/Factory +0 -0
  1778. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/iso3166.tab +275 -0
  1779. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/posix/Europe/London +0 -0
  1780. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/posixrules +0 -0
  1781. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/right/Europe/London +0 -0
  1782. data/vendor/bundle/gems/tzinfo-1.2.1/test/zoneinfo/zone.tab +452 -0
  1783. data/vendor/bundle/gems/tzinfo-1.2.1/tzinfo.gemspec +21 -0
  1784. data/vendor/bundle/gems/webmock-1.18.0/.gemtest +0 -0
  1785. data/vendor/bundle/gems/webmock-1.18.0/.gitignore +30 -0
  1786. data/vendor/bundle/gems/webmock-1.18.0/.rspec-tm +2 -0
  1787. data/vendor/bundle/gems/webmock-1.18.0/.travis.yml +17 -0
  1788. data/vendor/bundle/gems/webmock-1.18.0/CHANGELOG.md +1081 -0
  1789. data/vendor/bundle/gems/webmock-1.18.0/Gemfile +20 -0
  1790. data/vendor/bundle/gems/webmock-1.18.0/LICENSE +20 -0
  1791. data/vendor/bundle/gems/webmock-1.18.0/README.md +926 -0
  1792. data/vendor/bundle/gems/webmock-1.18.0/Rakefile +53 -0
  1793. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/api.rb +85 -0
  1794. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/assertion_failure.rb +11 -0
  1795. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/callback_registry.rb +35 -0
  1796. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/config.rb +10 -0
  1797. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/cucumber.rb +8 -0
  1798. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/deprecation.rb +9 -0
  1799. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/errors.rb +33 -0
  1800. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/curb_adapter.rb +270 -0
  1801. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/em_http_request/em_http_request_0_x.rb +147 -0
  1802. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb +208 -0
  1803. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +11 -0
  1804. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/excon_adapter.rb +154 -0
  1805. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem/client.rb +14 -0
  1806. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem/request.rb +10 -0
  1807. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem/response.rb +21 -0
  1808. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem/streamer.rb +13 -0
  1809. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem/webmock.rb +62 -0
  1810. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_gem_adapter.rb +38 -0
  1811. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_lib_adapter.rb +7 -0
  1812. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +19 -0
  1813. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/httpclient_adapter.rb +214 -0
  1814. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/net_http.rb +307 -0
  1815. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/net_http_response.rb +34 -0
  1816. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/patron_adapter.rb +126 -0
  1817. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +169 -0
  1818. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/matchers/hash_including_matcher.rb +36 -0
  1819. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/minitest.rb +39 -0
  1820. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/rack_response.rb +69 -0
  1821. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/request_execution_verifier.rb +56 -0
  1822. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/request_pattern.rb +315 -0
  1823. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/request_registry.rb +35 -0
  1824. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/request_signature.rb +50 -0
  1825. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/request_stub.rb +97 -0
  1826. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/response.rb +146 -0
  1827. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/responses_sequence.rb +40 -0
  1828. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/rspec/matchers/request_pattern_matcher.rb +44 -0
  1829. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/rspec/matchers/webmock_matcher.rb +48 -0
  1830. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/rspec/matchers.rb +28 -0
  1831. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/rspec.rb +33 -0
  1832. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/stub_registry.rb +67 -0
  1833. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/stub_request_snippet.rb +30 -0
  1834. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/test_unit.rb +20 -0
  1835. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/hash_counter.rb +32 -0
  1836. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/hash_keys_stringifier.rb +23 -0
  1837. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/headers.rb +43 -0
  1838. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/json.rb +59 -0
  1839. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/query_mapper.rb +194 -0
  1840. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/uri.rb +110 -0
  1841. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/util/version_checker.rb +94 -0
  1842. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/version.rb +3 -0
  1843. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock/webmock.rb +126 -0
  1844. data/vendor/bundle/gems/webmock-1.18.0/lib/webmock.rb +52 -0
  1845. data/vendor/bundle/gems/webmock-1.18.0/minitest/test_helper.rb +34 -0
  1846. data/vendor/bundle/gems/webmock-1.18.0/minitest/test_webmock.rb +9 -0
  1847. data/vendor/bundle/gems/webmock-1.18.0/minitest/webmock_spec.rb +60 -0
  1848. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/curb/curb_spec.rb +401 -0
  1849. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/curb/curb_spec_helper.rb +144 -0
  1850. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/em_http_request/em_http_request_spec.rb +273 -0
  1851. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +73 -0
  1852. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/excon/excon_spec.rb +65 -0
  1853. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/excon/excon_spec_helper.rb +43 -0
  1854. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/http_gem/http_gem_spec.rb +50 -0
  1855. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/http_gem/http_gem_spec_helper.rb +43 -0
  1856. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/httpclient/httpclient_spec.rb +155 -0
  1857. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/httpclient/httpclient_spec_helper.rb +48 -0
  1858. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/net_http/net_http_shared.rb +142 -0
  1859. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/net_http/net_http_spec.rb +278 -0
  1860. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/net_http/net_http_spec_helper.rb +55 -0
  1861. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/net_http/real_net_http_spec.rb +20 -0
  1862. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/patron/patron_spec.rb +136 -0
  1863. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/patron/patron_spec_helper.rb +50 -0
  1864. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +142 -0
  1865. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/callbacks.rb +146 -0
  1866. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/complex_cross_concern_behaviors.rb +36 -0
  1867. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/enabling_and_disabling_webmock.rb +95 -0
  1868. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/precedence_of_stubs.rb +15 -0
  1869. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/request_expectations.rb +666 -0
  1870. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/returning_declared_responses.rb +388 -0
  1871. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/shared/stubbing_requests.rb +523 -0
  1872. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +123 -0
  1873. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +57 -0
  1874. data/vendor/bundle/gems/webmock-1.18.0/spec/acceptance/webmock_shared.rb +41 -0
  1875. data/vendor/bundle/gems/webmock-1.18.0/spec/quality_spec.rb +84 -0
  1876. data/vendor/bundle/gems/webmock-1.18.0/spec/spec_helper.rb +61 -0
  1877. data/vendor/bundle/gems/webmock-1.18.0/spec/support/example_curl_output.txt +22 -0
  1878. data/vendor/bundle/gems/webmock-1.18.0/spec/support/my_rack_app.rb +53 -0
  1879. data/vendor/bundle/gems/webmock-1.18.0/spec/support/network_connection.rb +25 -0
  1880. data/vendor/bundle/gems/webmock-1.18.0/spec/support/webmock_server.rb +69 -0
  1881. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/api_spec.rb +75 -0
  1882. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/errors_spec.rb +50 -0
  1883. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb +17 -0
  1884. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/http_lib_adapters/http_lib_adapter_spec.rb +12 -0
  1885. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/matchers/hash_including_matcher_spec.rb +87 -0
  1886. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/rack_response_spec.rb +102 -0
  1887. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/request_execution_verifier_spec.rb +100 -0
  1888. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/request_pattern_spec.rb +545 -0
  1889. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/request_registry_spec.rb +75 -0
  1890. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/request_signature_spec.rb +113 -0
  1891. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/request_stub_spec.rb +198 -0
  1892. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/response_spec.rb +271 -0
  1893. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/stub_registry_spec.rb +103 -0
  1894. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/stub_request_snippet_spec.rb +95 -0
  1895. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/hash_counter_spec.rb +39 -0
  1896. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/hash_keys_stringifier_spec.rb +27 -0
  1897. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/headers_spec.rb +28 -0
  1898. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/json_spec.rb +7 -0
  1899. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/query_mapper_spec.rb +30 -0
  1900. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/uri_spec.rb +270 -0
  1901. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/util/version_checker_spec.rb +59 -0
  1902. data/vendor/bundle/gems/webmock-1.18.0/spec/unit/webmock_spec.rb +7 -0
  1903. data/vendor/bundle/gems/webmock-1.18.0/test/http_request.rb +24 -0
  1904. data/vendor/bundle/gems/webmock-1.18.0/test/shared_test.rb +88 -0
  1905. data/vendor/bundle/gems/webmock-1.18.0/test/test_helper.rb +23 -0
  1906. data/vendor/bundle/gems/webmock-1.18.0/test/test_webmock.rb +6 -0
  1907. data/vendor/bundle/gems/webmock-1.18.0/webmock.gemspec +37 -0
  1908. data/vendor/bundle/specifications/activesupport-4.1.1.gemspec +46 -0
  1909. data/vendor/bundle/specifications/addressable-2.3.6.gemspec +42 -0
  1910. data/vendor/bundle/specifications/coderay-1.1.0.gemspec +26 -0
  1911. data/vendor/bundle/specifications/crack-0.4.2.gemspec +32 -0
  1912. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
  1913. data/vendor/bundle/specifications/faraday-0.9.0.gemspec +34 -0
  1914. data/vendor/bundle/specifications/hashie-3.0.0.gemspec +35 -0
  1915. data/vendor/bundle/specifications/i18n-0.6.9.gemspec +42 -0
  1916. data/vendor/bundle/specifications/interception-0.5.gemspec +37 -0
  1917. data/vendor/bundle/specifications/method_source-0.8.2.gemspec +34 -0
  1918. data/vendor/bundle/specifications/mini_portile-0.6.0.gemspec +24 -0
  1919. data/vendor/bundle/specifications/minitest-5.3.4.gemspec +39 -0
  1920. data/vendor/bundle/specifications/multipart-post-2.0.0.gemspec +22 -0
  1921. data/vendor/bundle/specifications/nokogiri-1.6.2.1.gemspec +73 -0
  1922. data/vendor/bundle/specifications/pry-0.10.0.gemspec +43 -0
  1923. data/vendor/bundle/specifications/pry-rescue-1.4.1.gemspec +54 -0
  1924. data/vendor/bundle/specifications/rake-10.3.2.gemspec +45 -0
  1925. data/vendor/bundle/specifications/rspec-3.0.0.gemspec +43 -0
  1926. data/vendor/bundle/specifications/rspec-core-3.0.1.gemspec +66 -0
  1927. data/vendor/bundle/specifications/rspec-expectations-3.0.1.gemspec +51 -0
  1928. data/vendor/bundle/specifications/rspec-mocks-3.0.1.gemspec +48 -0
  1929. data/vendor/bundle/specifications/rspec-support-3.0.0.gemspec +42 -0
  1930. data/vendor/bundle/specifications/safe_yaml-1.0.3.gemspec +23 -0
  1931. data/vendor/bundle/specifications/searchbing-0.2.4.gemspec +20 -0
  1932. data/vendor/bundle/specifications/slop-3.5.0.gemspec +36 -0
  1933. data/vendor/bundle/specifications/thor-0.19.1.gemspec +34 -0
  1934. data/vendor/bundle/specifications/thread_safe-0.3.4.gemspec +38 -0
  1935. data/vendor/bundle/specifications/tzinfo-1.2.1.gemspec +37 -0
  1936. data/vendor/bundle/specifications/webmock-1.18.0.gemspec +66 -0
  1937. data/whos_dated_who.gemspec +33 -0
  1938. metadata +2140 -0
@@ -0,0 +1,2351 @@
1
+ # encoding:utf-8
2
+ #--
3
+ # Copyright (C) 2006-2013 Bob Aman
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+
19
+ require "addressable/version"
20
+ require "addressable/idna"
21
+
22
+ ##
23
+ # Addressable is a library for processing links and URIs.
24
+ module Addressable
25
+ ##
26
+ # This is an implementation of a URI parser based on
27
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>,
28
+ # <a href="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>.
29
+ class URI
30
+ ##
31
+ # Raised if something other than a uri is supplied.
32
+ class InvalidURIError < StandardError
33
+ end
34
+
35
+ ##
36
+ # Container for the character classes specified in
37
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
38
+ module CharacterClasses
39
+ ALPHA = "a-zA-Z"
40
+ DIGIT = "0-9"
41
+ GEN_DELIMS = "\\:\\/\\?\\#\\[\\]\\@"
42
+ SUB_DELIMS = "\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\="
43
+ RESERVED = GEN_DELIMS + SUB_DELIMS
44
+ UNRESERVED = ALPHA + DIGIT + "\\-\\.\\_\\~"
45
+ PCHAR = UNRESERVED + SUB_DELIMS + "\\:\\@"
46
+ SCHEME = ALPHA + DIGIT + "\\-\\+\\."
47
+ AUTHORITY = PCHAR
48
+ PATH = PCHAR + "\\/"
49
+ QUERY = PCHAR + "\\/\\?"
50
+ FRAGMENT = PCHAR + "\\/\\?"
51
+ end
52
+
53
+ SLASH = '/'
54
+ EMPTY_STR = ''
55
+
56
+ URIREGEX = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/
57
+
58
+ PORT_MAPPING = {
59
+ "http" => 80,
60
+ "https" => 443,
61
+ "ftp" => 21,
62
+ "tftp" => 69,
63
+ "sftp" => 22,
64
+ "ssh" => 22,
65
+ "svn+ssh" => 22,
66
+ "telnet" => 23,
67
+ "nntp" => 119,
68
+ "gopher" => 70,
69
+ "wais" => 210,
70
+ "ldap" => 389,
71
+ "prospero" => 1525
72
+ }
73
+
74
+ ##
75
+ # Returns a URI object based on the parsed string.
76
+ #
77
+ # @param [String, Addressable::URI, #to_str] uri
78
+ # The URI string to parse.
79
+ # No parsing is performed if the object is already an
80
+ # <code>Addressable::URI</code>.
81
+ #
82
+ # @return [Addressable::URI] The parsed URI.
83
+ def self.parse(uri)
84
+ # If we were given nil, return nil.
85
+ return nil unless uri
86
+ # If a URI object is passed, just return itself.
87
+ return uri.dup if uri.kind_of?(self)
88
+
89
+ # If a URI object of the Ruby standard library variety is passed,
90
+ # convert it to a string, then parse the string.
91
+ # We do the check this way because we don't want to accidentally
92
+ # cause a missing constant exception to be thrown.
93
+ if uri.class.name =~ /^URI\b/
94
+ uri = uri.to_s
95
+ end
96
+
97
+ # Otherwise, convert to a String
98
+ begin
99
+ uri = uri.to_str
100
+ rescue TypeError, NoMethodError
101
+ raise TypeError, "Can't convert #{uri.class} into String."
102
+ end if not uri.is_a? String
103
+
104
+ # This Regexp supplied as an example in RFC 3986, and it works great.
105
+ scan = uri.scan(URIREGEX)
106
+ fragments = scan[0]
107
+ scheme = fragments[1]
108
+ authority = fragments[3]
109
+ path = fragments[4]
110
+ query = fragments[6]
111
+ fragment = fragments[8]
112
+ user = nil
113
+ password = nil
114
+ host = nil
115
+ port = nil
116
+ if authority != nil
117
+ # The Regexp above doesn't split apart the authority.
118
+ userinfo = authority[/^([^\[\]]*)@/, 1]
119
+ if userinfo != nil
120
+ user = userinfo.strip[/^([^:]*):?/, 1]
121
+ password = userinfo.strip[/:(.*)$/, 1]
122
+ end
123
+ host = authority.gsub(
124
+ /^([^\[\]]*)@/, EMPTY_STR
125
+ ).gsub(
126
+ /:([^:@\[\]]*?)$/, EMPTY_STR
127
+ )
128
+ port = authority[/:([^:@\[\]]*?)$/, 1]
129
+ end
130
+ if port == EMPTY_STR
131
+ port = nil
132
+ end
133
+
134
+ return new(
135
+ :scheme => scheme,
136
+ :user => user,
137
+ :password => password,
138
+ :host => host,
139
+ :port => port,
140
+ :path => path,
141
+ :query => query,
142
+ :fragment => fragment
143
+ )
144
+ end
145
+
146
+ ##
147
+ # Converts an input to a URI. The input does not have to be a valid
148
+ # URI — the method will use heuristics to guess what URI was intended.
149
+ # This is not standards-compliant, merely user-friendly.
150
+ #
151
+ # @param [String, Addressable::URI, #to_str] uri
152
+ # The URI string to parse.
153
+ # No parsing is performed if the object is already an
154
+ # <code>Addressable::URI</code>.
155
+ # @param [Hash] hints
156
+ # A <code>Hash</code> of hints to the heuristic parser.
157
+ # Defaults to <code>{:scheme => "http"}</code>.
158
+ #
159
+ # @return [Addressable::URI] The parsed URI.
160
+ def self.heuristic_parse(uri, hints={})
161
+ # If we were given nil, return nil.
162
+ return nil unless uri
163
+ # If a URI object is passed, just return itself.
164
+ return uri.dup if uri.kind_of?(self)
165
+
166
+ # If a URI object of the Ruby standard library variety is passed,
167
+ # convert it to a string, then parse the string.
168
+ # We do the check this way because we don't want to accidentally
169
+ # cause a missing constant exception to be thrown.
170
+ if uri.class.name =~ /^URI\b/
171
+ uri = uri.to_s
172
+ end
173
+
174
+ if !uri.respond_to?(:to_str)
175
+ raise TypeError, "Can't convert #{uri.class} into String."
176
+ end
177
+ # Otherwise, convert to a String
178
+ uri = uri.to_str.dup
179
+ hints = {
180
+ :scheme => "http"
181
+ }.merge(hints)
182
+ case uri
183
+ when /^http:\/+/
184
+ uri.gsub!(/^http:\/+/, "http://")
185
+ when /^https:\/+/
186
+ uri.gsub!(/^https:\/+/, "https://")
187
+ when /^feed:\/+http:\/+/
188
+ uri.gsub!(/^feed:\/+http:\/+/, "feed:http://")
189
+ when /^feed:\/+/
190
+ uri.gsub!(/^feed:\/+/, "feed://")
191
+ when /^file:\/+/
192
+ uri.gsub!(/^file:\/+/, "file:///")
193
+ when /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
194
+ uri.gsub!(/^/, hints[:scheme] + "://")
195
+ end
196
+ parsed = self.parse(uri)
197
+ if parsed.scheme =~ /^[^\/?#\.]+\.[^\/?#]+$/
198
+ parsed = self.parse(hints[:scheme] + "://" + uri)
199
+ end
200
+ if parsed.path.include?(".")
201
+ new_host = parsed.path[/^([^\/]+\.[^\/]*)/, 1]
202
+ if new_host
203
+ parsed.defer_validation do
204
+ new_path = parsed.path.gsub(
205
+ Regexp.new("^" + Regexp.escape(new_host)), EMPTY_STR)
206
+ parsed.host = new_host
207
+ parsed.path = new_path
208
+ parsed.scheme = hints[:scheme] unless parsed.scheme
209
+ end
210
+ end
211
+ end
212
+ return parsed
213
+ end
214
+
215
+ ##
216
+ # Converts a path to a file scheme URI. If the path supplied is
217
+ # relative, it will be returned as a relative URI. If the path supplied
218
+ # is actually a non-file URI, it will parse the URI as if it had been
219
+ # parsed with <code>Addressable::URI.parse</code>. Handles all of the
220
+ # various Microsoft-specific formats for specifying paths.
221
+ #
222
+ # @param [String, Addressable::URI, #to_str] path
223
+ # Typically a <code>String</code> path to a file or directory, but
224
+ # will return a sensible return value if an absolute URI is supplied
225
+ # instead.
226
+ #
227
+ # @return [Addressable::URI]
228
+ # The parsed file scheme URI or the original URI if some other URI
229
+ # scheme was provided.
230
+ #
231
+ # @example
232
+ # base = Addressable::URI.convert_path("/absolute/path/")
233
+ # uri = Addressable::URI.convert_path("relative/path")
234
+ # (base + uri).to_s
235
+ # #=> "file:///absolute/path/relative/path"
236
+ #
237
+ # Addressable::URI.convert_path(
238
+ # "c:\\windows\\My Documents 100%20\\foo.txt"
239
+ # ).to_s
240
+ # #=> "file:///c:/windows/My%20Documents%20100%20/foo.txt"
241
+ #
242
+ # Addressable::URI.convert_path("http://example.com/").to_s
243
+ # #=> "http://example.com/"
244
+ def self.convert_path(path)
245
+ # If we were given nil, return nil.
246
+ return nil unless path
247
+ # If a URI object is passed, just return itself.
248
+ return path if path.kind_of?(self)
249
+ if !path.respond_to?(:to_str)
250
+ raise TypeError, "Can't convert #{path.class} into String."
251
+ end
252
+ # Otherwise, convert to a String
253
+ path = path.to_str.strip
254
+
255
+ path.gsub!(/^file:\/?\/?/, EMPTY_STR) if path =~ /^file:\/?\/?/
256
+ path = SLASH + path if path =~ /^([a-zA-Z])[\|:]/
257
+ uri = self.parse(path)
258
+
259
+ if uri.scheme == nil
260
+ # Adjust windows-style uris
261
+ uri.path.gsub!(/^\/?([a-zA-Z])[\|:][\\\/]/) do
262
+ "/#{$1.downcase}:/"
263
+ end
264
+ uri.path.gsub!(/\\/, SLASH)
265
+ if File.exists?(uri.path) &&
266
+ File.stat(uri.path).directory?
267
+ uri.path.gsub!(/\/$/, EMPTY_STR)
268
+ uri.path = uri.path + '/'
269
+ end
270
+
271
+ # If the path is absolute, set the scheme and host.
272
+ if uri.path =~ /^\//
273
+ uri.scheme = "file"
274
+ uri.host = EMPTY_STR
275
+ end
276
+ uri.normalize!
277
+ end
278
+
279
+ return uri
280
+ end
281
+
282
+ ##
283
+ # Joins several URIs together.
284
+ #
285
+ # @param [String, Addressable::URI, #to_str] *uris
286
+ # The URIs to join.
287
+ #
288
+ # @return [Addressable::URI] The joined URI.
289
+ #
290
+ # @example
291
+ # base = "http://example.com/"
292
+ # uri = Addressable::URI.parse("relative/path")
293
+ # Addressable::URI.join(base, uri)
294
+ # #=> #<Addressable::URI:0xcab390 URI:http://example.com/relative/path>
295
+ def self.join(*uris)
296
+ uri_objects = uris.collect do |uri|
297
+ if !uri.respond_to?(:to_str)
298
+ raise TypeError, "Can't convert #{uri.class} into String."
299
+ end
300
+ uri.kind_of?(self) ? uri : self.parse(uri.to_str)
301
+ end
302
+ result = uri_objects.shift.dup
303
+ for uri in uri_objects
304
+ result.join!(uri)
305
+ end
306
+ return result
307
+ end
308
+
309
+ ##
310
+ # Percent encodes a URI component.
311
+ #
312
+ # @param [String, #to_str] component The URI component to encode.
313
+ #
314
+ # @param [String, Regexp] character_class
315
+ # The characters which are not percent encoded. If a <code>String</code>
316
+ # is passed, the <code>String</code> must be formatted as a regular
317
+ # expression character class. (Do not include the surrounding square
318
+ # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
319
+ # everything but the letters 'b' through 'z' and the numbers '0' through
320
+ # '9' to be percent encoded. If a <code>Regexp</code> is passed, the
321
+ # value <code>/[^b-zB-Z0-9]/</code> would have the same effect. A set of
322
+ # useful <code>String</code> values may be found in the
323
+ # <code>Addressable::URI::CharacterClasses</code> module. The default
324
+ # value is the reserved plus unreserved character classes specified in
325
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
326
+ #
327
+ # @param [Regexp] upcase_encoded
328
+ # A string of characters that may already be percent encoded, and whose
329
+ # encodings should be upcased. This allows normalization of percent
330
+ # encodings for characters not included in the
331
+ # <code>character_class</code>.
332
+ #
333
+ # @return [String] The encoded component.
334
+ #
335
+ # @example
336
+ # Addressable::URI.encode_component("simple/example", "b-zB-Z0-9")
337
+ # => "simple%2Fex%61mple"
338
+ # Addressable::URI.encode_component("simple/example", /[^b-zB-Z0-9]/)
339
+ # => "simple%2Fex%61mple"
340
+ # Addressable::URI.encode_component(
341
+ # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
342
+ # )
343
+ # => "simple%2Fexample"
344
+ def self.encode_component(component, character_class=
345
+ CharacterClasses::RESERVED + CharacterClasses::UNRESERVED,
346
+ upcase_encoded='')
347
+ return nil if component.nil?
348
+
349
+ begin
350
+ if component.kind_of?(Symbol) ||
351
+ component.kind_of?(Numeric) ||
352
+ component.kind_of?(TrueClass) ||
353
+ component.kind_of?(FalseClass)
354
+ component = component.to_s
355
+ else
356
+ component = component.to_str
357
+ end
358
+ rescue TypeError, NoMethodError
359
+ raise TypeError, "Can't convert #{component.class} into String."
360
+ end if !component.is_a? String
361
+
362
+ if ![String, Regexp].include?(character_class.class)
363
+ raise TypeError,
364
+ "Expected String or Regexp, got #{character_class.inspect}"
365
+ end
366
+ if character_class.kind_of?(String)
367
+ character_class = /[^#{character_class}]/
368
+ end
369
+ if component.respond_to?(:force_encoding)
370
+ # We can't perform regexps on invalid UTF sequences, but
371
+ # here we need to, so switch to ASCII.
372
+ component = component.dup
373
+ component.force_encoding(Encoding::ASCII_8BIT)
374
+ end
375
+ # Avoiding gsub! because there are edge cases with frozen strings
376
+ component = component.gsub(character_class) do |sequence|
377
+ (sequence.unpack('C*').map { |c| "%" + ("%02x" % c).upcase }).join
378
+ end
379
+ if upcase_encoded.length > 0
380
+ component = component.gsub(/%(#{upcase_encoded.chars.map do |char|
381
+ char.unpack('C*').map { |c| '%02x' % c }.join
382
+ end.join('|')})/i) { |s| s.upcase }
383
+ end
384
+ return component
385
+ end
386
+
387
+ class << self
388
+ alias_method :encode_component, :encode_component
389
+ end
390
+
391
+ ##
392
+ # Unencodes any percent encoded characters within a URI component.
393
+ # This method may be used for unencoding either components or full URIs,
394
+ # however, it is recommended to use the <code>unencode_component</code>
395
+ # alias when unencoding components.
396
+ #
397
+ # @param [String, Addressable::URI, #to_str] uri
398
+ # The URI or component to unencode.
399
+ #
400
+ # @param [Class] return_type
401
+ # The type of object to return.
402
+ # This value may only be set to <code>String</code> or
403
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
404
+ # to <code>String</code>.
405
+ #
406
+ # @param [String] leave_encoded
407
+ # A string of characters to leave encoded. If a percent encoded character
408
+ # in this list is encountered then it will remain percent encoded.
409
+ #
410
+ # @return [String, Addressable::URI]
411
+ # The unencoded component or URI.
412
+ # The return type is determined by the <code>return_type</code>
413
+ # parameter.
414
+ def self.unencode(uri, return_type=String, leave_encoded='')
415
+ return nil if uri.nil?
416
+
417
+ begin
418
+ uri = uri.to_str
419
+ rescue NoMethodError, TypeError
420
+ raise TypeError, "Can't convert #{uri.class} into String."
421
+ end if !uri.is_a? String
422
+ if ![String, ::Addressable::URI].include?(return_type)
423
+ raise TypeError,
424
+ "Expected Class (String or Addressable::URI), " +
425
+ "got #{return_type.inspect}"
426
+ end
427
+ uri = uri.dup
428
+ # Seriously, only use UTF-8. I'm really not kidding!
429
+ uri.force_encoding("utf-8") if uri.respond_to?(:force_encoding)
430
+ leave_encoded.force_encoding("utf-8") if leave_encoded.respond_to?(:force_encoding)
431
+ result = uri.gsub(/%[0-9a-f]{2}/iu) do |sequence|
432
+ c = sequence[1..3].to_i(16).chr
433
+ c.force_encoding("utf-8") if c.respond_to?(:force_encoding)
434
+ leave_encoded.include?(c) ? sequence : c
435
+ end
436
+ result.force_encoding("utf-8") if result.respond_to?(:force_encoding)
437
+ if return_type == String
438
+ return result
439
+ elsif return_type == ::Addressable::URI
440
+ return ::Addressable::URI.parse(result)
441
+ end
442
+ end
443
+
444
+ class << self
445
+ alias_method :unescape, :unencode
446
+ alias_method :unencode_component, :unencode
447
+ alias_method :unescape_component, :unencode
448
+ end
449
+
450
+
451
+ ##
452
+ # Normalizes the encoding of a URI component.
453
+ #
454
+ # @param [String, #to_str] component The URI component to encode.
455
+ #
456
+ # @param [String, Regexp] character_class
457
+ # The characters which are not percent encoded. If a <code>String</code>
458
+ # is passed, the <code>String</code> must be formatted as a regular
459
+ # expression character class. (Do not include the surrounding square
460
+ # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
461
+ # everything but the letters 'b' through 'z' and the numbers '0'
462
+ # through '9' to be percent encoded. If a <code>Regexp</code> is passed,
463
+ # the value <code>/[^b-zB-Z0-9]/</code> would have the same effect. A
464
+ # set of useful <code>String</code> values may be found in the
465
+ # <code>Addressable::URI::CharacterClasses</code> module. The default
466
+ # value is the reserved plus unreserved character classes specified in
467
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
468
+ #
469
+ # @param [String] leave_encoded
470
+ # When <code>character_class</code> is a <code>String</code> then
471
+ # <code>leave_encoded</code> is a string of characters that should remain
472
+ # percent encoded while normalizing the component; if they appear percent
473
+ # encoded in the original component, then they will be upcased ("%2f"
474
+ # normalized to "%2F") but otherwise left alone.
475
+ #
476
+ # @return [String] The normalized component.
477
+ #
478
+ # @example
479
+ # Addressable::URI.normalize_component("simpl%65/%65xampl%65", "b-zB-Z")
480
+ # => "simple%2Fex%61mple"
481
+ # Addressable::URI.normalize_component(
482
+ # "simpl%65/%65xampl%65", /[^b-zB-Z]/
483
+ # )
484
+ # => "simple%2Fex%61mple"
485
+ # Addressable::URI.normalize_component(
486
+ # "simpl%65/%65xampl%65",
487
+ # Addressable::URI::CharacterClasses::UNRESERVED
488
+ # )
489
+ # => "simple%2Fexample"
490
+ # Addressable::URI.normalize_component(
491
+ # "one%20two%2fthree%26four",
492
+ # "0-9a-zA-Z &/",
493
+ # "/"
494
+ # )
495
+ # => "one two%2Fthree&four"
496
+ def self.normalize_component(component, character_class=
497
+ CharacterClasses::RESERVED + CharacterClasses::UNRESERVED,
498
+ leave_encoded='')
499
+ return nil if component.nil?
500
+
501
+ begin
502
+ component = component.to_str
503
+ rescue NoMethodError, TypeError
504
+ raise TypeError, "Can't convert #{component.class} into String."
505
+ end if !component.is_a? String
506
+
507
+ if ![String, Regexp].include?(character_class.class)
508
+ raise TypeError,
509
+ "Expected String or Regexp, got #{character_class.inspect}"
510
+ end
511
+ if character_class.kind_of?(String)
512
+ leave_re = if leave_encoded.length > 0
513
+ character_class = "#{character_class}%" unless character_class.include?('%')
514
+
515
+ "|%(?!#{leave_encoded.chars.map do |char|
516
+ seq = char.unpack('C*').map { |c| '%02x' % c }.join
517
+ [seq.upcase, seq.downcase]
518
+ end.flatten.join('|')})"
519
+ end
520
+
521
+ character_class = /[^#{character_class}]#{leave_re}/
522
+ end
523
+ if component.respond_to?(:force_encoding)
524
+ # We can't perform regexps on invalid UTF sequences, but
525
+ # here we need to, so switch to ASCII.
526
+ component = component.dup
527
+ component.force_encoding(Encoding::ASCII_8BIT)
528
+ end
529
+ unencoded = self.unencode_component(component, String, leave_encoded)
530
+ begin
531
+ encoded = self.encode_component(
532
+ Addressable::IDNA.unicode_normalize_kc(unencoded),
533
+ character_class,
534
+ leave_encoded
535
+ )
536
+ rescue ArgumentError
537
+ encoded = self.encode_component(unencoded)
538
+ end
539
+ if encoded.respond_to?(:force_encoding)
540
+ encoded.force_encoding(Encoding::UTF_8)
541
+ end
542
+ return encoded
543
+ end
544
+
545
+ ##
546
+ # Percent encodes any special characters in the URI.
547
+ #
548
+ # @param [String, Addressable::URI, #to_str] uri
549
+ # The URI to encode.
550
+ #
551
+ # @param [Class] return_type
552
+ # The type of object to return.
553
+ # This value may only be set to <code>String</code> or
554
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
555
+ # to <code>String</code>.
556
+ #
557
+ # @return [String, Addressable::URI]
558
+ # The encoded URI.
559
+ # The return type is determined by the <code>return_type</code>
560
+ # parameter.
561
+ def self.encode(uri, return_type=String)
562
+ return nil if uri.nil?
563
+
564
+ begin
565
+ uri = uri.to_str
566
+ rescue NoMethodError, TypeError
567
+ raise TypeError, "Can't convert #{uri.class} into String."
568
+ end if !uri.is_a? String
569
+
570
+ if ![String, ::Addressable::URI].include?(return_type)
571
+ raise TypeError,
572
+ "Expected Class (String or Addressable::URI), " +
573
+ "got #{return_type.inspect}"
574
+ end
575
+ uri_object = uri.kind_of?(self) ? uri : self.parse(uri)
576
+ encoded_uri = Addressable::URI.new(
577
+ :scheme => self.encode_component(uri_object.scheme,
578
+ Addressable::URI::CharacterClasses::SCHEME),
579
+ :authority => self.encode_component(uri_object.authority,
580
+ Addressable::URI::CharacterClasses::AUTHORITY),
581
+ :path => self.encode_component(uri_object.path,
582
+ Addressable::URI::CharacterClasses::PATH),
583
+ :query => self.encode_component(uri_object.query,
584
+ Addressable::URI::CharacterClasses::QUERY),
585
+ :fragment => self.encode_component(uri_object.fragment,
586
+ Addressable::URI::CharacterClasses::FRAGMENT)
587
+ )
588
+ if return_type == String
589
+ return encoded_uri.to_s
590
+ elsif return_type == ::Addressable::URI
591
+ return encoded_uri
592
+ end
593
+ end
594
+
595
+ class << self
596
+ alias_method :escape, :encode
597
+ end
598
+
599
+ ##
600
+ # Normalizes the encoding of a URI. Characters within a hostname are
601
+ # not percent encoded to allow for internationalized domain names.
602
+ #
603
+ # @param [String, Addressable::URI, #to_str] uri
604
+ # The URI to encode.
605
+ #
606
+ # @param [Class] return_type
607
+ # The type of object to return.
608
+ # This value may only be set to <code>String</code> or
609
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
610
+ # to <code>String</code>.
611
+ #
612
+ # @return [String, Addressable::URI]
613
+ # The encoded URI.
614
+ # The return type is determined by the <code>return_type</code>
615
+ # parameter.
616
+ def self.normalized_encode(uri, return_type=String)
617
+ begin
618
+ uri = uri.to_str
619
+ rescue NoMethodError, TypeError
620
+ raise TypeError, "Can't convert #{uri.class} into String."
621
+ end if !uri.is_a? String
622
+
623
+ if ![String, ::Addressable::URI].include?(return_type)
624
+ raise TypeError,
625
+ "Expected Class (String or Addressable::URI), " +
626
+ "got #{return_type.inspect}"
627
+ end
628
+ uri_object = uri.kind_of?(self) ? uri : self.parse(uri)
629
+ components = {
630
+ :scheme => self.unencode_component(uri_object.scheme),
631
+ :user => self.unencode_component(uri_object.user),
632
+ :password => self.unencode_component(uri_object.password),
633
+ :host => self.unencode_component(uri_object.host),
634
+ :port => (uri_object.port.nil? ? nil : uri_object.port.to_s),
635
+ :path => self.unencode_component(uri_object.path),
636
+ :query => self.unencode_component(uri_object.query),
637
+ :fragment => self.unencode_component(uri_object.fragment)
638
+ }
639
+ components.each do |key, value|
640
+ if value != nil
641
+ begin
642
+ components[key] =
643
+ Addressable::IDNA.unicode_normalize_kc(value.to_str)
644
+ rescue ArgumentError
645
+ # Likely a malformed UTF-8 character, skip unicode normalization
646
+ components[key] = value.to_str
647
+ end
648
+ end
649
+ end
650
+ encoded_uri = Addressable::URI.new(
651
+ :scheme => self.encode_component(components[:scheme],
652
+ Addressable::URI::CharacterClasses::SCHEME),
653
+ :user => self.encode_component(components[:user],
654
+ Addressable::URI::CharacterClasses::UNRESERVED),
655
+ :password => self.encode_component(components[:password],
656
+ Addressable::URI::CharacterClasses::UNRESERVED),
657
+ :host => components[:host],
658
+ :port => components[:port],
659
+ :path => self.encode_component(components[:path],
660
+ Addressable::URI::CharacterClasses::PATH),
661
+ :query => self.encode_component(components[:query],
662
+ Addressable::URI::CharacterClasses::QUERY),
663
+ :fragment => self.encode_component(components[:fragment],
664
+ Addressable::URI::CharacterClasses::FRAGMENT)
665
+ )
666
+ if return_type == String
667
+ return encoded_uri.to_s
668
+ elsif return_type == ::Addressable::URI
669
+ return encoded_uri
670
+ end
671
+ end
672
+
673
+ ##
674
+ # Encodes a set of key/value pairs according to the rules for the
675
+ # <code>application/x-www-form-urlencoded</code> MIME type.
676
+ #
677
+ # @param [#to_hash, #to_ary] form_values
678
+ # The form values to encode.
679
+ #
680
+ # @param [TrueClass, FalseClass] sort
681
+ # Sort the key/value pairs prior to encoding.
682
+ # Defaults to <code>false</code>.
683
+ #
684
+ # @return [String]
685
+ # The encoded value.
686
+ def self.form_encode(form_values, sort=false)
687
+ if form_values.respond_to?(:to_hash)
688
+ form_values = form_values.to_hash.to_a
689
+ elsif form_values.respond_to?(:to_ary)
690
+ form_values = form_values.to_ary
691
+ else
692
+ raise TypeError, "Can't convert #{form_values.class} into Array."
693
+ end
694
+
695
+ form_values = form_values.inject([]) do |accu, (key, value)|
696
+ if value.kind_of?(Array)
697
+ value.each do |v|
698
+ accu << [key.to_s, v.to_s]
699
+ end
700
+ else
701
+ accu << [key.to_s, value.to_s]
702
+ end
703
+ accu
704
+ end
705
+
706
+ if sort
707
+ # Useful for OAuth and optimizing caching systems
708
+ form_values = form_values.sort
709
+ end
710
+ escaped_form_values = form_values.map do |(key, value)|
711
+ # Line breaks are CRLF pairs
712
+ [
713
+ self.encode_component(
714
+ key.gsub(/(\r\n|\n|\r)/, "\r\n"),
715
+ CharacterClasses::UNRESERVED
716
+ ).gsub("%20", "+"),
717
+ self.encode_component(
718
+ value.gsub(/(\r\n|\n|\r)/, "\r\n"),
719
+ CharacterClasses::UNRESERVED
720
+ ).gsub("%20", "+")
721
+ ]
722
+ end
723
+ return (escaped_form_values.map do |(key, value)|
724
+ "#{key}=#{value}"
725
+ end).join("&")
726
+ end
727
+
728
+ ##
729
+ # Decodes a <code>String</code> according to the rules for the
730
+ # <code>application/x-www-form-urlencoded</code> MIME type.
731
+ #
732
+ # @param [String, #to_str] encoded_value
733
+ # The form values to decode.
734
+ #
735
+ # @return [Array]
736
+ # The decoded values.
737
+ # This is not a <code>Hash</code> because of the possibility for
738
+ # duplicate keys.
739
+ def self.form_unencode(encoded_value)
740
+ if !encoded_value.respond_to?(:to_str)
741
+ raise TypeError, "Can't convert #{encoded_value.class} into String."
742
+ end
743
+ encoded_value = encoded_value.to_str
744
+ split_values = encoded_value.split("&").map do |pair|
745
+ pair.split("=", 2)
746
+ end
747
+ return split_values.map do |(key, value)|
748
+ [
749
+ key ? self.unencode_component(
750
+ key.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n") : nil,
751
+ value ? (self.unencode_component(
752
+ value.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n")) : nil
753
+ ]
754
+ end
755
+ end
756
+
757
+ ##
758
+ # Creates a new uri object from component parts.
759
+ #
760
+ # @option [String, #to_str] scheme The scheme component.
761
+ # @option [String, #to_str] user The user component.
762
+ # @option [String, #to_str] password The password component.
763
+ # @option [String, #to_str] userinfo
764
+ # The userinfo component. If this is supplied, the user and password
765
+ # components must be omitted.
766
+ # @option [String, #to_str] host The host component.
767
+ # @option [String, #to_str] port The port component.
768
+ # @option [String, #to_str] authority
769
+ # The authority component. If this is supplied, the user, password,
770
+ # userinfo, host, and port components must be omitted.
771
+ # @option [String, #to_str] path The path component.
772
+ # @option [String, #to_str] query The query component.
773
+ # @option [String, #to_str] fragment The fragment component.
774
+ #
775
+ # @return [Addressable::URI] The constructed URI object.
776
+ def initialize(options={})
777
+ if options.has_key?(:authority)
778
+ if (options.keys & [:userinfo, :user, :password, :host, :port]).any?
779
+ raise ArgumentError,
780
+ "Cannot specify both an authority and any of the components " +
781
+ "within the authority."
782
+ end
783
+ end
784
+ if options.has_key?(:userinfo)
785
+ if (options.keys & [:user, :password]).any?
786
+ raise ArgumentError,
787
+ "Cannot specify both a userinfo and either the user or password."
788
+ end
789
+ end
790
+
791
+ self.defer_validation do
792
+ # Bunch of crazy logic required because of the composite components
793
+ # like userinfo and authority.
794
+ self.scheme = options[:scheme] if options[:scheme]
795
+ self.user = options[:user] if options[:user]
796
+ self.password = options[:password] if options[:password]
797
+ self.userinfo = options[:userinfo] if options[:userinfo]
798
+ self.host = options[:host] if options[:host]
799
+ self.port = options[:port] if options[:port]
800
+ self.authority = options[:authority] if options[:authority]
801
+ self.path = options[:path] if options[:path]
802
+ self.query = options[:query] if options[:query]
803
+ self.query_values = options[:query_values] if options[:query_values]
804
+ self.fragment = options[:fragment] if options[:fragment]
805
+ end
806
+ end
807
+
808
+ ##
809
+ # Freeze URI, initializing instance variables.
810
+ #
811
+ # @return [Addressable::URI] The frozen URI object.
812
+ def freeze
813
+ self.normalized_scheme
814
+ self.normalized_user
815
+ self.normalized_password
816
+ self.normalized_userinfo
817
+ self.normalized_host
818
+ self.normalized_port
819
+ self.normalized_authority
820
+ self.normalized_site
821
+ self.normalized_path
822
+ self.normalized_query
823
+ self.normalized_fragment
824
+ self.hash
825
+ super
826
+ end
827
+
828
+ ##
829
+ # The scheme component for this URI.
830
+ #
831
+ # @return [String] The scheme component.
832
+ def scheme
833
+ return instance_variable_defined?(:@scheme) ? @scheme : nil
834
+ end
835
+
836
+ ##
837
+ # The scheme component for this URI, normalized.
838
+ #
839
+ # @return [String] The scheme component, normalized.
840
+ def normalized_scheme
841
+ self.scheme && @normalized_scheme ||= (begin
842
+ if self.scheme =~ /^\s*ssh\+svn\s*$/i
843
+ "svn+ssh"
844
+ else
845
+ Addressable::URI.normalize_component(
846
+ self.scheme.strip.downcase,
847
+ Addressable::URI::CharacterClasses::SCHEME
848
+ )
849
+ end
850
+ end)
851
+ end
852
+
853
+ ##
854
+ # Sets the scheme component for this URI.
855
+ #
856
+ # @param [String, #to_str] new_scheme The new scheme component.
857
+ def scheme=(new_scheme)
858
+ if new_scheme && !new_scheme.respond_to?(:to_str)
859
+ raise TypeError, "Can't convert #{new_scheme.class} into String."
860
+ elsif new_scheme
861
+ new_scheme = new_scheme.to_str
862
+ end
863
+ if new_scheme && new_scheme !~ /[a-z][a-z0-9\.\+\-]*/i
864
+ raise InvalidURIError, "Invalid scheme format."
865
+ end
866
+ @scheme = new_scheme
867
+ @scheme = nil if @scheme.to_s.strip.empty?
868
+
869
+ # Reset dependant values
870
+ @normalized_scheme = nil
871
+ @uri_string = nil
872
+ @hash = nil
873
+
874
+ # Ensure we haven't created an invalid URI
875
+ validate()
876
+ end
877
+
878
+ ##
879
+ # The user component for this URI.
880
+ #
881
+ # @return [String] The user component.
882
+ def user
883
+ return instance_variable_defined?(:@user) ? @user : nil
884
+ end
885
+
886
+ ##
887
+ # The user component for this URI, normalized.
888
+ #
889
+ # @return [String] The user component, normalized.
890
+ def normalized_user
891
+ self.user && @normalized_user ||= (begin
892
+ if normalized_scheme =~ /https?/ && self.user.strip.empty? &&
893
+ (!self.password || self.password.strip.empty?)
894
+ nil
895
+ else
896
+ Addressable::URI.normalize_component(
897
+ self.user.strip,
898
+ Addressable::URI::CharacterClasses::UNRESERVED
899
+ )
900
+ end
901
+ end)
902
+ end
903
+
904
+ ##
905
+ # Sets the user component for this URI.
906
+ #
907
+ # @param [String, #to_str] new_user The new user component.
908
+ def user=(new_user)
909
+ if new_user && !new_user.respond_to?(:to_str)
910
+ raise TypeError, "Can't convert #{new_user.class} into String."
911
+ end
912
+ @user = new_user ? new_user.to_str : nil
913
+
914
+ # You can't have a nil user with a non-nil password
915
+ if password != nil
916
+ @user = EMPTY_STR if @user.nil?
917
+ end
918
+
919
+ # Reset dependant values
920
+ @userinfo = nil
921
+ @normalized_userinfo = nil
922
+ @authority = nil
923
+ @normalized_user = nil
924
+ @uri_string = nil
925
+ @hash = nil
926
+
927
+ # Ensure we haven't created an invalid URI
928
+ validate()
929
+ end
930
+
931
+ ##
932
+ # The password component for this URI.
933
+ #
934
+ # @return [String] The password component.
935
+ def password
936
+ return instance_variable_defined?(:@password) ? @password : nil
937
+ end
938
+
939
+ ##
940
+ # The password component for this URI, normalized.
941
+ #
942
+ # @return [String] The password component, normalized.
943
+ def normalized_password
944
+ self.password && @normalized_password ||= (begin
945
+ if self.normalized_scheme =~ /https?/ && self.password.strip.empty? &&
946
+ (!self.user || self.user.strip.empty?)
947
+ nil
948
+ else
949
+ Addressable::URI.normalize_component(
950
+ self.password.strip,
951
+ Addressable::URI::CharacterClasses::UNRESERVED
952
+ )
953
+ end
954
+ end)
955
+ end
956
+
957
+ ##
958
+ # Sets the password component for this URI.
959
+ #
960
+ # @param [String, #to_str] new_password The new password component.
961
+ def password=(new_password)
962
+ if new_password && !new_password.respond_to?(:to_str)
963
+ raise TypeError, "Can't convert #{new_password.class} into String."
964
+ end
965
+ @password = new_password ? new_password.to_str : nil
966
+
967
+ # You can't have a nil user with a non-nil password
968
+ @password ||= nil
969
+ @user ||= nil
970
+ if @password != nil
971
+ @user = EMPTY_STR if @user.nil?
972
+ end
973
+
974
+ # Reset dependant values
975
+ @userinfo = nil
976
+ @normalized_userinfo = nil
977
+ @authority = nil
978
+ @normalized_password = nil
979
+ @uri_string = nil
980
+ @hash = nil
981
+
982
+ # Ensure we haven't created an invalid URI
983
+ validate()
984
+ end
985
+
986
+ ##
987
+ # The userinfo component for this URI.
988
+ # Combines the user and password components.
989
+ #
990
+ # @return [String] The userinfo component.
991
+ def userinfo
992
+ current_user = self.user
993
+ current_password = self.password
994
+ (current_user || current_password) && @userinfo ||= (begin
995
+ if current_user && current_password
996
+ "#{current_user}:#{current_password}"
997
+ elsif current_user && !current_password
998
+ "#{current_user}"
999
+ end
1000
+ end)
1001
+ end
1002
+
1003
+ ##
1004
+ # The userinfo component for this URI, normalized.
1005
+ #
1006
+ # @return [String] The userinfo component, normalized.
1007
+ def normalized_userinfo
1008
+ self.userinfo && @normalized_userinfo ||= (begin
1009
+ current_user = self.normalized_user
1010
+ current_password = self.normalized_password
1011
+ if !current_user && !current_password
1012
+ nil
1013
+ elsif current_user && current_password
1014
+ "#{current_user}:#{current_password}"
1015
+ elsif current_user && !current_password
1016
+ "#{current_user}"
1017
+ end
1018
+ end)
1019
+ end
1020
+
1021
+ ##
1022
+ # Sets the userinfo component for this URI.
1023
+ #
1024
+ # @param [String, #to_str] new_userinfo The new userinfo component.
1025
+ def userinfo=(new_userinfo)
1026
+ if new_userinfo && !new_userinfo.respond_to?(:to_str)
1027
+ raise TypeError, "Can't convert #{new_userinfo.class} into String."
1028
+ end
1029
+ new_user, new_password = if new_userinfo
1030
+ [
1031
+ new_userinfo.to_str.strip[/^(.*):/, 1],
1032
+ new_userinfo.to_str.strip[/:(.*)$/, 1]
1033
+ ]
1034
+ else
1035
+ [nil, nil]
1036
+ end
1037
+
1038
+ # Password assigned first to ensure validity in case of nil
1039
+ self.password = new_password
1040
+ self.user = new_user
1041
+
1042
+ # Reset dependant values
1043
+ @authority = nil
1044
+ @uri_string = nil
1045
+ @hash = nil
1046
+
1047
+ # Ensure we haven't created an invalid URI
1048
+ validate()
1049
+ end
1050
+
1051
+ ##
1052
+ # The host component for this URI.
1053
+ #
1054
+ # @return [String] The host component.
1055
+ def host
1056
+ return instance_variable_defined?(:@host) ? @host : nil
1057
+ end
1058
+
1059
+ ##
1060
+ # The host component for this URI, normalized.
1061
+ #
1062
+ # @return [String] The host component, normalized.
1063
+ def normalized_host
1064
+ self.host && @normalized_host ||= (begin
1065
+ if !self.host.strip.empty?
1066
+ result = ::Addressable::IDNA.to_ascii(
1067
+ URI.unencode_component(self.host.strip.downcase)
1068
+ )
1069
+ if result =~ /[^\.]\.$/
1070
+ # Single trailing dots are unnecessary.
1071
+ result = result[0...-1]
1072
+ end
1073
+ result
1074
+ else
1075
+ EMPTY_STR
1076
+ end
1077
+ end)
1078
+ end
1079
+
1080
+ ##
1081
+ # Sets the host component for this URI.
1082
+ #
1083
+ # @param [String, #to_str] new_host The new host component.
1084
+ def host=(new_host)
1085
+ if new_host && !new_host.respond_to?(:to_str)
1086
+ raise TypeError, "Can't convert #{new_host.class} into String."
1087
+ end
1088
+ @host = new_host ? new_host.to_str : nil
1089
+
1090
+ unreserved = CharacterClasses::UNRESERVED
1091
+ sub_delims = CharacterClasses::SUB_DELIMS
1092
+ if @host != nil && (@host =~ /[<>{}\/\?\#\@]/ ||
1093
+ (@host[/^\[(.*)\]$/, 1] != nil && @host[/^\[(.*)\]$/, 1] !~
1094
+ Regexp.new("^[#{unreserved}#{sub_delims}:]*$")))
1095
+ raise InvalidURIError, "Invalid character in host: '#{@host.to_s}'"
1096
+ end
1097
+
1098
+ # Reset dependant values
1099
+ @authority = nil
1100
+ @normalized_host = nil
1101
+ @uri_string = nil
1102
+ @hash = nil
1103
+
1104
+ # Ensure we haven't created an invalid URI
1105
+ validate()
1106
+ end
1107
+
1108
+ ##
1109
+ # This method is same as URI::Generic#host except
1110
+ # brackets for IPv6 (and 'IPvFuture') addresses are removed.
1111
+ #
1112
+ # @see Addressable::URI#host
1113
+ #
1114
+ # @return [String] The hostname for this URI.
1115
+ def hostname
1116
+ v = self.host
1117
+ /\A\[(.*)\]\z/ =~ v ? $1 : v
1118
+ end
1119
+
1120
+ ##
1121
+ # This method is same as URI::Generic#host= except
1122
+ # the argument can be a bare IPv6 address (or 'IPvFuture').
1123
+ #
1124
+ # @see Addressable::URI#host=
1125
+ #
1126
+ # @param [String, #to_str] new_hostname The new hostname for this URI.
1127
+ def hostname=(new_hostname)
1128
+ if new_hostname && !new_hostname.respond_to?(:to_str)
1129
+ raise TypeError, "Can't convert #{new_hostname.class} into String."
1130
+ end
1131
+ v = new_hostname ? new_hostname.to_str : nil
1132
+ v = "[#{v}]" if /\A\[.*\]\z/ !~ v && /:/ =~ v
1133
+ self.host = v
1134
+ end
1135
+
1136
+ ##
1137
+ # The authority component for this URI.
1138
+ # Combines the user, password, host, and port components.
1139
+ #
1140
+ # @return [String] The authority component.
1141
+ def authority
1142
+ self.host && @authority ||= (begin
1143
+ authority = ""
1144
+ if self.userinfo != nil
1145
+ authority << "#{self.userinfo}@"
1146
+ end
1147
+ authority << self.host
1148
+ if self.port != nil
1149
+ authority << ":#{self.port}"
1150
+ end
1151
+ authority
1152
+ end)
1153
+ end
1154
+
1155
+ ##
1156
+ # The authority component for this URI, normalized.
1157
+ #
1158
+ # @return [String] The authority component, normalized.
1159
+ def normalized_authority
1160
+ self.authority && @normalized_authority ||= (begin
1161
+ authority = ""
1162
+ if self.normalized_userinfo != nil
1163
+ authority << "#{self.normalized_userinfo}@"
1164
+ end
1165
+ authority << self.normalized_host
1166
+ if self.normalized_port != nil
1167
+ authority << ":#{self.normalized_port}"
1168
+ end
1169
+ authority
1170
+ end)
1171
+ end
1172
+
1173
+ ##
1174
+ # Sets the authority component for this URI.
1175
+ #
1176
+ # @param [String, #to_str] new_authority The new authority component.
1177
+ def authority=(new_authority)
1178
+ if new_authority
1179
+ if !new_authority.respond_to?(:to_str)
1180
+ raise TypeError, "Can't convert #{new_authority.class} into String."
1181
+ end
1182
+ new_authority = new_authority.to_str
1183
+ new_userinfo = new_authority[/^([^\[\]]*)@/, 1]
1184
+ if new_userinfo
1185
+ new_user = new_userinfo.strip[/^([^:]*):?/, 1]
1186
+ new_password = new_userinfo.strip[/:(.*)$/, 1]
1187
+ end
1188
+ new_host = new_authority.gsub(
1189
+ /^([^\[\]]*)@/, EMPTY_STR
1190
+ ).gsub(
1191
+ /:([^:@\[\]]*?)$/, EMPTY_STR
1192
+ )
1193
+ new_port =
1194
+ new_authority[/:([^:@\[\]]*?)$/, 1]
1195
+ end
1196
+
1197
+ # Password assigned first to ensure validity in case of nil
1198
+ self.password = defined?(new_password) ? new_password : nil
1199
+ self.user = defined?(new_user) ? new_user : nil
1200
+ self.host = defined?(new_host) ? new_host : nil
1201
+ self.port = defined?(new_port) ? new_port : nil
1202
+
1203
+ # Reset dependant values
1204
+ @userinfo = nil
1205
+ @normalized_userinfo = nil
1206
+ @uri_string = nil
1207
+ @hash = nil
1208
+
1209
+ # Ensure we haven't created an invalid URI
1210
+ validate()
1211
+ end
1212
+
1213
+ ##
1214
+ # The origin for this URI, serialized to ASCII, as per
1215
+ # RFC 6454, section 6.2.
1216
+ #
1217
+ # @return [String] The serialized origin.
1218
+ def origin
1219
+ return (if self.scheme && self.authority
1220
+ if self.normalized_port
1221
+ (
1222
+ "#{self.normalized_scheme}://#{self.normalized_host}" +
1223
+ ":#{self.normalized_port}"
1224
+ )
1225
+ else
1226
+ "#{self.normalized_scheme}://#{self.normalized_host}"
1227
+ end
1228
+ else
1229
+ "null"
1230
+ end)
1231
+ end
1232
+
1233
+ # Returns an array of known ip-based schemes. These schemes typically
1234
+ # use a similar URI form:
1235
+ # <code>//<user>:<password>@<host>:<port>/<url-path></code>
1236
+ def self.ip_based_schemes
1237
+ return self.port_mapping.keys
1238
+ end
1239
+
1240
+ # Returns a hash of common IP-based schemes and their default port
1241
+ # numbers. Adding new schemes to this hash, as necessary, will allow
1242
+ # for better URI normalization.
1243
+ def self.port_mapping
1244
+ PORT_MAPPING
1245
+ end
1246
+
1247
+ ##
1248
+ # The port component for this URI.
1249
+ # This is the port number actually given in the URI. This does not
1250
+ # infer port numbers from default values.
1251
+ #
1252
+ # @return [Integer] The port component.
1253
+ def port
1254
+ return instance_variable_defined?(:@port) ? @port : nil
1255
+ end
1256
+
1257
+ ##
1258
+ # The port component for this URI, normalized.
1259
+ #
1260
+ # @return [Integer] The port component, normalized.
1261
+ def normalized_port
1262
+ if URI.port_mapping[self.normalized_scheme] == self.port
1263
+ nil
1264
+ else
1265
+ self.port
1266
+ end
1267
+ end
1268
+
1269
+ ##
1270
+ # Sets the port component for this URI.
1271
+ #
1272
+ # @param [String, Integer, #to_s] new_port The new port component.
1273
+ def port=(new_port)
1274
+ if new_port != nil && new_port.respond_to?(:to_str)
1275
+ new_port = Addressable::URI.unencode_component(new_port.to_str)
1276
+ end
1277
+ if new_port != nil && !(new_port.to_s =~ /^\d+$/)
1278
+ raise InvalidURIError,
1279
+ "Invalid port number: #{new_port.inspect}"
1280
+ end
1281
+
1282
+ @port = new_port.to_s.to_i
1283
+ @port = nil if @port == 0
1284
+
1285
+ # Reset dependant values
1286
+ @authority = nil
1287
+ @normalized_port = nil
1288
+ @uri_string = nil
1289
+ @hash = nil
1290
+
1291
+ # Ensure we haven't created an invalid URI
1292
+ validate()
1293
+ end
1294
+
1295
+ ##
1296
+ # The inferred port component for this URI.
1297
+ # This method will normalize to the default port for the URI's scheme if
1298
+ # the port isn't explicitly specified in the URI.
1299
+ #
1300
+ # @return [Integer] The inferred port component.
1301
+ def inferred_port
1302
+ if self.port.to_i == 0
1303
+ self.default_port
1304
+ else
1305
+ self.port.to_i
1306
+ end
1307
+ end
1308
+
1309
+ ##
1310
+ # The default port for this URI's scheme.
1311
+ # This method will always returns the default port for the URI's scheme
1312
+ # regardless of the presence of an explicit port in the URI.
1313
+ #
1314
+ # @return [Integer] The default port.
1315
+ def default_port
1316
+ URI.port_mapping[self.scheme.strip.downcase] if self.scheme
1317
+ end
1318
+
1319
+ ##
1320
+ # The combination of components that represent a site.
1321
+ # Combines the scheme, user, password, host, and port components.
1322
+ # Primarily useful for HTTP and HTTPS.
1323
+ #
1324
+ # For example, <code>"http://example.com/path?query"</code> would have a
1325
+ # <code>site</code> value of <code>"http://example.com"</code>.
1326
+ #
1327
+ # @return [String] The components that identify a site.
1328
+ def site
1329
+ (self.scheme || self.authority) && @site ||= (begin
1330
+ site_string = ""
1331
+ site_string << "#{self.scheme}:" if self.scheme != nil
1332
+ site_string << "//#{self.authority}" if self.authority != nil
1333
+ site_string
1334
+ end)
1335
+ end
1336
+
1337
+ ##
1338
+ # The normalized combination of components that represent a site.
1339
+ # Combines the scheme, user, password, host, and port components.
1340
+ # Primarily useful for HTTP and HTTPS.
1341
+ #
1342
+ # For example, <code>"http://example.com/path?query"</code> would have a
1343
+ # <code>site</code> value of <code>"http://example.com"</code>.
1344
+ #
1345
+ # @return [String] The normalized components that identify a site.
1346
+ def normalized_site
1347
+ self.site && @normalized_site ||= (begin
1348
+ site_string = ""
1349
+ if self.normalized_scheme != nil
1350
+ site_string << "#{self.normalized_scheme}:"
1351
+ end
1352
+ if self.normalized_authority != nil
1353
+ site_string << "//#{self.normalized_authority}"
1354
+ end
1355
+ site_string
1356
+ end)
1357
+ end
1358
+
1359
+ ##
1360
+ # Sets the site value for this URI.
1361
+ #
1362
+ # @param [String, #to_str] new_site The new site value.
1363
+ def site=(new_site)
1364
+ if new_site
1365
+ if !new_site.respond_to?(:to_str)
1366
+ raise TypeError, "Can't convert #{new_site.class} into String."
1367
+ end
1368
+ new_site = new_site.to_str
1369
+ # These two regular expressions derived from the primary parsing
1370
+ # expression
1371
+ self.scheme = new_site[/^(?:([^:\/?#]+):)?(?:\/\/(?:[^\/?#]*))?$/, 1]
1372
+ self.authority = new_site[
1373
+ /^(?:(?:[^:\/?#]+):)?(?:\/\/([^\/?#]*))?$/, 1
1374
+ ]
1375
+ else
1376
+ self.scheme = nil
1377
+ self.authority = nil
1378
+ end
1379
+ end
1380
+
1381
+ ##
1382
+ # The path component for this URI.
1383
+ #
1384
+ # @return [String] The path component.
1385
+ def path
1386
+ return instance_variable_defined?(:@path) ? @path : EMPTY_STR
1387
+ end
1388
+
1389
+ NORMPATH = /^(?!\/)[^\/:]*:.*$/
1390
+ ##
1391
+ # The path component for this URI, normalized.
1392
+ #
1393
+ # @return [String] The path component, normalized.
1394
+ def normalized_path
1395
+ @normalized_path ||= (begin
1396
+ path = self.path.to_s
1397
+ if self.scheme == nil && path =~ NORMPATH
1398
+ # Relative paths with colons in the first segment are ambiguous.
1399
+ path = path.sub(":", "%2F")
1400
+ end
1401
+ # String#split(delimeter, -1) uses the more strict splitting behavior
1402
+ # found by default in Python.
1403
+ result = (path.strip.split(SLASH, -1).map do |segment|
1404
+ Addressable::URI.normalize_component(
1405
+ segment,
1406
+ Addressable::URI::CharacterClasses::PCHAR
1407
+ )
1408
+ end).join(SLASH)
1409
+
1410
+ result = URI.normalize_path(result)
1411
+ if result.empty? &&
1412
+ ["http", "https", "ftp", "tftp"].include?(self.normalized_scheme)
1413
+ result = SLASH
1414
+ end
1415
+ result
1416
+ end)
1417
+ end
1418
+
1419
+ ##
1420
+ # Sets the path component for this URI.
1421
+ #
1422
+ # @param [String, #to_str] new_path The new path component.
1423
+ def path=(new_path)
1424
+ if new_path && !new_path.respond_to?(:to_str)
1425
+ raise TypeError, "Can't convert #{new_path.class} into String."
1426
+ end
1427
+ @path = (new_path || EMPTY_STR).to_str
1428
+ if !@path.empty? && @path[0..0] != SLASH && host != nil
1429
+ @path = "/#{@path}"
1430
+ end
1431
+
1432
+ # Reset dependant values
1433
+ @normalized_path = nil
1434
+ @uri_string = nil
1435
+ @hash = nil
1436
+ end
1437
+
1438
+ ##
1439
+ # The basename, if any, of the file in the path component.
1440
+ #
1441
+ # @return [String] The path's basename.
1442
+ def basename
1443
+ # Path cannot be nil
1444
+ return File.basename(self.path).gsub(/;[^\/]*$/, EMPTY_STR)
1445
+ end
1446
+
1447
+ ##
1448
+ # The extname, if any, of the file in the path component.
1449
+ # Empty string if there is no extension.
1450
+ #
1451
+ # @return [String] The path's extname.
1452
+ def extname
1453
+ return nil unless self.path
1454
+ return File.extname(self.basename)
1455
+ end
1456
+
1457
+ ##
1458
+ # The query component for this URI.
1459
+ #
1460
+ # @return [String] The query component.
1461
+ def query
1462
+ return instance_variable_defined?(:@query) ? @query : nil
1463
+ end
1464
+
1465
+ ##
1466
+ # The query component for this URI, normalized.
1467
+ #
1468
+ # @return [String] The query component, normalized.
1469
+ def normalized_query(*flags)
1470
+ modified_query_class = Addressable::URI::CharacterClasses::QUERY.dup
1471
+ # Make sure possible key-value pair delimiters are escaped.
1472
+ modified_query_class.sub!("\\&", "").sub!("\\;", "")
1473
+ pairs = (self.query || "").split("&", -1)
1474
+ pairs.sort! if flags.include?(:sorted)
1475
+ component = (pairs.map do |pair|
1476
+ Addressable::URI.normalize_component(pair, modified_query_class, "+")
1477
+ end).join("&")
1478
+ component == "" ? nil : component
1479
+ end
1480
+
1481
+ ##
1482
+ # Sets the query component for this URI.
1483
+ #
1484
+ # @param [String, #to_str] new_query The new query component.
1485
+ def query=(new_query)
1486
+ if new_query && !new_query.respond_to?(:to_str)
1487
+ raise TypeError, "Can't convert #{new_query.class} into String."
1488
+ end
1489
+ @query = new_query ? new_query.to_str : nil
1490
+
1491
+ # Reset dependant values
1492
+ @normalized_query = nil
1493
+ @uri_string = nil
1494
+ @hash = nil
1495
+ end
1496
+
1497
+ ##
1498
+ # Converts the query component to a Hash value.
1499
+ #
1500
+ # @param [Class] return_type The return type desired. Value must be either
1501
+ # `Hash` or `Array`.
1502
+ #
1503
+ # @return [Hash, Array] The query string parsed as a Hash or Array object.
1504
+ #
1505
+ # @example
1506
+ # Addressable::URI.parse("?one=1&two=2&three=3").query_values
1507
+ # #=> {"one" => "1", "two" => "2", "three" => "3"}
1508
+ # Addressable::URI.parse("?one=two&one=three").query_values(Array)
1509
+ # #=> [["one", "two"], ["one", "three"]]
1510
+ # Addressable::URI.parse("?one=two&one=three").query_values(Hash)
1511
+ # #=> {"one" => "three"}
1512
+ def query_values(return_type=Hash)
1513
+ empty_accumulator = Array == return_type ? [] : {}
1514
+ if return_type != Hash && return_type != Array
1515
+ raise ArgumentError, "Invalid return type. Must be Hash or Array."
1516
+ end
1517
+ return nil if self.query == nil
1518
+ split_query = (self.query.split("&").map do |pair|
1519
+ pair.split("=", 2) if pair && !pair.empty?
1520
+ end).compact
1521
+ return split_query.inject(empty_accumulator.dup) do |accu, pair|
1522
+ # I'd rather use key/value identifiers instead of array lookups,
1523
+ # but in this case I really want to maintain the exact pair structure,
1524
+ # so it's best to make all changes in-place.
1525
+ pair[0] = URI.unencode_component(pair[0])
1526
+ if pair[1].respond_to?(:to_str)
1527
+ # I loathe the fact that I have to do this. Stupid HTML 4.01.
1528
+ # Treating '+' as a space was just an unbelievably bad idea.
1529
+ # There was nothing wrong with '%20'!
1530
+ # If it ain't broke, don't fix it!
1531
+ pair[1] = URI.unencode_component(pair[1].to_str.gsub(/\+/, " "))
1532
+ end
1533
+ if return_type == Hash
1534
+ accu[pair[0]] = pair[1]
1535
+ else
1536
+ accu << pair
1537
+ end
1538
+ accu
1539
+ end
1540
+ end
1541
+
1542
+ ##
1543
+ # Sets the query component for this URI from a Hash object.
1544
+ # An empty Hash or Array will result in an empty query string.
1545
+ #
1546
+ # @param [Hash, #to_hash, Array] new_query_values The new query values.
1547
+ #
1548
+ # @example
1549
+ # uri.query_values = {:a => "a", :b => ["c", "d", "e"]}
1550
+ # uri.query
1551
+ # # => "a=a&b=c&b=d&b=e"
1552
+ # uri.query_values = [['a', 'a'], ['b', 'c'], ['b', 'd'], ['b', 'e']]
1553
+ # uri.query
1554
+ # # => "a=a&b=c&b=d&b=e"
1555
+ # uri.query_values = [['a', 'a'], ['b', ['c', 'd', 'e']]]
1556
+ # uri.query
1557
+ # # => "a=a&b=c&b=d&b=e"
1558
+ # uri.query_values = [['flag'], ['key', 'value']]
1559
+ # uri.query
1560
+ # # => "flag&key=value"
1561
+ def query_values=(new_query_values)
1562
+ if new_query_values == nil
1563
+ self.query = nil
1564
+ return nil
1565
+ end
1566
+
1567
+ if !new_query_values.is_a?(Array)
1568
+ if !new_query_values.respond_to?(:to_hash)
1569
+ raise TypeError,
1570
+ "Can't convert #{new_query_values.class} into Hash."
1571
+ end
1572
+ new_query_values = new_query_values.to_hash
1573
+ new_query_values = new_query_values.map do |key, value|
1574
+ key = key.to_s if key.kind_of?(Symbol)
1575
+ [key, value]
1576
+ end
1577
+ # Useful default for OAuth and caching.
1578
+ # Only to be used for non-Array inputs. Arrays should preserve order.
1579
+ new_query_values.sort!
1580
+ end
1581
+
1582
+ # new_query_values have form [['key1', 'value1'], ['key2', 'value2']]
1583
+ buffer = ""
1584
+ new_query_values.each do |key, value|
1585
+ encoded_key = URI.encode_component(
1586
+ key, CharacterClasses::UNRESERVED
1587
+ )
1588
+ if value == nil
1589
+ buffer << "#{encoded_key}&"
1590
+ elsif value.kind_of?(Array)
1591
+ value.each do |sub_value|
1592
+ encoded_value = URI.encode_component(
1593
+ sub_value, CharacterClasses::UNRESERVED
1594
+ )
1595
+ buffer << "#{encoded_key}=#{encoded_value}&"
1596
+ end
1597
+ else
1598
+ encoded_value = URI.encode_component(
1599
+ value, CharacterClasses::UNRESERVED
1600
+ )
1601
+ buffer << "#{encoded_key}=#{encoded_value}&"
1602
+ end
1603
+ end
1604
+ self.query = buffer.chop
1605
+ end
1606
+
1607
+ ##
1608
+ # The HTTP request URI for this URI. This is the path and the
1609
+ # query string.
1610
+ #
1611
+ # @return [String] The request URI required for an HTTP request.
1612
+ def request_uri
1613
+ return nil if self.absolute? && self.scheme !~ /^https?$/
1614
+ return (
1615
+ (!self.path.empty? ? self.path : SLASH) +
1616
+ (self.query ? "?#{self.query}" : EMPTY_STR)
1617
+ )
1618
+ end
1619
+
1620
+ ##
1621
+ # Sets the HTTP request URI for this URI.
1622
+ #
1623
+ # @param [String, #to_str] new_request_uri The new HTTP request URI.
1624
+ def request_uri=(new_request_uri)
1625
+ if !new_request_uri.respond_to?(:to_str)
1626
+ raise TypeError, "Can't convert #{new_request_uri.class} into String."
1627
+ end
1628
+ if self.absolute? && self.scheme !~ /^https?$/
1629
+ raise InvalidURIError,
1630
+ "Cannot set an HTTP request URI for a non-HTTP URI."
1631
+ end
1632
+ new_request_uri = new_request_uri.to_str
1633
+ path_component = new_request_uri[/^([^\?]*)\?(?:.*)$/, 1]
1634
+ query_component = new_request_uri[/^(?:[^\?]*)\?(.*)$/, 1]
1635
+ path_component = path_component.to_s
1636
+ path_component = (!path_component.empty? ? path_component : SLASH)
1637
+ self.path = path_component
1638
+ self.query = query_component
1639
+
1640
+ # Reset dependant values
1641
+ @uri_string = nil
1642
+ @hash = nil
1643
+ end
1644
+
1645
+ ##
1646
+ # The fragment component for this URI.
1647
+ #
1648
+ # @return [String] The fragment component.
1649
+ def fragment
1650
+ return instance_variable_defined?(:@fragment) ? @fragment : nil
1651
+ end
1652
+
1653
+ ##
1654
+ # The fragment component for this URI, normalized.
1655
+ #
1656
+ # @return [String] The fragment component, normalized.
1657
+ def normalized_fragment
1658
+ self.fragment && @normalized_fragment ||= (begin
1659
+ component = Addressable::URI.normalize_component(
1660
+ self.fragment,
1661
+ Addressable::URI::CharacterClasses::FRAGMENT
1662
+ )
1663
+ component == "" ? nil : component
1664
+ end)
1665
+ end
1666
+
1667
+ ##
1668
+ # Sets the fragment component for this URI.
1669
+ #
1670
+ # @param [String, #to_str] new_fragment The new fragment component.
1671
+ def fragment=(new_fragment)
1672
+ if new_fragment && !new_fragment.respond_to?(:to_str)
1673
+ raise TypeError, "Can't convert #{new_fragment.class} into String."
1674
+ end
1675
+ @fragment = new_fragment ? new_fragment.to_str : nil
1676
+
1677
+ # Reset dependant values
1678
+ @normalized_fragment = nil
1679
+ @uri_string = nil
1680
+ @hash = nil
1681
+
1682
+ # Ensure we haven't created an invalid URI
1683
+ validate()
1684
+ end
1685
+
1686
+ ##
1687
+ # Determines if the scheme indicates an IP-based protocol.
1688
+ #
1689
+ # @return [TrueClass, FalseClass]
1690
+ # <code>true</code> if the scheme indicates an IP-based protocol.
1691
+ # <code>false</code> otherwise.
1692
+ def ip_based?
1693
+ if self.scheme
1694
+ return URI.ip_based_schemes.include?(
1695
+ self.scheme.strip.downcase)
1696
+ end
1697
+ return false
1698
+ end
1699
+
1700
+ ##
1701
+ # Determines if the URI is relative.
1702
+ #
1703
+ # @return [TrueClass, FalseClass]
1704
+ # <code>true</code> if the URI is relative. <code>false</code>
1705
+ # otherwise.
1706
+ def relative?
1707
+ return self.scheme.nil?
1708
+ end
1709
+
1710
+ ##
1711
+ # Determines if the URI is absolute.
1712
+ #
1713
+ # @return [TrueClass, FalseClass]
1714
+ # <code>true</code> if the URI is absolute. <code>false</code>
1715
+ # otherwise.
1716
+ def absolute?
1717
+ return !relative?
1718
+ end
1719
+
1720
+ ##
1721
+ # Joins two URIs together.
1722
+ #
1723
+ # @param [String, Addressable::URI, #to_str] The URI to join with.
1724
+ #
1725
+ # @return [Addressable::URI] The joined URI.
1726
+ def join(uri)
1727
+ if !uri.respond_to?(:to_str)
1728
+ raise TypeError, "Can't convert #{uri.class} into String."
1729
+ end
1730
+ if !uri.kind_of?(URI)
1731
+ # Otherwise, convert to a String, then parse.
1732
+ uri = URI.parse(uri.to_str)
1733
+ end
1734
+ if uri.to_s.empty?
1735
+ return self.dup
1736
+ end
1737
+
1738
+ joined_scheme = nil
1739
+ joined_user = nil
1740
+ joined_password = nil
1741
+ joined_host = nil
1742
+ joined_port = nil
1743
+ joined_path = nil
1744
+ joined_query = nil
1745
+ joined_fragment = nil
1746
+
1747
+ # Section 5.2.2 of RFC 3986
1748
+ if uri.scheme != nil
1749
+ joined_scheme = uri.scheme
1750
+ joined_user = uri.user
1751
+ joined_password = uri.password
1752
+ joined_host = uri.host
1753
+ joined_port = uri.port
1754
+ joined_path = URI.normalize_path(uri.path)
1755
+ joined_query = uri.query
1756
+ else
1757
+ if uri.authority != nil
1758
+ joined_user = uri.user
1759
+ joined_password = uri.password
1760
+ joined_host = uri.host
1761
+ joined_port = uri.port
1762
+ joined_path = URI.normalize_path(uri.path)
1763
+ joined_query = uri.query
1764
+ else
1765
+ if uri.path == nil || uri.path.empty?
1766
+ joined_path = self.path
1767
+ if uri.query != nil
1768
+ joined_query = uri.query
1769
+ else
1770
+ joined_query = self.query
1771
+ end
1772
+ else
1773
+ if uri.path[0..0] == SLASH
1774
+ joined_path = URI.normalize_path(uri.path)
1775
+ else
1776
+ base_path = self.path.dup
1777
+ base_path = EMPTY_STR if base_path == nil
1778
+ base_path = URI.normalize_path(base_path)
1779
+
1780
+ # Section 5.2.3 of RFC 3986
1781
+ #
1782
+ # Removes the right-most path segment from the base path.
1783
+ if base_path =~ /\//
1784
+ base_path.gsub!(/\/[^\/]+$/, SLASH)
1785
+ else
1786
+ base_path = EMPTY_STR
1787
+ end
1788
+
1789
+ # If the base path is empty and an authority segment has been
1790
+ # defined, use a base path of SLASH
1791
+ if base_path.empty? && self.authority != nil
1792
+ base_path = SLASH
1793
+ end
1794
+
1795
+ joined_path = URI.normalize_path(base_path + uri.path)
1796
+ end
1797
+ joined_query = uri.query
1798
+ end
1799
+ joined_user = self.user
1800
+ joined_password = self.password
1801
+ joined_host = self.host
1802
+ joined_port = self.port
1803
+ end
1804
+ joined_scheme = self.scheme
1805
+ end
1806
+ joined_fragment = uri.fragment
1807
+
1808
+ return self.class.new(
1809
+ :scheme => joined_scheme,
1810
+ :user => joined_user,
1811
+ :password => joined_password,
1812
+ :host => joined_host,
1813
+ :port => joined_port,
1814
+ :path => joined_path,
1815
+ :query => joined_query,
1816
+ :fragment => joined_fragment
1817
+ )
1818
+ end
1819
+ alias_method :+, :join
1820
+
1821
+ ##
1822
+ # Destructive form of <code>join</code>.
1823
+ #
1824
+ # @param [String, Addressable::URI, #to_str] The URI to join with.
1825
+ #
1826
+ # @return [Addressable::URI] The joined URI.
1827
+ #
1828
+ # @see Addressable::URI#join
1829
+ def join!(uri)
1830
+ replace_self(self.join(uri))
1831
+ end
1832
+
1833
+ ##
1834
+ # Merges a URI with a <code>Hash</code> of components.
1835
+ # This method has different behavior from <code>join</code>. Any
1836
+ # components present in the <code>hash</code> parameter will override the
1837
+ # original components. The path component is not treated specially.
1838
+ #
1839
+ # @param [Hash, Addressable::URI, #to_hash] The components to merge with.
1840
+ #
1841
+ # @return [Addressable::URI] The merged URI.
1842
+ #
1843
+ # @see Hash#merge
1844
+ def merge(hash)
1845
+ if !hash.respond_to?(:to_hash)
1846
+ raise TypeError, "Can't convert #{hash.class} into Hash."
1847
+ end
1848
+ hash = hash.to_hash
1849
+
1850
+ if hash.has_key?(:authority)
1851
+ if (hash.keys & [:userinfo, :user, :password, :host, :port]).any?
1852
+ raise ArgumentError,
1853
+ "Cannot specify both an authority and any of the components " +
1854
+ "within the authority."
1855
+ end
1856
+ end
1857
+ if hash.has_key?(:userinfo)
1858
+ if (hash.keys & [:user, :password]).any?
1859
+ raise ArgumentError,
1860
+ "Cannot specify both a userinfo and either the user or password."
1861
+ end
1862
+ end
1863
+
1864
+ uri = self.class.new
1865
+ uri.defer_validation do
1866
+ # Bunch of crazy logic required because of the composite components
1867
+ # like userinfo and authority.
1868
+ uri.scheme =
1869
+ hash.has_key?(:scheme) ? hash[:scheme] : self.scheme
1870
+ if hash.has_key?(:authority)
1871
+ uri.authority =
1872
+ hash.has_key?(:authority) ? hash[:authority] : self.authority
1873
+ end
1874
+ if hash.has_key?(:userinfo)
1875
+ uri.userinfo =
1876
+ hash.has_key?(:userinfo) ? hash[:userinfo] : self.userinfo
1877
+ end
1878
+ if !hash.has_key?(:userinfo) && !hash.has_key?(:authority)
1879
+ uri.user =
1880
+ hash.has_key?(:user) ? hash[:user] : self.user
1881
+ uri.password =
1882
+ hash.has_key?(:password) ? hash[:password] : self.password
1883
+ end
1884
+ if !hash.has_key?(:authority)
1885
+ uri.host =
1886
+ hash.has_key?(:host) ? hash[:host] : self.host
1887
+ uri.port =
1888
+ hash.has_key?(:port) ? hash[:port] : self.port
1889
+ end
1890
+ uri.path =
1891
+ hash.has_key?(:path) ? hash[:path] : self.path
1892
+ uri.query =
1893
+ hash.has_key?(:query) ? hash[:query] : self.query
1894
+ uri.fragment =
1895
+ hash.has_key?(:fragment) ? hash[:fragment] : self.fragment
1896
+ end
1897
+
1898
+ return uri
1899
+ end
1900
+
1901
+ ##
1902
+ # Destructive form of <code>merge</code>.
1903
+ #
1904
+ # @param [Hash, Addressable::URI, #to_hash] The components to merge with.
1905
+ #
1906
+ # @return [Addressable::URI] The merged URI.
1907
+ #
1908
+ # @see Addressable::URI#merge
1909
+ def merge!(uri)
1910
+ replace_self(self.merge(uri))
1911
+ end
1912
+
1913
+ ##
1914
+ # Returns the shortest normalized relative form of this URI that uses the
1915
+ # supplied URI as a base for resolution. Returns an absolute URI if
1916
+ # necessary. This is effectively the opposite of <code>route_to</code>.
1917
+ #
1918
+ # @param [String, Addressable::URI, #to_str] uri The URI to route from.
1919
+ #
1920
+ # @return [Addressable::URI]
1921
+ # The normalized relative URI that is equivalent to the original URI.
1922
+ def route_from(uri)
1923
+ uri = URI.parse(uri).normalize
1924
+ normalized_self = self.normalize
1925
+ if normalized_self.relative?
1926
+ raise ArgumentError, "Expected absolute URI, got: #{self.to_s}"
1927
+ end
1928
+ if uri.relative?
1929
+ raise ArgumentError, "Expected absolute URI, got: #{uri.to_s}"
1930
+ end
1931
+ if normalized_self == uri
1932
+ return Addressable::URI.parse("##{normalized_self.fragment}")
1933
+ end
1934
+ components = normalized_self.to_hash
1935
+ if normalized_self.scheme == uri.scheme
1936
+ components[:scheme] = nil
1937
+ if normalized_self.authority == uri.authority
1938
+ components[:user] = nil
1939
+ components[:password] = nil
1940
+ components[:host] = nil
1941
+ components[:port] = nil
1942
+ if normalized_self.path == uri.path
1943
+ components[:path] = nil
1944
+ if normalized_self.query == uri.query
1945
+ components[:query] = nil
1946
+ end
1947
+ else
1948
+ if uri.path != SLASH and components[:path]
1949
+ self_splitted_path = split_path(components[:path])
1950
+ uri_splitted_path = split_path(uri.path)
1951
+ self_dir = self_splitted_path.shift
1952
+ uri_dir = uri_splitted_path.shift
1953
+ while !self_splitted_path.empty? && !uri_splitted_path.empty? and self_dir == uri_dir
1954
+ self_dir = self_splitted_path.shift
1955
+ uri_dir = uri_splitted_path.shift
1956
+ end
1957
+ components[:path] = (uri_splitted_path.fill('..') + [self_dir] + self_splitted_path).join(SLASH)
1958
+ end
1959
+ end
1960
+ end
1961
+ end
1962
+ # Avoid network-path references.
1963
+ if components[:host] != nil
1964
+ components[:scheme] = normalized_self.scheme
1965
+ end
1966
+ return Addressable::URI.new(
1967
+ :scheme => components[:scheme],
1968
+ :user => components[:user],
1969
+ :password => components[:password],
1970
+ :host => components[:host],
1971
+ :port => components[:port],
1972
+ :path => components[:path],
1973
+ :query => components[:query],
1974
+ :fragment => components[:fragment]
1975
+ )
1976
+ end
1977
+
1978
+ ##
1979
+ # Returns the shortest normalized relative form of the supplied URI that
1980
+ # uses this URI as a base for resolution. Returns an absolute URI if
1981
+ # necessary. This is effectively the opposite of <code>route_from</code>.
1982
+ #
1983
+ # @param [String, Addressable::URI, #to_str] uri The URI to route to.
1984
+ #
1985
+ # @return [Addressable::URI]
1986
+ # The normalized relative URI that is equivalent to the supplied URI.
1987
+ def route_to(uri)
1988
+ return URI.parse(uri).route_from(self)
1989
+ end
1990
+
1991
+ ##
1992
+ # Returns a normalized URI object.
1993
+ #
1994
+ # NOTE: This method does not attempt to fully conform to specifications.
1995
+ # It exists largely to correct other people's failures to read the
1996
+ # specifications, and also to deal with caching issues since several
1997
+ # different URIs may represent the same resource and should not be
1998
+ # cached multiple times.
1999
+ #
2000
+ # @return [Addressable::URI] The normalized URI.
2001
+ def normalize
2002
+ # This is a special exception for the frequently misused feed
2003
+ # URI scheme.
2004
+ if normalized_scheme == "feed"
2005
+ if self.to_s =~ /^feed:\/*http:\/*/
2006
+ return URI.parse(
2007
+ self.to_s[/^feed:\/*(http:\/*.*)/, 1]
2008
+ ).normalize
2009
+ end
2010
+ end
2011
+
2012
+ return self.class.new(
2013
+ :scheme => normalized_scheme,
2014
+ :authority => normalized_authority,
2015
+ :path => normalized_path,
2016
+ :query => normalized_query,
2017
+ :fragment => normalized_fragment
2018
+ )
2019
+ end
2020
+
2021
+ ##
2022
+ # Destructively normalizes this URI object.
2023
+ #
2024
+ # @return [Addressable::URI] The normalized URI.
2025
+ #
2026
+ # @see Addressable::URI#normalize
2027
+ def normalize!
2028
+ replace_self(self.normalize)
2029
+ end
2030
+
2031
+ ##
2032
+ # Creates a URI suitable for display to users. If semantic attacks are
2033
+ # likely, the application should try to detect these and warn the user.
2034
+ # See <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>,
2035
+ # section 7.6 for more information.
2036
+ #
2037
+ # @return [Addressable::URI] A URI suitable for display purposes.
2038
+ def display_uri
2039
+ display_uri = self.normalize
2040
+ display_uri.host = ::Addressable::IDNA.to_unicode(display_uri.host)
2041
+ return display_uri
2042
+ end
2043
+
2044
+ ##
2045
+ # Returns <code>true</code> if the URI objects are equal. This method
2046
+ # normalizes both URIs before doing the comparison, and allows comparison
2047
+ # against <code>Strings</code>.
2048
+ #
2049
+ # @param [Object] uri The URI to compare.
2050
+ #
2051
+ # @return [TrueClass, FalseClass]
2052
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2053
+ # otherwise.
2054
+ def ===(uri)
2055
+ if uri.respond_to?(:normalize)
2056
+ uri_string = uri.normalize.to_s
2057
+ else
2058
+ begin
2059
+ uri_string = ::Addressable::URI.parse(uri).normalize.to_s
2060
+ rescue InvalidURIError, TypeError
2061
+ return false
2062
+ end
2063
+ end
2064
+ return self.normalize.to_s == uri_string
2065
+ end
2066
+
2067
+ ##
2068
+ # Returns <code>true</code> if the URI objects are equal. This method
2069
+ # normalizes both URIs before doing the comparison.
2070
+ #
2071
+ # @param [Object] uri The URI to compare.
2072
+ #
2073
+ # @return [TrueClass, FalseClass]
2074
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2075
+ # otherwise.
2076
+ def ==(uri)
2077
+ return false unless uri.kind_of?(URI)
2078
+ return self.normalize.to_s == uri.normalize.to_s
2079
+ end
2080
+
2081
+ ##
2082
+ # Returns <code>true</code> if the URI objects are equal. This method
2083
+ # does NOT normalize either URI before doing the comparison.
2084
+ #
2085
+ # @param [Object] uri The URI to compare.
2086
+ #
2087
+ # @return [TrueClass, FalseClass]
2088
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2089
+ # otherwise.
2090
+ def eql?(uri)
2091
+ return false unless uri.kind_of?(URI)
2092
+ return self.to_s == uri.to_s
2093
+ end
2094
+
2095
+ ##
2096
+ # A hash value that will make a URI equivalent to its normalized
2097
+ # form.
2098
+ #
2099
+ # @return [Integer] A hash of the URI.
2100
+ def hash
2101
+ return @hash ||= (self.to_s.hash * -1)
2102
+ end
2103
+
2104
+ ##
2105
+ # Clones the URI object.
2106
+ #
2107
+ # @return [Addressable::URI] The cloned URI.
2108
+ def dup
2109
+ duplicated_uri = self.class.new(
2110
+ :scheme => self.scheme ? self.scheme.dup : nil,
2111
+ :user => self.user ? self.user.dup : nil,
2112
+ :password => self.password ? self.password.dup : nil,
2113
+ :host => self.host ? self.host.dup : nil,
2114
+ :port => self.port,
2115
+ :path => self.path ? self.path.dup : nil,
2116
+ :query => self.query ? self.query.dup : nil,
2117
+ :fragment => self.fragment ? self.fragment.dup : nil
2118
+ )
2119
+ return duplicated_uri
2120
+ end
2121
+
2122
+ ##
2123
+ # Omits components from a URI.
2124
+ #
2125
+ # @param [Symbol] *components The components to be omitted.
2126
+ #
2127
+ # @return [Addressable::URI] The URI with components omitted.
2128
+ #
2129
+ # @example
2130
+ # uri = Addressable::URI.parse("http://example.com/path?query")
2131
+ # #=> #<Addressable::URI:0xcc5e7a URI:http://example.com/path?query>
2132
+ # uri.omit(:scheme, :authority)
2133
+ # #=> #<Addressable::URI:0xcc4d86 URI:/path?query>
2134
+ def omit(*components)
2135
+ invalid_components = components - [
2136
+ :scheme, :user, :password, :userinfo, :host, :port, :authority,
2137
+ :path, :query, :fragment
2138
+ ]
2139
+ unless invalid_components.empty?
2140
+ raise ArgumentError,
2141
+ "Invalid component names: #{invalid_components.inspect}."
2142
+ end
2143
+ duplicated_uri = self.dup
2144
+ duplicated_uri.defer_validation do
2145
+ components.each do |component|
2146
+ duplicated_uri.send((component.to_s + "=").to_sym, nil)
2147
+ end
2148
+ duplicated_uri.user = duplicated_uri.normalized_user
2149
+ end
2150
+ duplicated_uri
2151
+ end
2152
+
2153
+ ##
2154
+ # Destructive form of omit.
2155
+ #
2156
+ # @param [Symbol] *components The components to be omitted.
2157
+ #
2158
+ # @return [Addressable::URI] The URI with components omitted.
2159
+ #
2160
+ # @see Addressable::URI#omit
2161
+ def omit!(*components)
2162
+ replace_self(self.omit(*components))
2163
+ end
2164
+
2165
+ ##
2166
+ # Determines if the URI is an empty string.
2167
+ #
2168
+ # @return [TrueClass, FalseClass]
2169
+ # Returns <code>true</code> if empty, <code>false</code> otherwise.
2170
+ def empty?
2171
+ return self.to_s.empty?
2172
+ end
2173
+
2174
+ ##
2175
+ # Converts the URI to a <code>String</code>.
2176
+ #
2177
+ # @return [String] The URI's <code>String</code> representation.
2178
+ def to_s
2179
+ if self.scheme == nil && self.path != nil && !self.path.empty? &&
2180
+ self.path =~ NORMPATH
2181
+ raise InvalidURIError,
2182
+ "Cannot assemble URI string with ambiguous path: '#{self.path}'"
2183
+ end
2184
+ @uri_string ||= (begin
2185
+ uri_string = ""
2186
+ uri_string << "#{self.scheme}:" if self.scheme != nil
2187
+ uri_string << "//#{self.authority}" if self.authority != nil
2188
+ uri_string << self.path.to_s
2189
+ uri_string << "?#{self.query}" if self.query != nil
2190
+ uri_string << "##{self.fragment}" if self.fragment != nil
2191
+ if uri_string.respond_to?(:force_encoding)
2192
+ uri_string.force_encoding(Encoding::UTF_8)
2193
+ end
2194
+ uri_string
2195
+ end)
2196
+ end
2197
+
2198
+ ##
2199
+ # URI's are glorified <code>Strings</code>. Allow implicit conversion.
2200
+ alias_method :to_str, :to_s
2201
+
2202
+ ##
2203
+ # Returns a Hash of the URI components.
2204
+ #
2205
+ # @return [Hash] The URI as a <code>Hash</code> of components.
2206
+ def to_hash
2207
+ return {
2208
+ :scheme => self.scheme,
2209
+ :user => self.user,
2210
+ :password => self.password,
2211
+ :host => self.host,
2212
+ :port => self.port,
2213
+ :path => self.path,
2214
+ :query => self.query,
2215
+ :fragment => self.fragment
2216
+ }
2217
+ end
2218
+
2219
+ ##
2220
+ # Returns a <code>String</code> representation of the URI object's state.
2221
+ #
2222
+ # @return [String] The URI object's state, as a <code>String</code>.
2223
+ def inspect
2224
+ sprintf("#<%s:%#0x URI:%s>", URI.to_s, self.object_id, self.to_s)
2225
+ end
2226
+
2227
+ ##
2228
+ # This method allows you to make several changes to a URI simultaneously,
2229
+ # which separately would cause validation errors, but in conjunction,
2230
+ # are valid. The URI will be revalidated as soon as the entire block has
2231
+ # been executed.
2232
+ #
2233
+ # @param [Proc] block
2234
+ # A set of operations to perform on a given URI.
2235
+ def defer_validation(&block)
2236
+ raise LocalJumpError, "No block given." unless block
2237
+ @validation_deferred = true
2238
+ block.call()
2239
+ @validation_deferred = false
2240
+ validate
2241
+ return nil
2242
+ end
2243
+
2244
+ private
2245
+ SELF_REF = '.'
2246
+ PARENT = '..'
2247
+
2248
+ RULE_2A = /\/\.\/|\/\.$/
2249
+ RULE_2B_2C = /\/([^\/]*)\/\.\.\/|\/([^\/]*)\/\.\.$/
2250
+ RULE_2D = /^\.\.?\/?/
2251
+ RULE_PREFIXED_PARENT = /^\/\.\.?\/|^(\/\.\.?)+\/?$/
2252
+
2253
+ ##
2254
+ # Resolves paths to their simplest form.
2255
+ #
2256
+ # @param [String] path The path to normalize.
2257
+ #
2258
+ # @return [String] The normalized path.
2259
+ def self.normalize_path(path)
2260
+ # Section 5.2.4 of RFC 3986
2261
+
2262
+ return nil if path.nil?
2263
+ normalized_path = path.dup
2264
+ begin
2265
+ mod = nil
2266
+ mod ||= normalized_path.gsub!(RULE_2A, SLASH)
2267
+
2268
+ pair = normalized_path.match(RULE_2B_2C)
2269
+ parent, current = pair[1], pair[2] if pair
2270
+ if pair && ((parent != SELF_REF && parent != PARENT) ||
2271
+ (current != SELF_REF && current != PARENT))
2272
+ mod ||= normalized_path.gsub!(
2273
+ Regexp.new(
2274
+ "/#{Regexp.escape(parent.to_s)}/\\.\\./|" +
2275
+ "(/#{Regexp.escape(current.to_s)}/\\.\\.$)"
2276
+ ), SLASH
2277
+ )
2278
+ end
2279
+
2280
+ mod ||= normalized_path.gsub!(RULE_2D, EMPTY_STR)
2281
+ # Non-standard, removes prefixed dotted segments from path.
2282
+ mod ||= normalized_path.gsub!(RULE_PREFIXED_PARENT, SLASH)
2283
+ end until mod.nil?
2284
+
2285
+ return normalized_path
2286
+ end
2287
+
2288
+ ##
2289
+ # Ensures that the URI is valid.
2290
+ def validate
2291
+ return if !!@validation_deferred
2292
+ if self.scheme != nil && self.ip_based? &&
2293
+ (self.host == nil || self.host.empty?) &&
2294
+ (self.path == nil || self.path.empty?)
2295
+ raise InvalidURIError,
2296
+ "Absolute URI missing hierarchical segment: '#{self.to_s}'"
2297
+ end
2298
+ if self.host == nil
2299
+ if self.port != nil ||
2300
+ self.user != nil ||
2301
+ self.password != nil
2302
+ raise InvalidURIError, "Hostname not supplied: '#{self.to_s}'"
2303
+ end
2304
+ end
2305
+ if self.path != nil && !self.path.empty? && self.path[0..0] != SLASH &&
2306
+ self.authority != nil
2307
+ raise InvalidURIError,
2308
+ "Cannot have a relative path with an authority set: '#{self.to_s}'"
2309
+ end
2310
+ return nil
2311
+ end
2312
+
2313
+ ##
2314
+ # Replaces the internal state of self with the specified URI's state.
2315
+ # Used in destructive operations to avoid massive code repetition.
2316
+ #
2317
+ # @param [Addressable::URI] uri The URI to replace <code>self</code> with.
2318
+ #
2319
+ # @return [Addressable::URI] <code>self</code>.
2320
+ def replace_self(uri)
2321
+ # Reset dependant values
2322
+ instance_variables.each do |var|
2323
+ instance_variable_set(var, nil)
2324
+ end
2325
+
2326
+ @scheme = uri.scheme
2327
+ @user = uri.user
2328
+ @password = uri.password
2329
+ @host = uri.host
2330
+ @port = uri.port
2331
+ @path = uri.path
2332
+ @query = uri.query
2333
+ @fragment = uri.fragment
2334
+ return self
2335
+ end
2336
+
2337
+ ##
2338
+ # Splits path string with "/"(slash).
2339
+ # It is considered that there is empty string after last slash when
2340
+ # path ends with slash.
2341
+ #
2342
+ # @param [String] path The path to split.
2343
+ #
2344
+ # @return [Array<String>] An array of parts of path.
2345
+ def split_path(path)
2346
+ splitted = path.split(SLASH)
2347
+ splitted << EMPTY_STR if path.end_with? SLASH
2348
+ splitted
2349
+ end
2350
+ end
2351
+ end