whos_dated_who 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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