cocoapods-dependency-html 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2004) hide show
  1. checksums.yaml +7 -0
  2. data/.bundle/config +2 -0
  3. data/Gemfile +13 -0
  4. data/Gemfile.lock +106 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +11 -0
  7. data/Rakefile +13 -0
  8. data/cocoapods-dependency-html.gemspec +27 -0
  9. data/lib/cocoapods-dependency-html.rb +1 -0
  10. data/lib/cocoapods-dependency-html/command.rb +1 -0
  11. data/lib/cocoapods-dependency-html/command/dependency.rb +391 -0
  12. data/lib/cocoapods-dependency-html/command/front-end/dependency_graph.html +90 -0
  13. data/lib/cocoapods-dependency-html/gem_version.rb +3 -0
  14. data/lib/cocoapods_plugin.rb +1 -0
  15. data/spec/command/html_spec.rb +12 -0
  16. data/spec/spec_helper.rb +50 -0
  17. data/vendor/bundle/bin/bacon +27 -0
  18. data/vendor/bundle/bin/fuzzy_match +27 -0
  19. data/vendor/bundle/bin/launchy +27 -0
  20. data/vendor/bundle/bin/pod +27 -0
  21. data/vendor/bundle/bin/rake +27 -0
  22. data/vendor/bundle/bin/sandbox-pod +27 -0
  23. data/vendor/bundle/bin/xcodeproj +27 -0
  24. data/vendor/bundle/cache/CFPropertyList-3.0.0.gem +0 -0
  25. data/vendor/bundle/cache/activesupport-4.2.11.1.gem +0 -0
  26. data/vendor/bundle/cache/addressable-2.6.0.gem +0 -0
  27. data/vendor/bundle/cache/atomos-0.1.3.gem +0 -0
  28. data/vendor/bundle/cache/bacon-1.2.0.gem +0 -0
  29. data/vendor/bundle/cache/claide-1.0.2.gem +0 -0
  30. data/vendor/bundle/cache/cocoapods-1.6.1.gem +0 -0
  31. data/vendor/bundle/cache/cocoapods-core-1.6.1.gem +0 -0
  32. data/vendor/bundle/cache/cocoapods-deintegrate-1.0.4.gem +0 -0
  33. data/vendor/bundle/cache/cocoapods-downloader-1.2.2.gem +0 -0
  34. data/vendor/bundle/cache/cocoapods-plugins-1.0.0.gem +0 -0
  35. data/vendor/bundle/cache/cocoapods-search-1.0.0.gem +0 -0
  36. data/vendor/bundle/cache/cocoapods-stats-1.1.0.gem +0 -0
  37. data/vendor/bundle/cache/cocoapods-trunk-1.3.1.gem +0 -0
  38. data/vendor/bundle/cache/cocoapods-try-1.1.0.gem +0 -0
  39. data/vendor/bundle/cache/colored2-3.1.2.gem +0 -0
  40. data/vendor/bundle/cache/concurrent-ruby-1.1.5.gem +0 -0
  41. data/vendor/bundle/cache/escape-0.0.4.gem +0 -0
  42. data/vendor/bundle/cache/fourflusher-2.2.0.gem +0 -0
  43. data/vendor/bundle/cache/fuzzy_match-2.0.4.gem +0 -0
  44. data/vendor/bundle/cache/gh_inspector-1.1.3.gem +0 -0
  45. data/vendor/bundle/cache/i18n-0.9.5.gem +0 -0
  46. data/vendor/bundle/cache/json-2.2.0.gem +0 -0
  47. data/vendor/bundle/cache/launchy-2.4.3.gem +0 -0
  48. data/vendor/bundle/cache/metaclass-0.0.4.gem +0 -0
  49. data/vendor/bundle/cache/minitest-5.11.3.gem +0 -0
  50. data/vendor/bundle/cache/mocha-1.8.0.gem +0 -0
  51. data/vendor/bundle/cache/mocha-on-bacon-0.2.3.gem +0 -0
  52. data/vendor/bundle/cache/molinillo-0.6.6.gem +0 -0
  53. data/vendor/bundle/cache/nanaimo-0.2.6.gem +0 -0
  54. data/vendor/bundle/cache/nap-1.1.0.gem +0 -0
  55. data/vendor/bundle/cache/netrc-0.11.0.gem +0 -0
  56. data/vendor/bundle/cache/prettybacon-0.0.2.gem +0 -0
  57. data/vendor/bundle/cache/public_suffix-3.0.3.gem +0 -0
  58. data/vendor/bundle/cache/rake-12.3.2.gem +0 -0
  59. data/vendor/bundle/cache/ruby-macho-1.4.0.gem +0 -0
  60. data/vendor/bundle/cache/thread_safe-0.3.6.gem +0 -0
  61. data/vendor/bundle/cache/tzinfo-1.2.5.gem +0 -0
  62. data/vendor/bundle/cache/xcodeproj-1.9.0.gem +0 -0
  63. data/vendor/bundle/extensions/x86_64-darwin-17/2.5.0/json-2.2.0/gem.build_complete +0 -0
  64. data/vendor/bundle/extensions/x86_64-darwin-17/2.5.0/json-2.2.0/gem_make.out +13 -0
  65. data/vendor/bundle/extensions/x86_64-darwin-17/2.5.0/json-2.2.0/json/ext/generator.bundle +0 -0
  66. data/vendor/bundle/extensions/x86_64-darwin-17/2.5.0/json-2.2.0/json/ext/parser.bundle +0 -0
  67. data/vendor/bundle/extensions/x86_64-darwin-17/2.5.0/json-2.2.0/mkmf.log +60 -0
  68. data/vendor/bundle/gems/CFPropertyList-3.0.0/LICENSE +19 -0
  69. data/vendor/bundle/gems/CFPropertyList-3.0.0/README.md +79 -0
  70. data/vendor/bundle/gems/CFPropertyList-3.0.0/README.rdoc +43 -0
  71. data/vendor/bundle/gems/CFPropertyList-3.0.0/THANKS +7 -0
  72. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist.rb +6 -0
  73. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbBinaryCFPropertyList.rb +594 -0
  74. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbCFPlistError.rb +26 -0
  75. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbCFPropertyList.rb +449 -0
  76. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbCFTypes.rb +349 -0
  77. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbLibXMLParser.rb +147 -0
  78. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbNokogiriParser.rb +151 -0
  79. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbPlainCFPropertyList.rb +199 -0
  80. data/vendor/bundle/gems/CFPropertyList-3.0.0/lib/cfpropertylist/rbREXMLParser.rb +148 -0
  81. data/vendor/bundle/gems/activesupport-4.2.11.1/CHANGELOG.md +678 -0
  82. data/vendor/bundle/gems/activesupport-4.2.11.1/MIT-LICENSE +20 -0
  83. data/vendor/bundle/gems/activesupport-4.2.11.1/README.rdoc +40 -0
  84. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support.rb +94 -0
  85. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/all.rb +3 -0
  86. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/backtrace_cleaner.rb +103 -0
  87. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/benchmarkable.rb +49 -0
  88. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/builder.rb +6 -0
  89. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache.rb +717 -0
  90. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/file_store.rb +190 -0
  91. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/mem_cache_store.rb +198 -0
  92. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/memory_store.rb +172 -0
  93. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/null_store.rb +44 -0
  94. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/strategy/local_cache.rb +161 -0
  95. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/cache/strategy/local_cache_middleware.rb +44 -0
  96. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/callbacks.rb +795 -0
  97. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/concern.rb +142 -0
  98. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/concurrency/latch.rb +27 -0
  99. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/configurable.rb +147 -0
  100. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext.rb +3 -0
  101. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array.rb +6 -0
  102. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/access.rb +64 -0
  103. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/conversions.rb +209 -0
  104. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/extract_options.rb +29 -0
  105. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/grouping.rb +116 -0
  106. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/prepend_and_append.rb +7 -0
  107. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/array/wrap.rb +45 -0
  108. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/benchmark.rb +14 -0
  109. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/big_decimal.rb +1 -0
  110. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/big_decimal/conversions.rb +16 -0
  111. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/big_decimal/yaml_conversions.rb +16 -0
  112. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/class.rb +3 -0
  113. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/class/attribute.rb +127 -0
  114. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/class/attribute_accessors.rb +4 -0
  115. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/class/delegating_attributes.rb +45 -0
  116. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/class/subclasses.rb +40 -0
  117. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date.rb +5 -0
  118. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date/acts_like.rb +8 -0
  119. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date/calculations.rb +143 -0
  120. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date/conversions.rb +94 -0
  121. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date/zones.rb +6 -0
  122. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_and_time/calculations.rb +262 -0
  123. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_and_time/compatibility.rb +15 -0
  124. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_and_time/zones.rb +41 -0
  125. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time.rb +5 -0
  126. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time/acts_like.rb +14 -0
  127. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time/calculations.rb +193 -0
  128. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time/compatibility.rb +16 -0
  129. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time/conversions.rb +103 -0
  130. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/date_time/zones.rb +6 -0
  131. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/digest/uuid.rb +51 -0
  132. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/enumerable.rb +96 -0
  133. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/file.rb +1 -0
  134. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/file/atomic.rb +63 -0
  135. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash.rb +9 -0
  136. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/compact.rb +24 -0
  137. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/conversions.rb +242 -0
  138. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/deep_merge.rb +38 -0
  139. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/except.rb +21 -0
  140. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/indifferent_access.rb +23 -0
  141. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/keys.rb +166 -0
  142. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/reverse_merge.rb +22 -0
  143. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/slice.rb +48 -0
  144. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/hash/transform_values.rb +23 -0
  145. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/integer.rb +3 -0
  146. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/integer/inflections.rb +29 -0
  147. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/integer/multiple.rb +10 -0
  148. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/integer/time.rb +29 -0
  149. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel.rb +5 -0
  150. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  151. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel/concern.rb +10 -0
  152. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel/debugger.rb +10 -0
  153. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel/reporting.rb +125 -0
  154. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/kernel/singleton_class.rb +6 -0
  155. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/load_error.rb +28 -0
  156. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/marshal.rb +24 -0
  157. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module.rb +11 -0
  158. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/aliasing.rb +69 -0
  159. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/anonymous.rb +19 -0
  160. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/attr_internal.rb +39 -0
  161. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/attribute_accessors.rb +212 -0
  162. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/concerning.rb +135 -0
  163. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/delegation.rb +217 -0
  164. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/deprecation.rb +23 -0
  165. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/introspection.rb +62 -0
  166. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/method_transplanting.rb +13 -0
  167. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/qualified_const.rb +52 -0
  168. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/reachable.rb +8 -0
  169. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/module/remove_method.rb +12 -0
  170. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/name_error.rb +18 -0
  171. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/numeric.rb +3 -0
  172. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/numeric/bytes.rb +44 -0
  173. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/numeric/conversions.rb +143 -0
  174. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/numeric/time.rb +54 -0
  175. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object.rb +15 -0
  176. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/acts_like.rb +10 -0
  177. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/blank.rb +131 -0
  178. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/conversions.rb +4 -0
  179. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/deep_dup.rb +46 -0
  180. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/duplicable.rb +129 -0
  181. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/inclusion.rb +27 -0
  182. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/instance_variables.rb +28 -0
  183. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/itself.rb +15 -0
  184. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/json.rb +197 -0
  185. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/to_param.rb +1 -0
  186. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/to_query.rb +84 -0
  187. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/try.rb +100 -0
  188. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/with_options.rb +69 -0
  189. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/range.rb +4 -0
  190. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/range/conversions.rb +19 -0
  191. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/range/each.rb +23 -0
  192. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/range/include_range.rb +23 -0
  193. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/range/overlaps.rb +8 -0
  194. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/regexp.rb +5 -0
  195. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string.rb +13 -0
  196. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/access.rb +104 -0
  197. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/behavior.rb +6 -0
  198. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/conversions.rb +56 -0
  199. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/exclude.rb +11 -0
  200. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/filters.rb +103 -0
  201. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/indent.rb +43 -0
  202. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/inflections.rb +217 -0
  203. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/inquiry.rb +13 -0
  204. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/multibyte.rb +49 -0
  205. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/output_safety.rb +262 -0
  206. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/starts_ends_with.rb +4 -0
  207. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/strip.rb +26 -0
  208. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/zones.rb +14 -0
  209. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/struct.rb +6 -0
  210. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/thread.rb +86 -0
  211. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time.rb +6 -0
  212. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/acts_like.rb +8 -0
  213. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/calculations.rb +281 -0
  214. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/compatibility.rb +14 -0
  215. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/conversions.rb +65 -0
  216. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/marshal.rb +30 -0
  217. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/time/zones.rb +79 -0
  218. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/uri.rb +26 -0
  219. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/dependencies.rb +762 -0
  220. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/dependencies/autoload.rb +77 -0
  221. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation.rb +43 -0
  222. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation/behaviors.rb +76 -0
  223. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation/instance_delegator.rb +24 -0
  224. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation/method_wrappers.rb +44 -0
  225. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation/proxy_wrappers.rb +126 -0
  226. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/deprecation/reporting.rb +94 -0
  227. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/descendants_tracker.rb +60 -0
  228. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/duration.rb +160 -0
  229. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/file_update_checker.rb +137 -0
  230. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/gem_version.rb +15 -0
  231. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/gzip.rb +36 -0
  232. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/hash_with_indifferent_access.rb +300 -0
  233. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/i18n.rb +13 -0
  234. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/i18n_railtie.rb +94 -0
  235. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/inflections.rb +70 -0
  236. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/inflector.rb +7 -0
  237. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/inflector/inflections.rb +211 -0
  238. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/inflector/methods.rb +383 -0
  239. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/inflector/transliterate.rb +97 -0
  240. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/json.rb +2 -0
  241. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/json/decoding.rb +73 -0
  242. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/json/encoding.rb +177 -0
  243. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/key_generator.rb +73 -0
  244. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/lazy_load_hooks.rb +48 -0
  245. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/locale/en.yml +133 -0
  246. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/log_subscriber.rb +109 -0
  247. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/log_subscriber/test_helper.rb +104 -0
  248. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/logger.rb +107 -0
  249. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/logger_silence.rb +27 -0
  250. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/logger_thread_safe_level.rb +32 -0
  251. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/message_encryptor.rb +114 -0
  252. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/message_verifier.rb +72 -0
  253. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/multibyte.rb +21 -0
  254. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/multibyte/chars.rb +222 -0
  255. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/multibyte/unicode.rb +390 -0
  256. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/notifications.rb +212 -0
  257. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/notifications/fanout.rb +157 -0
  258. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/notifications/instrumenter.rb +73 -0
  259. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper.rb +345 -0
  260. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_converter.rb +182 -0
  261. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_currency_converter.rb +46 -0
  262. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_delimited_converter.rb +23 -0
  263. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_human_converter.rb +66 -0
  264. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_human_size_converter.rb +58 -0
  265. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_percentage_converter.rb +12 -0
  266. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_phone_converter.rb +49 -0
  267. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/number_helper/number_to_rounded_converter.rb +87 -0
  268. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/option_merger.rb +25 -0
  269. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/ordered_hash.rb +48 -0
  270. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/ordered_options.rb +67 -0
  271. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/per_thread_registry.rb +55 -0
  272. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/proxy_object.rb +13 -0
  273. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/rails.rb +27 -0
  274. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/railtie.rb +46 -0
  275. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/rescuable.rb +119 -0
  276. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/security_utils.rb +27 -0
  277. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/string_inquirer.rb +26 -0
  278. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/subscriber.rb +125 -0
  279. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/tagged_logging.rb +76 -0
  280. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/test_case.rb +100 -0
  281. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/assertions.rb +97 -0
  282. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/autorun.rb +5 -0
  283. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/constant_lookup.rb +50 -0
  284. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/declarative.rb +26 -0
  285. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/deprecation.rb +35 -0
  286. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/isolation.rb +101 -0
  287. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/setup_and_teardown.rb +50 -0
  288. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/tagged_logging.rb +25 -0
  289. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/testing/time_helpers.rb +134 -0
  290. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/time.rb +18 -0
  291. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/time_with_zone.rb +421 -0
  292. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/values/time_zone.rb +430 -0
  293. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/values/unicode_tables.dat +0 -0
  294. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/version.rb +8 -0
  295. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini.rb +209 -0
  296. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/jdom.rb +181 -0
  297. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/libxml.rb +77 -0
  298. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/libxmlsax.rb +82 -0
  299. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/nokogiri.rb +81 -0
  300. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/nokogirisax.rb +85 -0
  301. data/vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/xml_mini/rexml.rb +128 -0
  302. data/vendor/bundle/gems/addressable-2.6.0/CHANGELOG.md +227 -0
  303. data/vendor/bundle/gems/addressable-2.6.0/Gemfile +32 -0
  304. data/vendor/bundle/gems/addressable-2.6.0/LICENSE.txt +202 -0
  305. data/vendor/bundle/gems/addressable-2.6.0/README.md +119 -0
  306. data/vendor/bundle/gems/addressable-2.6.0/Rakefile +34 -0
  307. data/vendor/bundle/gems/addressable-2.6.0/data/unicode.data +0 -0
  308. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable.rb +4 -0
  309. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/idna.rb +27 -0
  310. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/idna/native.rb +61 -0
  311. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/idna/pure.rb +676 -0
  312. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/template.rb +1045 -0
  313. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/uri.rb +2510 -0
  314. data/vendor/bundle/gems/addressable-2.6.0/lib/addressable/version.rb +32 -0
  315. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/idna_spec.rb +300 -0
  316. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/net_http_compat_spec.rb +30 -0
  317. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/rack_mount_compat_spec.rb +106 -0
  318. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/security_spec.rb +59 -0
  319. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/template_spec.rb +1451 -0
  320. data/vendor/bundle/gems/addressable-2.6.0/spec/addressable/uri_spec.rb +6545 -0
  321. data/vendor/bundle/gems/addressable-2.6.0/spec/spec_helper.rb +24 -0
  322. data/vendor/bundle/gems/addressable-2.6.0/tasks/clobber.rake +4 -0
  323. data/vendor/bundle/gems/addressable-2.6.0/tasks/gem.rake +93 -0
  324. data/vendor/bundle/gems/addressable-2.6.0/tasks/git.rake +47 -0
  325. data/vendor/bundle/gems/addressable-2.6.0/tasks/metrics.rake +24 -0
  326. data/vendor/bundle/gems/addressable-2.6.0/tasks/rspec.rake +23 -0
  327. data/vendor/bundle/gems/addressable-2.6.0/tasks/yard.rake +29 -0
  328. data/vendor/bundle/gems/atomos-0.1.3/.rspec +3 -0
  329. data/vendor/bundle/gems/atomos-0.1.3/.rubocop.yml +2 -0
  330. data/vendor/bundle/gems/atomos-0.1.3/.rubocop_todo.yml +32 -0
  331. data/vendor/bundle/gems/atomos-0.1.3/.travis.yml +5 -0
  332. data/vendor/bundle/gems/atomos-0.1.3/CODE_OF_CONDUCT.md +74 -0
  333. data/vendor/bundle/gems/atomos-0.1.3/Gemfile +8 -0
  334. data/vendor/bundle/gems/atomos-0.1.3/Gemfile.lock +51 -0
  335. data/vendor/bundle/gems/atomos-0.1.3/LICENSE.txt +21 -0
  336. data/vendor/bundle/gems/atomos-0.1.3/README.md +43 -0
  337. data/vendor/bundle/gems/atomos-0.1.3/Rakefile +11 -0
  338. data/vendor/bundle/gems/atomos-0.1.3/VERSION +1 -0
  339. data/vendor/bundle/gems/atomos-0.1.3/atomos.gemspec +26 -0
  340. data/vendor/bundle/gems/atomos-0.1.3/bin/console +15 -0
  341. data/vendor/bundle/gems/atomos-0.1.3/bin/rake +29 -0
  342. data/vendor/bundle/gems/atomos-0.1.3/bin/rspec +29 -0
  343. data/vendor/bundle/gems/atomos-0.1.3/bin/rubocop +29 -0
  344. data/vendor/bundle/gems/atomos-0.1.3/bin/setup +8 -0
  345. data/vendor/bundle/gems/atomos-0.1.3/lib/atomos.rb +47 -0
  346. data/vendor/bundle/gems/atomos-0.1.3/lib/atomos/version.rb +5 -0
  347. data/vendor/bundle/gems/bacon-1.2.0/.travis.yml +12 -0
  348. data/vendor/bundle/gems/bacon-1.2.0/COPYING +18 -0
  349. data/vendor/bundle/gems/bacon-1.2.0/ChangeLog +350 -0
  350. data/vendor/bundle/gems/bacon-1.2.0/RDOX +73 -0
  351. data/vendor/bundle/gems/bacon-1.2.0/README.rdoc +299 -0
  352. data/vendor/bundle/gems/bacon-1.2.0/Rakefile +80 -0
  353. data/vendor/bundle/gems/bacon-1.2.0/bacon.gemspec +25 -0
  354. data/vendor/bundle/gems/bacon-1.2.0/bin/bacon +118 -0
  355. data/vendor/bundle/gems/bacon-1.2.0/lib/autotest/bacon.rb +36 -0
  356. data/vendor/bundle/gems/bacon-1.2.0/lib/autotest/bacon_rspec.rb +2 -0
  357. data/vendor/bundle/gems/bacon-1.2.0/lib/autotest/discover.rb +9 -0
  358. data/vendor/bundle/gems/bacon-1.2.0/lib/bacon.rb +351 -0
  359. data/vendor/bundle/gems/bacon-1.2.0/test/spec_bacon.rb +415 -0
  360. data/vendor/bundle/gems/bacon-1.2.0/test/spec_nontrue.rb +14 -0
  361. data/vendor/bundle/gems/bacon-1.2.0/test/spec_should.rb +32 -0
  362. data/vendor/bundle/gems/claide-1.0.2/.kick +30 -0
  363. data/vendor/bundle/gems/claide-1.0.2/.rubocop.yml +3 -0
  364. data/vendor/bundle/gems/claide-1.0.2/.rubocop_cocoapods.yml +133 -0
  365. data/vendor/bundle/gems/claide-1.0.2/.rubocop_todo.yml +70 -0
  366. data/vendor/bundle/gems/claide-1.0.2/.travis.yml +17 -0
  367. data/vendor/bundle/gems/claide-1.0.2/.yardopts +1 -0
  368. data/vendor/bundle/gems/claide-1.0.2/CHANGELOG.md +240 -0
  369. data/vendor/bundle/gems/claide-1.0.2/Gemfile +23 -0
  370. data/vendor/bundle/gems/claide-1.0.2/Gemfile.lock +74 -0
  371. data/vendor/bundle/gems/claide-1.0.2/LICENSE +21 -0
  372. data/vendor/bundle/gems/claide-1.0.2/README.markdown +118 -0
  373. data/vendor/bundle/gems/claide-1.0.2/Rakefile +57 -0
  374. data/vendor/bundle/gems/claide-1.0.2/claide.gemspec +21 -0
  375. data/vendor/bundle/gems/claide-1.0.2/lib/claide.rb +19 -0
  376. data/vendor/bundle/gems/claide-1.0.2/lib/claide/ansi.rb +126 -0
  377. data/vendor/bundle/gems/claide-1.0.2/lib/claide/ansi/cursor.rb +69 -0
  378. data/vendor/bundle/gems/claide-1.0.2/lib/claide/ansi/graphics.rb +72 -0
  379. data/vendor/bundle/gems/claide-1.0.2/lib/claide/ansi/string_escaper.rb +79 -0
  380. data/vendor/bundle/gems/claide-1.0.2/lib/claide/argument.rb +62 -0
  381. data/vendor/bundle/gems/claide-1.0.2/lib/claide/argv.rb +329 -0
  382. data/vendor/bundle/gems/claide-1.0.2/lib/claide/command.rb +659 -0
  383. data/vendor/bundle/gems/claide-1.0.2/lib/claide/command/argument_suggester.rb +99 -0
  384. data/vendor/bundle/gems/claide-1.0.2/lib/claide/command/banner.rb +307 -0
  385. data/vendor/bundle/gems/claide-1.0.2/lib/claide/command/plugin_manager.rb +123 -0
  386. data/vendor/bundle/gems/claide-1.0.2/lib/claide/help.rb +58 -0
  387. data/vendor/bundle/gems/claide-1.0.2/lib/claide/informative_error.rb +21 -0
  388. data/vendor/bundle/gems/cocoapods-1.6.1/CHANGELOG.md +6521 -0
  389. data/vendor/bundle/gems/cocoapods-1.6.1/LICENSE +28 -0
  390. data/vendor/bundle/gems/cocoapods-1.6.1/README.md +80 -0
  391. data/vendor/bundle/gems/cocoapods-1.6.1/bin/pod +56 -0
  392. data/vendor/bundle/gems/cocoapods-1.6.1/bin/sandbox-pod +168 -0
  393. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods.rb +73 -0
  394. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command.rb +175 -0
  395. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/cache.rb +28 -0
  396. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/cache/clean.rb +90 -0
  397. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/cache/list.rb +69 -0
  398. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/env.rb +66 -0
  399. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/init.rb +130 -0
  400. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb +52 -0
  401. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc.rb +19 -0
  402. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/list.rb +40 -0
  403. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/podfile.rb +31 -0
  404. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/podfile_json.rb +30 -0
  405. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/repl.rb +51 -0
  406. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/spec.rb +29 -0
  407. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/ipc/update_search_index.rb +24 -0
  408. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/lib.rb +11 -0
  409. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/lib/create.rb +105 -0
  410. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/lib/lint.rb +124 -0
  411. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/list.rb +39 -0
  412. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/options/project_directory.rb +36 -0
  413. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/options/repo_update.rb +34 -0
  414. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/outdated.rb +140 -0
  415. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo.rb +29 -0
  416. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/add.rb +103 -0
  417. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/lint.rb +82 -0
  418. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/list.rb +93 -0
  419. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/push.rb +286 -0
  420. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/remove.rb +36 -0
  421. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/repo/update.rb +28 -0
  422. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/setup.rb +103 -0
  423. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec.rb +112 -0
  424. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/cat.rb +51 -0
  425. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/create.rb +283 -0
  426. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/edit.rb +87 -0
  427. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/env_spec.rb +53 -0
  428. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/lint.rb +140 -0
  429. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/spec/which.rb +43 -0
  430. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/command/update.rb +101 -0
  431. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/config.rb +347 -0
  432. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/core_overrides.rb +1 -0
  433. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/downloader.rb +190 -0
  434. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/downloader/cache.rb +233 -0
  435. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/downloader/request.rb +86 -0
  436. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/downloader/response.rb +16 -0
  437. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/executable.rb +222 -0
  438. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/external_sources.rb +57 -0
  439. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/external_sources/abstract_external_source.rb +205 -0
  440. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/external_sources/downloader_source.rb +30 -0
  441. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/external_sources/path_source.rb +55 -0
  442. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/external_sources/podspec_source.rb +54 -0
  443. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/gem_version.rb +5 -0
  444. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/acknowledgements.rb +107 -0
  445. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/acknowledgements/markdown.rb +44 -0
  446. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/acknowledgements/plist.rb +94 -0
  447. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/app_target_helper.rb +351 -0
  448. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/bridge_support.rb +22 -0
  449. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/constant.rb +19 -0
  450. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/copy_resources_script.rb +235 -0
  451. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/dummy_source.rb +31 -0
  452. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/embed_frameworks_script.rb +221 -0
  453. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/header.rb +103 -0
  454. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/info_plist_file.rb +124 -0
  455. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/module_map.rb +99 -0
  456. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/prefix_header.rb +60 -0
  457. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/generator/umbrella_header.rb +46 -0
  458. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb +132 -0
  459. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb +765 -0
  460. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb +1039 -0
  461. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/analysis_result.rb +87 -0
  462. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb +103 -0
  463. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/pod_variant.rb +67 -0
  464. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/pod_variant_set.rb +157 -0
  465. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/podfile_dependency_cache.rb +54 -0
  466. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +240 -0
  467. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/specs_state.rb +108 -0
  468. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/target_inspection_result.rb +58 -0
  469. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer/target_inspector.rb +260 -0
  470. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/installation_options.rb +160 -0
  471. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_installer.rb +202 -0
  472. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/pod_source_preparer.rb +77 -0
  473. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/podfile_validator.rb +139 -0
  474. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/post_install_hooks_context.rb +132 -0
  475. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/pre_install_hooks_context.rb +51 -0
  476. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/source_provider_hooks_context.rb +34 -0
  477. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/user_project_integrator.rb +254 -0
  478. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +501 -0
  479. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +179 -0
  480. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode.rb +8 -0
  481. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator.rb +361 -0
  482. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb +181 -0
  483. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +104 -0
  484. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +340 -0
  485. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +837 -0
  486. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +129 -0
  487. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +93 -0
  488. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +258 -0
  489. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +72 -0
  490. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/target_validator.rb +147 -0
  491. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/open-uri.rb +33 -0
  492. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/project.rb +416 -0
  493. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/resolver.rb +578 -0
  494. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/resolver/lazy_specification.rb +79 -0
  495. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/resolver/resolver_specification.rb +41 -0
  496. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox.rb +408 -0
  497. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox/file_accessor.rb +444 -0
  498. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox/headers_store.rb +146 -0
  499. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox/path_list.rb +220 -0
  500. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox/pod_dir_cleaner.rb +85 -0
  501. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sandbox/podspec_finder.rb +23 -0
  502. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/sources_manager.rb +157 -0
  503. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/target.rb +261 -0
  504. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/target/aggregate_target.rb +373 -0
  505. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/target/build_settings.rb +1124 -0
  506. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/target/framework_paths.rb +36 -0
  507. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/target/pod_target.rb +556 -0
  508. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb +459 -0
  509. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/user_interface/error_report.rb +187 -0
  510. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/user_interface/inspector_reporter.rb +109 -0
  511. data/vendor/bundle/gems/cocoapods-1.6.1/lib/cocoapods/validator.rb +999 -0
  512. data/vendor/bundle/gems/cocoapods-core-1.6.1/LICENSE +20 -0
  513. data/vendor/bundle/gems/cocoapods-core-1.6.1/README.md +42 -0
  514. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core.rb +38 -0
  515. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/core_ui.rb +19 -0
  516. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/dependency.rb +424 -0
  517. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/gem_version.rb +5 -0
  518. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/github.rb +161 -0
  519. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/http.rb +84 -0
  520. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/lockfile.rb +541 -0
  521. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/master_source.rb +8 -0
  522. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/metrics.rb +47 -0
  523. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/platform.rb +242 -0
  524. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/podfile.rb +402 -0
  525. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/podfile/dsl.rb +852 -0
  526. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/podfile/target_definition.rb +1068 -0
  527. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/requirement.rb +104 -0
  528. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source.rb +458 -0
  529. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source/acceptor.rb +170 -0
  530. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source/aggregate.rb +218 -0
  531. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source/health_reporter.rb +192 -0
  532. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source/manager.rb +412 -0
  533. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/source/metadata.rb +79 -0
  534. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification.rb +732 -0
  535. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/consumer.rb +418 -0
  536. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/dsl.rb +1588 -0
  537. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/dsl/attribute.rb +199 -0
  538. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/dsl/attribute_support.rb +74 -0
  539. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/dsl/deprecations.rb +20 -0
  540. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/dsl/platform_proxy.rb +82 -0
  541. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/json.rb +85 -0
  542. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/linter.rb +499 -0
  543. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/linter/analyzer.rb +205 -0
  544. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/linter/result.rb +128 -0
  545. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/root_attribute_accessors.rb +201 -0
  546. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/set.rb +177 -0
  547. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/specification/set/presenter.rb +203 -0
  548. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/standard_error.rb +108 -0
  549. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/vendor.rb +50 -0
  550. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/vendor/requirement.rb +288 -0
  551. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/vendor/version.rb +377 -0
  552. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/version.rb +237 -0
  553. data/vendor/bundle/gems/cocoapods-core-1.6.1/lib/cocoapods-core/yaml_helper.rb +319 -0
  554. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/LICENSE +23 -0
  555. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/README.md +56 -0
  556. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/lib/cocoapods/command/deintegrate.rb +53 -0
  557. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/lib/cocoapods/deintegrate/gem_version.rb +3 -0
  558. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/lib/cocoapods/deintegrator.rb +145 -0
  559. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/lib/cocoapods_deintegrate.rb +2 -0
  560. data/vendor/bundle/gems/cocoapods-deintegrate-1.0.4/lib/cocoapods_plugin.rb +4 -0
  561. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/LICENSE +21 -0
  562. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/README.markdown +77 -0
  563. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader.rb +102 -0
  564. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/api.rb +73 -0
  565. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/api_exposable.rb +23 -0
  566. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/base.rb +173 -0
  567. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/bazaar.rb +60 -0
  568. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/gem_version.rb +8 -0
  569. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/git.rb +136 -0
  570. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/http.rb +15 -0
  571. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/mercurial.rb +54 -0
  572. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/remote_file.rb +178 -0
  573. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/scp.rb +30 -0
  574. data/vendor/bundle/gems/cocoapods-downloader-1.2.2/lib/cocoapods-downloader/subversion.rb +69 -0
  575. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/.rubocop.yml +4 -0
  576. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/.rubocop_cocoapods.yml +116 -0
  577. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/.travis.yml +24 -0
  578. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/CHANGELOG.md +102 -0
  579. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/Gemfile +18 -0
  580. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/Gemfile.lock +134 -0
  581. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/LICENSE +21 -0
  582. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/README.md +44 -0
  583. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/Rakefile +88 -0
  584. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/cocoapods-plugins.gemspec +31 -0
  585. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/cocoapods_plugin.rb +1 -0
  586. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/cocoapods_plugins.rb +5 -0
  587. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/gem_helper.rb +120 -0
  588. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/gem_index_cache.rb +87 -0
  589. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins.rb +30 -0
  590. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins/create.rb +120 -0
  591. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins/installed.rb +92 -0
  592. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins/list.rb +33 -0
  593. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins/publish.rb +76 -0
  594. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins/search.rb +58 -0
  595. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/lib/pod/command/plugins_helper.rb +137 -0
  596. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/plugins.json +245 -0
  597. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/gem_helper_spec.rb +40 -0
  598. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/gem_index_cache_spec.rb +37 -0
  599. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins/create_spec.rb +89 -0
  600. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins/installed_spec.rb +140 -0
  601. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins/list_spec.rb +29 -0
  602. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins/publish_spec.rb +132 -0
  603. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins/search_spec.rb +55 -0
  604. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins_helper_spec.rb +33 -0
  605. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/command/plugins_spec.rb +20 -0
  606. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/fixtures/cocoapods-foo1.gemspec +10 -0
  607. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/fixtures/cocoapods-foo2.gemspec +9 -0
  608. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/fixtures/plugins.json +22 -0
  609. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/fixtures/unprefixed.gemspec +10 -0
  610. data/vendor/bundle/gems/cocoapods-plugins-1.0.0/spec/spec_helper.rb +122 -0
  611. data/vendor/bundle/gems/cocoapods-search-1.0.0/.gitmodules +3 -0
  612. data/vendor/bundle/gems/cocoapods-search-1.0.0/.travis.yml +10 -0
  613. data/vendor/bundle/gems/cocoapods-search-1.0.0/CHANGELOG.md +70 -0
  614. data/vendor/bundle/gems/cocoapods-search-1.0.0/Gemfile +13 -0
  615. data/vendor/bundle/gems/cocoapods-search-1.0.0/Gemfile.lock +99 -0
  616. data/vendor/bundle/gems/cocoapods-search-1.0.0/LICENSE.txt +21 -0
  617. data/vendor/bundle/gems/cocoapods-search-1.0.0/README.md +106 -0
  618. data/vendor/bundle/gems/cocoapods-search-1.0.0/Rakefile +13 -0
  619. data/vendor/bundle/gems/cocoapods-search-1.0.0/cocoapods-search.gemspec +25 -0
  620. data/vendor/bundle/gems/cocoapods-search-1.0.0/lib/cocoapods-search.rb +1 -0
  621. data/vendor/bundle/gems/cocoapods-search-1.0.0/lib/cocoapods-search/command.rb +1 -0
  622. data/vendor/bundle/gems/cocoapods-search-1.0.0/lib/cocoapods-search/command/search.rb +115 -0
  623. data/vendor/bundle/gems/cocoapods-search-1.0.0/lib/cocoapods-search/gem_version.rb +3 -0
  624. data/vendor/bundle/gems/cocoapods-search-1.0.0/lib/cocoapods_plugin.rb +1 -0
  625. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/command/search_spec.rb +154 -0
  626. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/BananaLib/1.0/BananaLib.podspec +21 -0
  627. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/JSONKit/1.4/JSONKit.podspec +11 -0
  628. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/JSONKit/999.999.999/JSONKit.podspec +12 -0
  629. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/OrangeFramework/0.1.0/OrangeFramework.podspec +16 -0
  630. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/Pod+With+Plus+Signs/1.0/Pod+With+Plus+Signs.podspec +17 -0
  631. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/Realm/0.94/Realm.podspec +18 -0
  632. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/fixtures/spec-repos/test_repo/monkey/1.0.2/monkey.podspec +11 -0
  633. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper.rb +85 -0
  634. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper/command.rb +27 -0
  635. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper/fixture.rb +32 -0
  636. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper/pre_flight.rb +36 -0
  637. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper/temporary_repos.rb +90 -0
  638. data/vendor/bundle/gems/cocoapods-search-1.0.0/spec/spec_helper/user_interface.rb +36 -0
  639. data/vendor/bundle/gems/cocoapods-stats-1.1.0/.rubocop.yml +9 -0
  640. data/vendor/bundle/gems/cocoapods-stats-1.1.0/.rubocop_cocoapods.yml +138 -0
  641. data/vendor/bundle/gems/cocoapods-stats-1.1.0/.travis.yml +8 -0
  642. data/vendor/bundle/gems/cocoapods-stats-1.1.0/CHANGELOG.md +125 -0
  643. data/vendor/bundle/gems/cocoapods-stats-1.1.0/Gemfile +14 -0
  644. data/vendor/bundle/gems/cocoapods-stats-1.1.0/Gemfile.lock +109 -0
  645. data/vendor/bundle/gems/cocoapods-stats-1.1.0/LICENSE.txt +22 -0
  646. data/vendor/bundle/gems/cocoapods-stats-1.1.0/README.md +11 -0
  647. data/vendor/bundle/gems/cocoapods-stats-1.1.0/Rakefile +26 -0
  648. data/vendor/bundle/gems/cocoapods-stats-1.1.0/cocoapods-stats.gemspec +24 -0
  649. data/vendor/bundle/gems/cocoapods-stats-1.1.0/lib/cocoapods_plugin.rb +74 -0
  650. data/vendor/bundle/gems/cocoapods-stats-1.1.0/lib/cocoapods_stats.rb +1 -0
  651. data/vendor/bundle/gems/cocoapods-stats-1.1.0/lib/cocoapods_stats/gem_version.rb +3 -0
  652. data/vendor/bundle/gems/cocoapods-stats-1.1.0/lib/cocoapods_stats/sender.rb +29 -0
  653. data/vendor/bundle/gems/cocoapods-stats-1.1.0/lib/cocoapods_stats/target_mapper.rb +44 -0
  654. data/vendor/bundle/gems/cocoapods-stats-1.1.0/spec/env_validator_spec.rb +19 -0
  655. data/vendor/bundle/gems/cocoapods-stats-1.1.0/spec/spec_helper.rb +46 -0
  656. data/vendor/bundle/gems/cocoapods-stats-1.1.0/spec/stats_spec.rb +36 -0
  657. data/vendor/bundle/gems/cocoapods-stats-1.1.0/spec/target_mapper_spec.rb +61 -0
  658. data/vendor/bundle/gems/cocoapods-stats-1.1.0/spec/validator_spec.rb +33 -0
  659. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/.kick +29 -0
  660. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/.rubocop.yml +3 -0
  661. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/.rubocop_cocoapods.yml +138 -0
  662. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/.rubocop_todo.yml +33 -0
  663. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/.travis.yml +24 -0
  664. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/CHANGELOG.md +326 -0
  665. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/Gemfile +25 -0
  666. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/Gemfile.lock +171 -0
  667. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/LICENSE.txt +22 -0
  668. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/README.md +36 -0
  669. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/Rakefile +68 -0
  670. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/cocoapods-trunk.gemspec +26 -0
  671. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/cocoapods_plugin.rb +1 -0
  672. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/cocoapods_trunk.rb +3 -0
  673. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk.rb +146 -0
  674. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/add_owner.rb +47 -0
  675. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/delete.rb +70 -0
  676. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/deprecate.rb +48 -0
  677. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/info.rb +35 -0
  678. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/me.rb +119 -0
  679. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/push.rb +157 -0
  680. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/register.rb +78 -0
  681. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/lib/pod/command/trunk/remove_owner.rb +46 -0
  682. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/addowner_spec.rb +52 -0
  683. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/delete_spec.rb +68 -0
  684. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/deprecate_spec.rb +58 -0
  685. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/info_spec.rb +36 -0
  686. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/me_spec.rb +17 -0
  687. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/push_spec.rb +286 -0
  688. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/register_spec.rb +31 -0
  689. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk/remove_owner_spec.rb +51 -0
  690. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/command/trunk_spec.rb +23 -0
  691. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/fixtures/BananaLib.podspec +25 -0
  692. data/vendor/bundle/gems/cocoapods-trunk-1.3.1/spec/spec_helper.rb +97 -0
  693. data/vendor/bundle/gems/cocoapods-try-1.1.0/.rubocop.yml +3 -0
  694. data/vendor/bundle/gems/cocoapods-try-1.1.0/.rubocop_cocoapods.yml +121 -0
  695. data/vendor/bundle/gems/cocoapods-try-1.1.0/.rubocop_todo.yml +12 -0
  696. data/vendor/bundle/gems/cocoapods-try-1.1.0/.travis.yml +30 -0
  697. data/vendor/bundle/gems/cocoapods-try-1.1.0/CHANGELOG.md +190 -0
  698. data/vendor/bundle/gems/cocoapods-try-1.1.0/Gemfile +19 -0
  699. data/vendor/bundle/gems/cocoapods-try-1.1.0/Gemfile.lock +131 -0
  700. data/vendor/bundle/gems/cocoapods-try-1.1.0/LICENSE +22 -0
  701. data/vendor/bundle/gems/cocoapods-try-1.1.0/README.md +19 -0
  702. data/vendor/bundle/gems/cocoapods-try-1.1.0/Rakefile +56 -0
  703. data/vendor/bundle/gems/cocoapods-try-1.1.0/cocoapods-try.gemspec +21 -0
  704. data/vendor/bundle/gems/cocoapods-try-1.1.0/lib/cocoapods_plugin.rb +1 -0
  705. data/vendor/bundle/gems/cocoapods-try-1.1.0/lib/cocoapods_try.rb +5 -0
  706. data/vendor/bundle/gems/cocoapods-try-1.1.0/lib/pod/command/try.rb +267 -0
  707. data/vendor/bundle/gems/cocoapods-try-1.1.0/lib/pod/try_settings.rb +53 -0
  708. data/vendor/bundle/gems/cocoapods-try-1.1.0/spec/command/try_settings_spec.rb +105 -0
  709. data/vendor/bundle/gems/cocoapods-try-1.1.0/spec/command/try_spec.rb +223 -0
  710. data/vendor/bundle/gems/cocoapods-try-1.1.0/spec/spec_helper.rb +60 -0
  711. data/vendor/bundle/gems/colored2-3.1.2/LICENSE +23 -0
  712. data/vendor/bundle/gems/colored2-3.1.2/README.md +93 -0
  713. data/vendor/bundle/gems/colored2-3.1.2/Rakefile +13 -0
  714. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2.rb +85 -0
  715. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/ascii_decorator.rb +86 -0
  716. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/codes.rb +63 -0
  717. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/numbers.rb +11 -0
  718. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/object.rb +2 -0
  719. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/strings.rb +2 -0
  720. data/vendor/bundle/gems/colored2-3.1.2/lib/colored2/version.rb +3 -0
  721. data/vendor/bundle/gems/colored2-3.1.2/spec/colored2/numbers_spec.rb +26 -0
  722. data/vendor/bundle/gems/colored2-3.1.2/spec/colored2/object_spec.rb +24 -0
  723. data/vendor/bundle/gems/colored2-3.1.2/spec/colored2/strings_spec.rb +77 -0
  724. data/vendor/bundle/gems/colored2-3.1.2/spec/colored2_spec.rb +23 -0
  725. data/vendor/bundle/gems/colored2-3.1.2/spec/spec_helper.rb +5 -0
  726. data/vendor/bundle/gems/concurrent-ruby-1.1.5/CHANGELOG.md +478 -0
  727. data/vendor/bundle/gems/concurrent-ruby-1.1.5/Gemfile +41 -0
  728. data/vendor/bundle/gems/concurrent-ruby-1.1.5/LICENSE.md +23 -0
  729. data/vendor/bundle/gems/concurrent-ruby-1.1.5/README.md +381 -0
  730. data/vendor/bundle/gems/concurrent-ruby-1.1.5/Rakefile +327 -0
  731. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/ConcurrentRubyService.java +17 -0
  732. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +175 -0
  733. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +248 -0
  734. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +93 -0
  735. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +113 -0
  736. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +159 -0
  737. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +307 -0
  738. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +31 -0
  739. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +3863 -0
  740. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +203 -0
  741. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +342 -0
  742. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  743. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +204 -0
  744. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +291 -0
  745. data/vendor/bundle/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +199 -0
  746. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent-ruby.rb +1 -0
  747. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent.rb +134 -0
  748. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/agent.rb +587 -0
  749. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/array.rb +66 -0
  750. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/async.rb +459 -0
  751. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atom.rb +222 -0
  752. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/abstract_thread_local_var.rb +66 -0
  753. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_boolean.rb +126 -0
  754. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_fixnum.rb +143 -0
  755. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_markable_reference.rb +164 -0
  756. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_reference.rb +204 -0
  757. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/count_down_latch.rb +100 -0
  758. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/cyclic_barrier.rb +128 -0
  759. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb +109 -0
  760. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/java_count_down_latch.rb +42 -0
  761. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/java_thread_local_var.rb +37 -0
  762. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_atomic_boolean.rb +62 -0
  763. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb +75 -0
  764. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_count_down_latch.rb +44 -0
  765. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_semaphore.rb +115 -0
  766. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/read_write_lock.rb +254 -0
  767. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/reentrant_read_write_lock.rb +379 -0
  768. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb +161 -0
  769. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/semaphore.rb +145 -0
  770. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/thread_local_var.rb +104 -0
  771. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic_reference/mutex_atomic.rb +56 -0
  772. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +28 -0
  773. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/atomics.rb +10 -0
  774. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/copy_on_notify_observer_set.rb +107 -0
  775. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/copy_on_write_observer_set.rb +111 -0
  776. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +84 -0
  777. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/lock_free_stack.rb +158 -0
  778. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/atomic_reference_map_backend.rb +927 -0
  779. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/mri_map_backend.rb +66 -0
  780. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/non_concurrent_map_backend.rb +140 -0
  781. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/synchronized_map_backend.rb +82 -0
  782. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/non_concurrent_priority_queue.rb +143 -0
  783. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +150 -0
  784. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/deprecation.rb +34 -0
  785. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/dereferenceable.rb +73 -0
  786. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/logging.rb +32 -0
  787. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb +220 -0
  788. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/observable.rb +110 -0
  789. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/concurrent_ruby.jar +0 -0
  790. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/configuration.rb +184 -0
  791. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/constants.rb +8 -0
  792. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/dataflow.rb +81 -0
  793. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/delay.rb +199 -0
  794. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/errors.rb +69 -0
  795. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/exchanger.rb +352 -0
  796. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/abstract_executor_service.rb +134 -0
  797. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/cached_thread_pool.rb +62 -0
  798. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/executor_service.rb +185 -0
  799. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/fixed_thread_pool.rb +206 -0
  800. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/immediate_executor.rb +66 -0
  801. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/indirect_immediate_executor.rb +44 -0
  802. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_executor_service.rb +91 -0
  803. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_single_thread_executor.rb +29 -0
  804. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_thread_pool_executor.rb +123 -0
  805. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_executor_service.rb +78 -0
  806. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_single_thread_executor.rb +22 -0
  807. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb +362 -0
  808. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb +35 -0
  809. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serial_executor_service.rb +34 -0
  810. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serialized_execution.rb +107 -0
  811. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serialized_execution_delegator.rb +28 -0
  812. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/simple_executor_service.rb +100 -0
  813. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/single_thread_executor.rb +56 -0
  814. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/thread_pool_executor.rb +87 -0
  815. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/timer_set.rb +173 -0
  816. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/executors.rb +20 -0
  817. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/future.rb +141 -0
  818. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/hash.rb +59 -0
  819. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/immutable_struct.rb +93 -0
  820. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/ivar.rb +207 -0
  821. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/map.rb +337 -0
  822. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/maybe.rb +229 -0
  823. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/mutable_struct.rb +229 -0
  824. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/mvar.rb +242 -0
  825. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/options.rb +42 -0
  826. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/promise.rb +579 -0
  827. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/promises.rb +2167 -0
  828. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/re_include.rb +58 -0
  829. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/scheduled_task.rb +318 -0
  830. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/set.rb +66 -0
  831. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/settable_struct.rb +129 -0
  832. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization.rb +30 -0
  833. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_lockable_object.rb +98 -0
  834. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_object.rb +24 -0
  835. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_struct.rb +160 -0
  836. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/condition.rb +60 -0
  837. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/jruby_lockable_object.rb +13 -0
  838. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/jruby_object.rb +45 -0
  839. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/lock.rb +36 -0
  840. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/lockable_object.rb +74 -0
  841. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mri_object.rb +44 -0
  842. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb +76 -0
  843. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/object.rb +183 -0
  844. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/rbx_lockable_object.rb +65 -0
  845. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/rbx_object.rb +49 -0
  846. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/truffleruby_object.rb +47 -0
  847. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/volatile.rb +36 -0
  848. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/synchronized_delegator.rb +50 -0
  849. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util.rb +16 -0
  850. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/adder.rb +74 -0
  851. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/cheap_lockable.rb +118 -0
  852. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/data_structures.rb +63 -0
  853. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +38 -0
  854. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/striped64.rb +246 -0
  855. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/volatile.rb +75 -0
  856. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/xor_shift_random.rb +50 -0
  857. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/timer_task.rb +334 -0
  858. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/tuple.rb +86 -0
  859. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/tvar.rb +258 -0
  860. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/at_exit.rb +97 -0
  861. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/engine.rb +56 -0
  862. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/monotonic_time.rb +58 -0
  863. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/native_extension_loader.rb +79 -0
  864. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/native_integer.rb +53 -0
  865. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/processor_counter.rb +158 -0
  866. data/vendor/bundle/gems/concurrent-ruby-1.1.5/lib/concurrent/version.rb +3 -0
  867. data/vendor/bundle/gems/escape-0.0.4/Readme +21 -0
  868. data/vendor/bundle/gems/escape-0.0.4/doc_include/template/qualitysmith.rb +631 -0
  869. data/vendor/bundle/gems/escape-0.0.4/lib/escape.rb +247 -0
  870. data/vendor/bundle/gems/fourflusher-2.2.0/.rubocop.yml +30 -0
  871. data/vendor/bundle/gems/fourflusher-2.2.0/.travis.yml +8 -0
  872. data/vendor/bundle/gems/fourflusher-2.2.0/CHANGELOG.md +116 -0
  873. data/vendor/bundle/gems/fourflusher-2.2.0/Gemfile +3 -0
  874. data/vendor/bundle/gems/fourflusher-2.2.0/Gemfile.lock +47 -0
  875. data/vendor/bundle/gems/fourflusher-2.2.0/LICENSE.txt +21 -0
  876. data/vendor/bundle/gems/fourflusher-2.2.0/README.md +33 -0
  877. data/vendor/bundle/gems/fourflusher-2.2.0/Rakefile +9 -0
  878. data/vendor/bundle/gems/fourflusher-2.2.0/bin/console +14 -0
  879. data/vendor/bundle/gems/fourflusher-2.2.0/bin/setup +8 -0
  880. data/vendor/bundle/gems/fourflusher-2.2.0/fourflusher.gemspec +27 -0
  881. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher.rb +3 -0
  882. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/compat.rb +24 -0
  883. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb +236 -0
  884. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/find.rb +150 -0
  885. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/simctl.rb +19 -0
  886. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/version.rb +3 -0
  887. data/vendor/bundle/gems/fourflusher-2.2.0/lib/fourflusher/xcodebuild.rb +13 -0
  888. data/vendor/bundle/gems/fuzzy_match-2.0.4/.rspec +2 -0
  889. data/vendor/bundle/gems/fuzzy_match-2.0.4/CHANGELOG +93 -0
  890. data/vendor/bundle/gems/fuzzy_match-2.0.4/Gemfile +11 -0
  891. data/vendor/bundle/gems/fuzzy_match-2.0.4/LICENSE +20 -0
  892. data/vendor/bundle/gems/fuzzy_match-2.0.4/README.markdown +191 -0
  893. data/vendor/bundle/gems/fuzzy_match-2.0.4/Rakefile +5 -0
  894. data/vendor/bundle/gems/fuzzy_match-2.0.4/THANKS-WILLIAM-JAMES.rb +37 -0
  895. data/vendor/bundle/gems/fuzzy_match-2.0.4/benchmark/before-with-free.txt +283 -0
  896. data/vendor/bundle/gems/fuzzy_match-2.0.4/benchmark/before-without-last-result.txt +257 -0
  897. data/vendor/bundle/gems/fuzzy_match-2.0.4/benchmark/before.txt +304 -0
  898. data/vendor/bundle/gems/fuzzy_match-2.0.4/benchmark/memory.rb +53 -0
  899. data/vendor/bundle/gems/fuzzy_match-2.0.4/bin/fuzzy_match +106 -0
  900. data/vendor/bundle/gems/fuzzy_match-2.0.4/fuzzy_match.gemspec +34 -0
  901. data/vendor/bundle/gems/fuzzy_match-2.0.4/groupings-screenshot.png +0 -0
  902. data/vendor/bundle/gems/fuzzy_match-2.0.4/highlevel.graffle +0 -0
  903. data/vendor/bundle/gems/fuzzy_match-2.0.4/highlevel.png +0 -0
  904. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match.rb +335 -0
  905. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/cached_result.rb +79 -0
  906. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/record.rb +58 -0
  907. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/result.rb +45 -0
  908. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/rule.rb +17 -0
  909. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/rule/grouping.rb +90 -0
  910. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/rule/identity.rb +40 -0
  911. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/score.rb +30 -0
  912. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/score/amatch.rb +21 -0
  913. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/score/pure_ruby.rb +94 -0
  914. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/similarity.rb +39 -0
  915. data/vendor/bundle/gems/fuzzy_match-2.0.4/lib/fuzzy_match/version.rb +3 -0
  916. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/amatch_spec.rb +17 -0
  917. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/cache_spec.rb +132 -0
  918. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/foo.rb +9 -0
  919. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/fuzzy_match_spec.rb +367 -0
  920. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/grouping_spec.rb +60 -0
  921. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/identity_spec.rb +29 -0
  922. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/record_spec.rb +25 -0
  923. data/vendor/bundle/gems/fuzzy_match-2.0.4/spec/spec_helper.rb +21 -0
  924. data/vendor/bundle/gems/gh_inspector-1.1.3/.rspec +2 -0
  925. data/vendor/bundle/gems/gh_inspector-1.1.3/.rubocop.yml +134 -0
  926. data/vendor/bundle/gems/gh_inspector-1.1.3/.travis.yml +9 -0
  927. data/vendor/bundle/gems/gh_inspector-1.1.3/CHANGELOG.md +26 -0
  928. data/vendor/bundle/gems/gh_inspector-1.1.3/Gemfile +4 -0
  929. data/vendor/bundle/gems/gh_inspector-1.1.3/LICENSE +21 -0
  930. data/vendor/bundle/gems/gh_inspector-1.1.3/README.md +102 -0
  931. data/vendor/bundle/gems/gh_inspector-1.1.3/Rakefile +62 -0
  932. data/vendor/bundle/gems/gh_inspector-1.1.3/bin/console +10 -0
  933. data/vendor/bundle/gems/gh_inspector-1.1.3/bin/setup +8 -0
  934. data/vendor/bundle/gems/gh_inspector-1.1.3/gh_inspector.gemspec +27 -0
  935. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector.rb +8 -0
  936. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector/evidence.rb +118 -0
  937. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector/exception_hound.rb +45 -0
  938. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector/inspector.rb +71 -0
  939. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector/sidekick.rb +138 -0
  940. data/vendor/bundle/gems/gh_inspector-1.1.3/lib/gh_inspector/version.rb +3 -0
  941. data/vendor/bundle/gems/i18n-0.9.5/MIT-LICENSE +20 -0
  942. data/vendor/bundle/gems/i18n-0.9.5/README.md +84 -0
  943. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-3.2.x +10 -0
  944. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-4.0.x +10 -0
  945. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-4.1.x +10 -0
  946. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-4.2.x +10 -0
  947. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-5.0.x +10 -0
  948. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-5.1.x +10 -0
  949. data/vendor/bundle/gems/i18n-0.9.5/gemfiles/Gemfile.rails-master +10 -0
  950. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n.rb +356 -0
  951. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend.rb +18 -0
  952. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/base.rb +255 -0
  953. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/cache.rb +114 -0
  954. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/cascade.rb +54 -0
  955. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/chain.rb +97 -0
  956. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/fallbacks.rb +86 -0
  957. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/flatten.rb +113 -0
  958. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/gettext.rb +81 -0
  959. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/interpolation_compiler.rb +121 -0
  960. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/key_value.rb +177 -0
  961. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/memoize.rb +46 -0
  962. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/metadata.rb +69 -0
  963. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/pluralization.rb +53 -0
  964. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/simple.rb +93 -0
  965. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/backend/transliterator.rb +106 -0
  966. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/config.rb +147 -0
  967. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/core_ext/hash.rb +29 -0
  968. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/core_ext/kernel/suppress_warnings.rb +8 -0
  969. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/core_ext/string/interpolate.rb +9 -0
  970. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/exceptions.rb +104 -0
  971. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/gettext.rb +26 -0
  972. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/gettext/helpers.rb +73 -0
  973. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/gettext/po_parser.rb +329 -0
  974. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/interpolate/ruby.rb +37 -0
  975. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale.rb +6 -0
  976. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale/fallbacks.rb +96 -0
  977. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale/tag.rb +28 -0
  978. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale/tag/parents.rb +22 -0
  979. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale/tag/rfc4646.rb +74 -0
  980. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/locale/tag/simple.rb +39 -0
  981. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/middleware.rb +15 -0
  982. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests.rb +12 -0
  983. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/basics.rb +60 -0
  984. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/defaults.rb +52 -0
  985. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/interpolation.rb +158 -0
  986. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/link.rb +56 -0
  987. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/localization.rb +19 -0
  988. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/localization/date.rb +95 -0
  989. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/localization/date_time.rb +82 -0
  990. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/localization/procs.rb +116 -0
  991. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/localization/time.rb +81 -0
  992. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/lookup.rb +81 -0
  993. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/pluralization.rb +35 -0
  994. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/tests/procs.rb +55 -0
  995. data/vendor/bundle/gems/i18n-0.9.5/lib/i18n/version.rb +3 -0
  996. data/vendor/bundle/gems/i18n-0.9.5/test/api/all_features_test.rb +58 -0
  997. data/vendor/bundle/gems/i18n-0.9.5/test/api/cascade_test.rb +28 -0
  998. data/vendor/bundle/gems/i18n-0.9.5/test/api/chain_test.rb +24 -0
  999. data/vendor/bundle/gems/i18n-0.9.5/test/api/fallbacks_test.rb +30 -0
  1000. data/vendor/bundle/gems/i18n-0.9.5/test/api/key_value_test.rb +24 -0
  1001. data/vendor/bundle/gems/i18n-0.9.5/test/api/memoize_test.rb +56 -0
  1002. data/vendor/bundle/gems/i18n-0.9.5/test/api/override_test.rb +42 -0
  1003. data/vendor/bundle/gems/i18n-0.9.5/test/api/pluralization_test.rb +30 -0
  1004. data/vendor/bundle/gems/i18n-0.9.5/test/api/simple_test.rb +28 -0
  1005. data/vendor/bundle/gems/i18n-0.9.5/test/backend/cache_test.rb +109 -0
  1006. data/vendor/bundle/gems/i18n-0.9.5/test/backend/cascade_test.rb +86 -0
  1007. data/vendor/bundle/gems/i18n-0.9.5/test/backend/chain_test.rb +122 -0
  1008. data/vendor/bundle/gems/i18n-0.9.5/test/backend/exceptions_test.rb +36 -0
  1009. data/vendor/bundle/gems/i18n-0.9.5/test/backend/fallbacks_test.rb +219 -0
  1010. data/vendor/bundle/gems/i18n-0.9.5/test/backend/interpolation_compiler_test.rb +118 -0
  1011. data/vendor/bundle/gems/i18n-0.9.5/test/backend/key_value_test.rb +61 -0
  1012. data/vendor/bundle/gems/i18n-0.9.5/test/backend/memoize_test.rb +79 -0
  1013. data/vendor/bundle/gems/i18n-0.9.5/test/backend/metadata_test.rb +48 -0
  1014. data/vendor/bundle/gems/i18n-0.9.5/test/backend/pluralization_test.rb +45 -0
  1015. data/vendor/bundle/gems/i18n-0.9.5/test/backend/simple_test.rb +103 -0
  1016. data/vendor/bundle/gems/i18n-0.9.5/test/backend/transliterator_test.rb +84 -0
  1017. data/vendor/bundle/gems/i18n-0.9.5/test/core_ext/hash_test.rb +36 -0
  1018. data/vendor/bundle/gems/i18n-0.9.5/test/gettext/api_test.rb +214 -0
  1019. data/vendor/bundle/gems/i18n-0.9.5/test/gettext/backend_test.rb +92 -0
  1020. data/vendor/bundle/gems/i18n-0.9.5/test/i18n/exceptions_test.rb +117 -0
  1021. data/vendor/bundle/gems/i18n-0.9.5/test/i18n/gettext_plural_keys_test.rb +20 -0
  1022. data/vendor/bundle/gems/i18n-0.9.5/test/i18n/interpolate_test.rb +91 -0
  1023. data/vendor/bundle/gems/i18n-0.9.5/test/i18n/load_path_test.rb +34 -0
  1024. data/vendor/bundle/gems/i18n-0.9.5/test/i18n/middleware_test.rb +24 -0
  1025. data/vendor/bundle/gems/i18n-0.9.5/test/i18n_test.rb +462 -0
  1026. data/vendor/bundle/gems/i18n-0.9.5/test/locale/fallbacks_test.rb +133 -0
  1027. data/vendor/bundle/gems/i18n-0.9.5/test/locale/tag/rfc4646_test.rb +143 -0
  1028. data/vendor/bundle/gems/i18n-0.9.5/test/locale/tag/simple_test.rb +32 -0
  1029. data/vendor/bundle/gems/i18n-0.9.5/test/run_all.rb +20 -0
  1030. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/de.po +82 -0
  1031. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/en.rb +3 -0
  1032. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/en.yml +3 -0
  1033. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/invalid/empty.yml +0 -0
  1034. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/invalid/syntax.yml +4 -0
  1035. data/vendor/bundle/gems/i18n-0.9.5/test/test_data/locales/plurals.rb +113 -0
  1036. data/vendor/bundle/gems/i18n-0.9.5/test/test_helper.rb +61 -0
  1037. data/vendor/bundle/gems/json-2.2.0/.travis.yml +23 -0
  1038. data/vendor/bundle/gems/json-2.2.0/CHANGES.md +391 -0
  1039. data/vendor/bundle/gems/json-2.2.0/Gemfile +14 -0
  1040. data/vendor/bundle/gems/json-2.2.0/README-json-jruby.md +33 -0
  1041. data/vendor/bundle/gems/json-2.2.0/README.md +409 -0
  1042. data/vendor/bundle/gems/json-2.2.0/Rakefile +408 -0
  1043. data/vendor/bundle/gems/json-2.2.0/VERSION +1 -0
  1044. data/vendor/bundle/gems/json-2.2.0/diagrams/.keep +0 -0
  1045. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/fbuffer/fbuffer.h +187 -0
  1046. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/generator/.sitearchdir.-.json.-.ext.time +0 -0
  1047. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/generator/depend +1 -0
  1048. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/generator/extconf.rb +4 -0
  1049. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/generator/generator.c +1444 -0
  1050. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/generator/generator.h +171 -0
  1051. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/.sitearchdir.-.json.-.ext.time +0 -0
  1052. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/depend +1 -0
  1053. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/extconf.rb +6 -0
  1054. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/parser.c +2131 -0
  1055. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/parser.h +91 -0
  1056. data/vendor/bundle/gems/json-2.2.0/ext/json/ext/parser/parser.rl +891 -0
  1057. data/vendor/bundle/gems/json-2.2.0/ext/json/extconf.rb +2 -0
  1058. data/vendor/bundle/gems/json-2.2.0/install.rb +23 -0
  1059. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/ByteListTranscoder.java +166 -0
  1060. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/Generator.java +443 -0
  1061. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/GeneratorMethods.java +231 -0
  1062. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/GeneratorService.java +42 -0
  1063. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/GeneratorState.java +490 -0
  1064. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/OptionsReader.java +113 -0
  1065. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/Parser.java +2362 -0
  1066. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/Parser.rl +893 -0
  1067. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/ParserService.java +34 -0
  1068. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/RuntimeInfo.java +116 -0
  1069. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/StringDecoder.java +166 -0
  1070. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/StringEncoder.java +111 -0
  1071. data/vendor/bundle/gems/json-2.2.0/java/src/json/ext/Utils.java +88 -0
  1072. data/vendor/bundle/gems/json-2.2.0/json-java.gemspec +38 -0
  1073. data/vendor/bundle/gems/json-2.2.0/json.gemspec +0 -0
  1074. data/vendor/bundle/gems/json-2.2.0/json_pure.gemspec +38 -0
  1075. data/vendor/bundle/gems/json-2.2.0/lib/json.rb +63 -0
  1076. data/vendor/bundle/gems/json-2.2.0/lib/json/add/bigdecimal.rb +29 -0
  1077. data/vendor/bundle/gems/json-2.2.0/lib/json/add/complex.rb +29 -0
  1078. data/vendor/bundle/gems/json-2.2.0/lib/json/add/core.rb +12 -0
  1079. data/vendor/bundle/gems/json-2.2.0/lib/json/add/date.rb +34 -0
  1080. data/vendor/bundle/gems/json-2.2.0/lib/json/add/date_time.rb +50 -0
  1081. data/vendor/bundle/gems/json-2.2.0/lib/json/add/exception.rb +31 -0
  1082. data/vendor/bundle/gems/json-2.2.0/lib/json/add/ostruct.rb +31 -0
  1083. data/vendor/bundle/gems/json-2.2.0/lib/json/add/range.rb +29 -0
  1084. data/vendor/bundle/gems/json-2.2.0/lib/json/add/rational.rb +28 -0
  1085. data/vendor/bundle/gems/json-2.2.0/lib/json/add/regexp.rb +30 -0
  1086. data/vendor/bundle/gems/json-2.2.0/lib/json/add/set.rb +29 -0
  1087. data/vendor/bundle/gems/json-2.2.0/lib/json/add/struct.rb +30 -0
  1088. data/vendor/bundle/gems/json-2.2.0/lib/json/add/symbol.rb +25 -0
  1089. data/vendor/bundle/gems/json-2.2.0/lib/json/add/time.rb +38 -0
  1090. data/vendor/bundle/gems/json-2.2.0/lib/json/common.rb +456 -0
  1091. data/vendor/bundle/gems/json-2.2.0/lib/json/ext.rb +15 -0
  1092. data/vendor/bundle/gems/json-2.2.0/lib/json/ext/.keep +0 -0
  1093. data/vendor/bundle/gems/json-2.2.0/lib/json/generic_object.rb +71 -0
  1094. data/vendor/bundle/gems/json-2.2.0/lib/json/pure.rb +15 -0
  1095. data/vendor/bundle/gems/json-2.2.0/lib/json/pure/generator.rb +458 -0
  1096. data/vendor/bundle/gems/json-2.2.0/lib/json/pure/parser.rb +311 -0
  1097. data/vendor/bundle/gems/json-2.2.0/lib/json/version.rb +9 -0
  1098. data/vendor/bundle/gems/json-2.2.0/references/rfc7159.txt +899 -0
  1099. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail10.json +1 -0
  1100. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail11.json +1 -0
  1101. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail12.json +1 -0
  1102. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail13.json +1 -0
  1103. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail14.json +1 -0
  1104. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail18.json +1 -0
  1105. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail19.json +1 -0
  1106. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail2.json +1 -0
  1107. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail20.json +1 -0
  1108. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail21.json +1 -0
  1109. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail22.json +1 -0
  1110. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail23.json +1 -0
  1111. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail24.json +1 -0
  1112. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail25.json +1 -0
  1113. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail27.json +2 -0
  1114. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail28.json +2 -0
  1115. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail3.json +1 -0
  1116. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail4.json +1 -0
  1117. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail5.json +1 -0
  1118. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail6.json +1 -0
  1119. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail7.json +1 -0
  1120. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail8.json +1 -0
  1121. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/fail9.json +1 -0
  1122. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/obsolete_fail1.json +1 -0
  1123. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass1.json +56 -0
  1124. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass15.json +1 -0
  1125. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass16.json +1 -0
  1126. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass17.json +1 -0
  1127. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass2.json +1 -0
  1128. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass26.json +1 -0
  1129. data/vendor/bundle/gems/json-2.2.0/tests/fixtures/pass3.json +6 -0
  1130. data/vendor/bundle/gems/json-2.2.0/tests/json_addition_test.rb +203 -0
  1131. data/vendor/bundle/gems/json-2.2.0/tests/json_common_interface_test.rb +126 -0
  1132. data/vendor/bundle/gems/json-2.2.0/tests/json_encoding_test.rb +107 -0
  1133. data/vendor/bundle/gems/json-2.2.0/tests/json_ext_parser_test.rb +15 -0
  1134. data/vendor/bundle/gems/json-2.2.0/tests/json_fixtures_test.rb +32 -0
  1135. data/vendor/bundle/gems/json-2.2.0/tests/json_generator_test.rb +377 -0
  1136. data/vendor/bundle/gems/json-2.2.0/tests/json_generic_object_test.rb +82 -0
  1137. data/vendor/bundle/gems/json-2.2.0/tests/json_parser_test.rb +472 -0
  1138. data/vendor/bundle/gems/json-2.2.0/tests/json_string_matching_test.rb +38 -0
  1139. data/vendor/bundle/gems/json-2.2.0/tests/test_helper.rb +17 -0
  1140. data/vendor/bundle/gems/json-2.2.0/tools/diff.sh +18 -0
  1141. data/vendor/bundle/gems/json-2.2.0/tools/fuzz.rb +131 -0
  1142. data/vendor/bundle/gems/json-2.2.0/tools/server.rb +62 -0
  1143. data/vendor/bundle/gems/launchy-2.4.3/CONTRIBUTING.md +59 -0
  1144. data/vendor/bundle/gems/launchy-2.4.3/HISTORY.md +160 -0
  1145. data/vendor/bundle/gems/launchy-2.4.3/LICENSE +16 -0
  1146. data/vendor/bundle/gems/launchy-2.4.3/Manifest.txt +38 -0
  1147. data/vendor/bundle/gems/launchy-2.4.3/README.md +136 -0
  1148. data/vendor/bundle/gems/launchy-2.4.3/Rakefile +25 -0
  1149. data/vendor/bundle/gems/launchy-2.4.3/bin/launchy +4 -0
  1150. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy.rb +152 -0
  1151. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/application.rb +62 -0
  1152. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/applications/browser.rb +82 -0
  1153. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/argv.rb +36 -0
  1154. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/cli.rb +89 -0
  1155. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/deprecated.rb +52 -0
  1156. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/descendant_tracker.rb +49 -0
  1157. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect.rb +10 -0
  1158. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/host_os.rb +32 -0
  1159. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/host_os_family.rb +71 -0
  1160. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/nix_desktop_environment.rb +92 -0
  1161. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/ruby_engine.rb +78 -0
  1162. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/runner.rb +152 -0
  1163. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/error.rb +6 -0
  1164. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/os_family.rb +8 -0
  1165. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/version.rb +18 -0
  1166. data/vendor/bundle/gems/launchy-2.4.3/spec/application_spec.rb +43 -0
  1167. data/vendor/bundle/gems/launchy-2.4.3/spec/applications/browser_spec.rb +68 -0
  1168. data/vendor/bundle/gems/launchy-2.4.3/spec/cli_spec.rb +75 -0
  1169. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/host_os_family_spec.rb +40 -0
  1170. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/host_os_spec.rb +19 -0
  1171. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/nix_desktop_environment_spec.rb +36 -0
  1172. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/ruby_engine_spec.rb +37 -0
  1173. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/runner_spec.rb +103 -0
  1174. data/vendor/bundle/gems/launchy-2.4.3/spec/launchy_spec.rb +110 -0
  1175. data/vendor/bundle/gems/launchy-2.4.3/spec/mock_application.rb +9 -0
  1176. data/vendor/bundle/gems/launchy-2.4.3/spec/spec_helper.rb +11 -0
  1177. data/vendor/bundle/gems/launchy-2.4.3/spec/tattle-host-os.yaml +427 -0
  1178. data/vendor/bundle/gems/launchy-2.4.3/spec/version_spec.rb +11 -0
  1179. data/vendor/bundle/gems/launchy-2.4.3/tasks/default.rake +272 -0
  1180. data/vendor/bundle/gems/launchy-2.4.3/tasks/this.rb +209 -0
  1181. data/vendor/bundle/gems/metaclass-0.0.4/COPYING.txt +21 -0
  1182. data/vendor/bundle/gems/metaclass-0.0.4/Gemfile +3 -0
  1183. data/vendor/bundle/gems/metaclass-0.0.4/README.md +10 -0
  1184. data/vendor/bundle/gems/metaclass-0.0.4/Rakefile +11 -0
  1185. data/vendor/bundle/gems/metaclass-0.0.4/lib/metaclass.rb +5 -0
  1186. data/vendor/bundle/gems/metaclass-0.0.4/lib/metaclass/object_methods.rb +11 -0
  1187. data/vendor/bundle/gems/metaclass-0.0.4/lib/metaclass/version.rb +3 -0
  1188. data/vendor/bundle/gems/metaclass-0.0.4/metaclass.gemspec +20 -0
  1189. data/vendor/bundle/gems/metaclass-0.0.4/test/object_methods_test.rb +31 -0
  1190. data/vendor/bundle/gems/metaclass-0.0.4/test/test_helper.rb +5 -0
  1191. data/vendor/bundle/gems/minitest-5.11.3/.autotest +34 -0
  1192. data/vendor/bundle/gems/minitest-5.11.3/History.rdoc +1310 -0
  1193. data/vendor/bundle/gems/minitest-5.11.3/Manifest.txt +26 -0
  1194. data/vendor/bundle/gems/minitest-5.11.3/README.rdoc +746 -0
  1195. data/vendor/bundle/gems/minitest-5.11.3/Rakefile +86 -0
  1196. data/vendor/bundle/gems/minitest-5.11.3/design_rationale.rb +52 -0
  1197. data/vendor/bundle/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  1198. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  1199. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  1200. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  1201. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  1202. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  1203. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  1204. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  1205. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  1206. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  1207. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  1208. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  1209. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  1210. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  1211. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  1212. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  1213. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  1214. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  1215. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  1216. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  1217. data/vendor/bundle/gems/mocha-1.8.0/.gemtest +0 -0
  1218. data/vendor/bundle/gems/mocha-1.8.0/.rubocop.yml +58 -0
  1219. data/vendor/bundle/gems/mocha-1.8.0/.rubocop_todo.yml +50 -0
  1220. data/vendor/bundle/gems/mocha-1.8.0/.yardopts +23 -0
  1221. data/vendor/bundle/gems/mocha-1.8.0/CONTRIBUTING.md +7 -0
  1222. data/vendor/bundle/gems/mocha-1.8.0/COPYING.md +3 -0
  1223. data/vendor/bundle/gems/mocha-1.8.0/Gemfile +3 -0
  1224. data/vendor/bundle/gems/mocha-1.8.0/MIT-LICENSE.md +7 -0
  1225. data/vendor/bundle/gems/mocha-1.8.0/README.md +338 -0
  1226. data/vendor/bundle/gems/mocha-1.8.0/RELEASE.md +617 -0
  1227. data/vendor/bundle/gems/mocha-1.8.0/Rakefile +149 -0
  1228. data/vendor/bundle/gems/mocha-1.8.0/bin/build-matrix +83 -0
  1229. data/vendor/bundle/gems/mocha-1.8.0/docs/CNAME +1 -0
  1230. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha.html +127 -0
  1231. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/API.html +1056 -0
  1232. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ClassMethods.html +267 -0
  1233. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Configuration.html +626 -0
  1234. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Expectation.html +2709 -0
  1235. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ExpectationError.html +157 -0
  1236. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ExpectationErrorFactory.html +269 -0
  1237. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Hooks.html +385 -0
  1238. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Integration.html +125 -0
  1239. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Integration/MiniTest.html +123 -0
  1240. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Integration/MiniTest/Adapter.html +165 -0
  1241. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Integration/TestUnit.html +123 -0
  1242. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Integration/TestUnit/Adapter.html +165 -0
  1243. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Mock.html +1197 -0
  1244. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ObjectMethods.html +712 -0
  1245. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers.html +3049 -0
  1246. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/AllOf.html +154 -0
  1247. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/AnyOf.html +154 -0
  1248. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/AnyParameters.html +153 -0
  1249. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Anything.html +153 -0
  1250. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Base.html +448 -0
  1251. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Equals.html +154 -0
  1252. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/EquivalentUri.html +153 -0
  1253. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/HasEntries.html +154 -0
  1254. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/HasEntry.html +154 -0
  1255. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/HasKey.html +154 -0
  1256. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/HasValue.html +154 -0
  1257. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Includes.html +154 -0
  1258. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/InstanceOf.html +154 -0
  1259. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/IsA.html +153 -0
  1260. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/KindOf.html +154 -0
  1261. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Not.html +154 -0
  1262. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/Optionally.html +153 -0
  1263. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/RegexpMatches.html +154 -0
  1264. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/RespondsWith.html +154 -0
  1265. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/ParameterMatchers/YamlEquivalent.html +154 -0
  1266. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/Sequence.html +149 -0
  1267. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/StateMachine.html +539 -0
  1268. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/StateMachine/State.html +141 -0
  1269. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/StateMachine/StatePredicate.html +141 -0
  1270. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/StubbingError.html +150 -0
  1271. data/vendor/bundle/gems/mocha-1.8.0/docs/Mocha/UnexpectedInvocation.html +140 -0
  1272. data/vendor/bundle/gems/mocha-1.8.0/docs/_index.html +537 -0
  1273. data/vendor/bundle/gems/mocha-1.8.0/docs/class_list.html +51 -0
  1274. data/vendor/bundle/gems/mocha-1.8.0/docs/css/common.css +1 -0
  1275. data/vendor/bundle/gems/mocha-1.8.0/docs/css/full_list.css +58 -0
  1276. data/vendor/bundle/gems/mocha-1.8.0/docs/css/style.css +496 -0
  1277. data/vendor/bundle/gems/mocha-1.8.0/docs/file.COPYING.html +81 -0
  1278. data/vendor/bundle/gems/mocha-1.8.0/docs/file.MIT-LICENSE.html +85 -0
  1279. data/vendor/bundle/gems/mocha-1.8.0/docs/file.README.html +418 -0
  1280. data/vendor/bundle/gems/mocha-1.8.0/docs/file.RELEASE.html +875 -0
  1281. data/vendor/bundle/gems/mocha-1.8.0/docs/file_list.html +71 -0
  1282. data/vendor/bundle/gems/mocha-1.8.0/docs/frames.html +17 -0
  1283. data/vendor/bundle/gems/mocha-1.8.0/docs/index.html +418 -0
  1284. data/vendor/bundle/gems/mocha-1.8.0/docs/js/app.js +292 -0
  1285. data/vendor/bundle/gems/mocha-1.8.0/docs/js/full_list.js +216 -0
  1286. data/vendor/bundle/gems/mocha-1.8.0/docs/js/jquery.js +4 -0
  1287. data/vendor/bundle/gems/mocha-1.8.0/docs/method_list.html +571 -0
  1288. data/vendor/bundle/gems/mocha-1.8.0/docs/top-level-namespace.html +118 -0
  1289. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.1.3.0 +7 -0
  1290. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.1.4.0 +7 -0
  1291. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.1.4.1 +7 -0
  1292. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.1.4.2 +7 -0
  1293. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.2.0.0 +7 -0
  1294. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.2.0.1 +7 -0
  1295. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.2.11.0 +7 -0
  1296. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.2.11.2 +7 -0
  1297. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.2.3.0 +7 -0
  1298. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.minitest.latest +7 -0
  1299. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.test-unit.2.0.0 +7 -0
  1300. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.test-unit.2.0.1 +7 -0
  1301. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.test-unit.2.0.3 +7 -0
  1302. data/vendor/bundle/gems/mocha-1.8.0/gemfiles/Gemfile.test-unit.latest +11 -0
  1303. data/vendor/bundle/gems/mocha-1.8.0/init.rb +3 -0
  1304. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha.rb +1 -0
  1305. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/any_instance_method.rb +66 -0
  1306. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/api.rb +178 -0
  1307. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/argument_iterator.rb +17 -0
  1308. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/backtrace_filter.rb +13 -0
  1309. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/cardinality.rb +88 -0
  1310. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/central.rb +42 -0
  1311. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/change_state_side_effect.rb +15 -0
  1312. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/class_method.rb +113 -0
  1313. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/class_methods.rb +60 -0
  1314. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/configuration.rb +148 -0
  1315. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/debug.rb +12 -0
  1316. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/deprecation.rb +20 -0
  1317. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/detection/mini_test.rb +23 -0
  1318. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/detection/test_unit.rb +29 -0
  1319. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/error_with_filtered_backtrace.rb +13 -0
  1320. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/exception_raiser.rb +14 -0
  1321. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/expectation.rb +609 -0
  1322. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/expectation_error.rb +10 -0
  1323. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/expectation_error_factory.rb +35 -0
  1324. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/expectation_list.rb +58 -0
  1325. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/hooks.rb +42 -0
  1326. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/in_state_ordering_constraint.rb +15 -0
  1327. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/inspect.rb +55 -0
  1328. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/instance_method.rb +6 -0
  1329. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration.rb +13 -0
  1330. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/assertion_counter.rb +13 -0
  1331. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test.rb +49 -0
  1332. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/adapter.rb +52 -0
  1333. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/exception_translation.rb +14 -0
  1334. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/nothing.rb +19 -0
  1335. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_13.rb +54 -0
  1336. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_140.rb +54 -0
  1337. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_141.rb +65 -0
  1338. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_142_to_172.rb +65 -0
  1339. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_200.rb +66 -0
  1340. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_201_to_222.rb +66 -0
  1341. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_2110_to_2111.rb +70 -0
  1342. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_2112_to_320.rb +73 -0
  1343. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/mini_test/version_230_to_2101.rb +68 -0
  1344. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/monkey_patcher.rb +24 -0
  1345. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit.rb +44 -0
  1346. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/adapter.rb +50 -0
  1347. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/gem_version_200.rb +62 -0
  1348. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +62 -0
  1349. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +62 -0
  1350. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +68 -0
  1351. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/nothing.rb +19 -0
  1352. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +61 -0
  1353. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +63 -0
  1354. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/is_a.rb +7 -0
  1355. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/logger.rb +11 -0
  1356. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/method_matcher.rb +17 -0
  1357. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/mini_test.rb +5 -0
  1358. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/minitest.rb +3 -0
  1359. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/mock.rb +359 -0
  1360. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/mockery.rb +225 -0
  1361. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/module_method.rb +6 -0
  1362. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/module_methods.rb +10 -0
  1363. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/multiple_yields.rb +15 -0
  1364. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/names.rb +43 -0
  1365. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/no_yields.rb +5 -0
  1366. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/not_initialized_error.rb +7 -0
  1367. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/object_methods.rb +175 -0
  1368. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers.rb +26 -0
  1369. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/all_of.rb +46 -0
  1370. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/any_of.rb +52 -0
  1371. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/any_parameters.rb +41 -0
  1372. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/anything.rb +36 -0
  1373. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/base.rb +65 -0
  1374. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/equals.rb +47 -0
  1375. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/equivalent_uri.rb +67 -0
  1376. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/has_entries.rb +51 -0
  1377. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/has_entry.rb +90 -0
  1378. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/has_key.rb +49 -0
  1379. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/has_value.rb +49 -0
  1380. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/includes.rb +100 -0
  1381. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/instance_of.rb +47 -0
  1382. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/is_a.rb +49 -0
  1383. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/kind_of.rb +49 -0
  1384. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/not.rb +48 -0
  1385. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/object.rb +15 -0
  1386. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/optionally.rb +61 -0
  1387. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/regexp_matches.rb +48 -0
  1388. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/responds_with.rb +49 -0
  1389. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameter_matchers/yaml_equivalent.rb +49 -0
  1390. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/parameters_matcher.rb +34 -0
  1391. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/pretty_parameters.rb +24 -0
  1392. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/receivers.rb +45 -0
  1393. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/return_values.rb +27 -0
  1394. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/ruby_version.rb +4 -0
  1395. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/sequence.rb +46 -0
  1396. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/setup.rb +9 -0
  1397. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/single_return_value.rb +13 -0
  1398. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/single_yield.rb +13 -0
  1399. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/standalone.rb +4 -0
  1400. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/state_machine.rb +102 -0
  1401. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/stubbing_error.rb +8 -0
  1402. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/test_unit.rb +3 -0
  1403. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/thrower.rb +12 -0
  1404. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/unexpected_invocation.rb +24 -0
  1405. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/version.rb +3 -0
  1406. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha/yield_parameters.rb +27 -0
  1407. data/vendor/bundle/gems/mocha-1.8.0/lib/mocha_standalone.rb +4 -0
  1408. data/vendor/bundle/gems/mocha-1.8.0/mocha.gemspec +51 -0
  1409. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/acceptance_test_helper.rb +35 -0
  1410. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/bug_18914_test.rb +38 -0
  1411. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/bug_21465_test.rb +32 -0
  1412. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/bug_21563_test.rb +23 -0
  1413. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/exception_rescue_test.rb +54 -0
  1414. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/expectations_on_multiple_methods_test.rb +56 -0
  1415. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/expected_invocation_count_test.rb +230 -0
  1416. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/failure_messages_test.rb +62 -0
  1417. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/issue_272_test.rb +51 -0
  1418. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/issue_65_test.rb +65 -0
  1419. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/issue_70_test.rb +54 -0
  1420. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/mocha_example_test.rb +97 -0
  1421. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/mocha_test_result_test.rb +84 -0
  1422. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/mock_test.rb +98 -0
  1423. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/mock_with_initializer_block_test.rb +56 -0
  1424. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/mocked_methods_dispatch_test.rb +76 -0
  1425. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/multiple_expectations_failure_message_test.rb +67 -0
  1426. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/optional_parameters_test.rb +68 -0
  1427. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/parameter_matcher_test.rb +300 -0
  1428. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/partial_mocks_test.rb +45 -0
  1429. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/prepend_test.rb +87 -0
  1430. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +77 -0
  1431. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/raise_exception_test.rb +37 -0
  1432. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/return_value_test.rb +50 -0
  1433. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/sequence_test.rb +190 -0
  1434. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/states_test.rb +72 -0
  1435. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +65 -0
  1436. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_any_instance_method_test.rb +282 -0
  1437. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +106 -0
  1438. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_class_method_defined_on_class_test.rb +79 -0
  1439. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_class_method_defined_on_module_test.rb +74 -0
  1440. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_class_method_defined_on_superclass_test.rb +145 -0
  1441. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_everything_test.rb +54 -0
  1442. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +92 -0
  1443. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +68 -0
  1444. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_class_test.rb +68 -0
  1445. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +137 -0
  1446. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_module_test.rb +77 -0
  1447. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +76 -0
  1448. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +68 -0
  1449. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +71 -0
  1450. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +39 -0
  1451. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_module_method_test.rb +201 -0
  1452. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stub_test.rb +50 -0
  1453. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubba_example_test.rb +94 -0
  1454. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubba_test_result_test.rb +72 -0
  1455. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_error_backtrace_test.rb +64 -0
  1456. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_frozen_object_test.rb +89 -0
  1457. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +53 -0
  1458. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_method_unnecessarily_test.rb +63 -0
  1459. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_nil_test.rb +60 -0
  1460. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +141 -0
  1461. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_existent_class_method_test.rb +157 -0
  1462. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_existent_instance_method_test.rb +145 -0
  1463. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_public_any_instance_method_test.rb +128 -0
  1464. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_public_class_method_test.rb +163 -0
  1465. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_non_public_instance_method_test.rb +141 -0
  1466. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_on_non_mock_object_test.rb +70 -0
  1467. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +34 -0
  1468. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/throw_test.rb +43 -0
  1469. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/unexpected_invocation_test.rb +24 -0
  1470. data/vendor/bundle/gems/mocha-1.8.0/test/acceptance/unstubbing_test.rb +195 -0
  1471. data/vendor/bundle/gems/mocha-1.8.0/test/assertions.rb +8 -0
  1472. data/vendor/bundle/gems/mocha-1.8.0/test/deprecation_disabler.rb +15 -0
  1473. data/vendor/bundle/gems/mocha-1.8.0/test/execution_point.rb +36 -0
  1474. data/vendor/bundle/gems/mocha-1.8.0/test/integration/mini_test_test.rb +8 -0
  1475. data/vendor/bundle/gems/mocha-1.8.0/test/integration/shared_tests.rb +176 -0
  1476. data/vendor/bundle/gems/mocha-1.8.0/test/integration/test_unit_test.rb +8 -0
  1477. data/vendor/bundle/gems/mocha-1.8.0/test/method_definer.rb +22 -0
  1478. data/vendor/bundle/gems/mocha-1.8.0/test/mini_test_result.rb +96 -0
  1479. data/vendor/bundle/gems/mocha-1.8.0/test/minitest_result.rb +48 -0
  1480. data/vendor/bundle/gems/mocha-1.8.0/test/simple_counter.rb +11 -0
  1481. data/vendor/bundle/gems/mocha-1.8.0/test/test_helper.rb +58 -0
  1482. data/vendor/bundle/gems/mocha-1.8.0/test/test_runner.rb +56 -0
  1483. data/vendor/bundle/gems/mocha-1.8.0/test/test_unit_result.rb +22 -0
  1484. data/vendor/bundle/gems/mocha-1.8.0/test/unit/any_instance_method_test.rb +150 -0
  1485. data/vendor/bundle/gems/mocha-1.8.0/test/unit/array_inspect_test.rb +14 -0
  1486. data/vendor/bundle/gems/mocha-1.8.0/test/unit/backtrace_filter_test.rb +17 -0
  1487. data/vendor/bundle/gems/mocha-1.8.0/test/unit/cardinality_test.rb +54 -0
  1488. data/vendor/bundle/gems/mocha-1.8.0/test/unit/central_test.rb +99 -0
  1489. data/vendor/bundle/gems/mocha-1.8.0/test/unit/change_state_side_effect_test.rb +37 -0
  1490. data/vendor/bundle/gems/mocha-1.8.0/test/unit/class_method_test.rb +254 -0
  1491. data/vendor/bundle/gems/mocha-1.8.0/test/unit/class_methods_test.rb +69 -0
  1492. data/vendor/bundle/gems/mocha-1.8.0/test/unit/configuration_test.rb +37 -0
  1493. data/vendor/bundle/gems/mocha-1.8.0/test/unit/date_time_inspect_test.rb +19 -0
  1494. data/vendor/bundle/gems/mocha-1.8.0/test/unit/exception_raiser_test.rb +40 -0
  1495. data/vendor/bundle/gems/mocha-1.8.0/test/unit/expectation_list_test.rb +80 -0
  1496. data/vendor/bundle/gems/mocha-1.8.0/test/unit/expectation_test.rb +492 -0
  1497. data/vendor/bundle/gems/mocha-1.8.0/test/unit/hash_inspect_test.rb +14 -0
  1498. data/vendor/bundle/gems/mocha-1.8.0/test/unit/hooks_test.rb +35 -0
  1499. data/vendor/bundle/gems/mocha-1.8.0/test/unit/in_state_ordering_constraint_test.rb +39 -0
  1500. data/vendor/bundle/gems/mocha-1.8.0/test/unit/method_matcher_test.rb +26 -0
  1501. data/vendor/bundle/gems/mocha-1.8.0/test/unit/mock_test.rb +363 -0
  1502. data/vendor/bundle/gems/mocha-1.8.0/test/unit/mockery_test.rb +174 -0
  1503. data/vendor/bundle/gems/mocha-1.8.0/test/unit/module_methods_test.rb +17 -0
  1504. data/vendor/bundle/gems/mocha-1.8.0/test/unit/multiple_yields_test.rb +16 -0
  1505. data/vendor/bundle/gems/mocha-1.8.0/test/unit/no_yields_test.rb +16 -0
  1506. data/vendor/bundle/gems/mocha-1.8.0/test/unit/object_inspect_test.rb +58 -0
  1507. data/vendor/bundle/gems/mocha-1.8.0/test/unit/object_methods_test.rb +62 -0
  1508. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/all_of_test.rb +24 -0
  1509. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/any_of_test.rb +24 -0
  1510. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/anything_test.rb +19 -0
  1511. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/equals_test.rb +23 -0
  1512. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/equivalent_uri_test.rb +50 -0
  1513. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/has_entries_test.rb +51 -0
  1514. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/has_entry_test.rb +128 -0
  1515. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/has_key_test.rb +54 -0
  1516. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/has_value_test.rb +55 -0
  1517. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/includes_test.rb +106 -0
  1518. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/instance_of_test.rb +23 -0
  1519. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/is_a_test.rb +23 -0
  1520. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/kind_of_test.rb +23 -0
  1521. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/not_test.rb +24 -0
  1522. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/regexp_matches_test.rb +45 -0
  1523. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/responds_with_test.rb +38 -0
  1524. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/stub_matcher.rb +23 -0
  1525. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameter_matchers/yaml_equivalent_test.rb +23 -0
  1526. data/vendor/bundle/gems/mocha-1.8.0/test/unit/parameters_matcher_test.rb +119 -0
  1527. data/vendor/bundle/gems/mocha-1.8.0/test/unit/receivers_test.rb +96 -0
  1528. data/vendor/bundle/gems/mocha-1.8.0/test/unit/return_values_test.rb +61 -0
  1529. data/vendor/bundle/gems/mocha-1.8.0/test/unit/sequence_test.rb +100 -0
  1530. data/vendor/bundle/gems/mocha-1.8.0/test/unit/single_return_value_test.rb +12 -0
  1531. data/vendor/bundle/gems/mocha-1.8.0/test/unit/single_yield_test.rb +16 -0
  1532. data/vendor/bundle/gems/mocha-1.8.0/test/unit/state_machine_test.rb +96 -0
  1533. data/vendor/bundle/gems/mocha-1.8.0/test/unit/string_inspect_test.rb +9 -0
  1534. data/vendor/bundle/gems/mocha-1.8.0/test/unit/thrower_test.rb +18 -0
  1535. data/vendor/bundle/gems/mocha-1.8.0/test/unit/yield_parameters_test.rb +91 -0
  1536. data/vendor/bundle/gems/mocha-1.8.0/yard-templates/default/layout/html/google_analytics.erb +8 -0
  1537. data/vendor/bundle/gems/mocha-1.8.0/yard-templates/default/layout/html/setup.rb +5 -0
  1538. data/vendor/bundle/gems/mocha-on-bacon-0.2.3/LICENSE +20 -0
  1539. data/vendor/bundle/gems/mocha-on-bacon-0.2.3/README.md +75 -0
  1540. data/vendor/bundle/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb +69 -0
  1541. data/vendor/bundle/gems/molinillo-0.6.6/ARCHITECTURE.md +102 -0
  1542. data/vendor/bundle/gems/molinillo-0.6.6/CHANGELOG.md +438 -0
  1543. data/vendor/bundle/gems/molinillo-0.6.6/LICENSE +9 -0
  1544. data/vendor/bundle/gems/molinillo-0.6.6/README.md +45 -0
  1545. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo.rb +12 -0
  1546. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/compatibility.rb +26 -0
  1547. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/delegates/resolution_state.rb +57 -0
  1548. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb +81 -0
  1549. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb +223 -0
  1550. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/action.rb +36 -0
  1551. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  1552. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  1553. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  1554. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  1555. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/log.rb +126 -0
  1556. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  1557. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/tag.rb +36 -0
  1558. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/dependency_graph/vertex.rb +158 -0
  1559. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/errors.rb +143 -0
  1560. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/gem_metadata.rb +6 -0
  1561. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/modules/specification_provider.rb +101 -0
  1562. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/modules/ui.rb +67 -0
  1563. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/resolution.rb +837 -0
  1564. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/resolver.rb +46 -0
  1565. data/vendor/bundle/gems/molinillo-0.6.6/lib/molinillo/state.rb +58 -0
  1566. data/vendor/bundle/gems/nanaimo-0.2.6/.rspec +2 -0
  1567. data/vendor/bundle/gems/nanaimo-0.2.6/.rubocop.yml +14 -0
  1568. data/vendor/bundle/gems/nanaimo-0.2.6/.rubocop_todo.yml +104 -0
  1569. data/vendor/bundle/gems/nanaimo-0.2.6/.travis.yml +12 -0
  1570. data/vendor/bundle/gems/nanaimo-0.2.6/CHANGELOG.md +157 -0
  1571. data/vendor/bundle/gems/nanaimo-0.2.6/CODE_OF_CONDUCT.md +49 -0
  1572. data/vendor/bundle/gems/nanaimo-0.2.6/Gemfile +10 -0
  1573. data/vendor/bundle/gems/nanaimo-0.2.6/Gemfile.lock +51 -0
  1574. data/vendor/bundle/gems/nanaimo-0.2.6/LICENSE.txt +21 -0
  1575. data/vendor/bundle/gems/nanaimo-0.2.6/README.md +55 -0
  1576. data/vendor/bundle/gems/nanaimo-0.2.6/Rakefile +80 -0
  1577. data/vendor/bundle/gems/nanaimo-0.2.6/bin/console +15 -0
  1578. data/vendor/bundle/gems/nanaimo-0.2.6/bin/setup +8 -0
  1579. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo.rb +22 -0
  1580. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/object.rb +102 -0
  1581. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/plist.rb +35 -0
  1582. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/reader.rb +287 -0
  1583. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/unicode.rb +89 -0
  1584. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/unicode/next_step_mapping.rb +136 -0
  1585. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/unicode/quote_maps.rb +57 -0
  1586. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/version.rb +5 -0
  1587. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/writer.rb +206 -0
  1588. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/writer/pbxproj.rb +83 -0
  1589. data/vendor/bundle/gems/nanaimo-0.2.6/lib/nanaimo/writer/xml.rb +139 -0
  1590. data/vendor/bundle/gems/nanaimo-0.2.6/nanaimo.gemspec +26 -0
  1591. data/vendor/bundle/gems/nap-1.1.0/LICENSE +18 -0
  1592. data/vendor/bundle/gems/nap-1.1.0/README.md +80 -0
  1593. data/vendor/bundle/gems/nap-1.1.0/lib/rest.rb +106 -0
  1594. data/vendor/bundle/gems/nap-1.1.0/lib/rest/error.rb +92 -0
  1595. data/vendor/bundle/gems/nap-1.1.0/lib/rest/request.rb +196 -0
  1596. data/vendor/bundle/gems/nap-1.1.0/lib/rest/response.rb +46 -0
  1597. data/vendor/bundle/gems/nap-1.1.0/support/cacert.pem +3988 -0
  1598. data/vendor/bundle/gems/netrc-0.11.0/LICENSE.md +20 -0
  1599. data/vendor/bundle/gems/netrc-0.11.0/Readme.md +53 -0
  1600. data/vendor/bundle/gems/netrc-0.11.0/changelog.txt +93 -0
  1601. data/vendor/bundle/gems/netrc-0.11.0/data/default_only.netrc +4 -0
  1602. data/vendor/bundle/gems/netrc-0.11.0/data/login.netrc +3 -0
  1603. data/vendor/bundle/gems/netrc-0.11.0/data/newlineless.netrc +4 -0
  1604. data/vendor/bundle/gems/netrc-0.11.0/data/password.netrc +3 -0
  1605. data/vendor/bundle/gems/netrc-0.11.0/data/permissive.netrc +4 -0
  1606. data/vendor/bundle/gems/netrc-0.11.0/data/sample.netrc +4 -0
  1607. data/vendor/bundle/gems/netrc-0.11.0/data/sample_multi.netrc +8 -0
  1608. data/vendor/bundle/gems/netrc-0.11.0/data/sample_multi_with_default.netrc +12 -0
  1609. data/vendor/bundle/gems/netrc-0.11.0/data/sample_with_default.netrc +8 -0
  1610. data/vendor/bundle/gems/netrc-0.11.0/lib/netrc.rb +251 -0
  1611. data/vendor/bundle/gems/netrc-0.11.0/test/test_lex.rb +58 -0
  1612. data/vendor/bundle/gems/netrc-0.11.0/test/test_netrc.rb +273 -0
  1613. data/vendor/bundle/gems/netrc-0.11.0/test/test_parse.rb +34 -0
  1614. data/vendor/bundle/gems/prettybacon-0.0.2/Gemfile +3 -0
  1615. data/vendor/bundle/gems/prettybacon-0.0.2/LICENSE.txt +22 -0
  1616. data/vendor/bundle/gems/prettybacon-0.0.2/PrettyBacon.gemspec +24 -0
  1617. data/vendor/bundle/gems/prettybacon-0.0.2/README.md +19 -0
  1618. data/vendor/bundle/gems/prettybacon-0.0.2/Rakefile +1 -0
  1619. data/vendor/bundle/gems/prettybacon-0.0.2/lib/pretty_bacon.rb +42 -0
  1620. data/vendor/bundle/gems/prettybacon-0.0.2/lib/pretty_bacon/context.rb +41 -0
  1621. data/vendor/bundle/gems/prettybacon-0.0.2/lib/pretty_bacon/spec_dox_output.rb +81 -0
  1622. data/vendor/bundle/gems/prettybacon-0.0.2/lib/pretty_bacon/test_unit_output.rb +79 -0
  1623. data/vendor/bundle/gems/prettybacon-0.0.2/lib/pretty_bacon/version.rb +3 -0
  1624. data/vendor/bundle/gems/public_suffix-3.0.3/.rubocop.yml +36 -0
  1625. data/vendor/bundle/gems/public_suffix-3.0.3/.rubocop_defaults.yml +184 -0
  1626. data/vendor/bundle/gems/public_suffix-3.0.3/.ruby-gemset +1 -0
  1627. data/vendor/bundle/gems/public_suffix-3.0.3/.travis.yml +25 -0
  1628. data/vendor/bundle/gems/public_suffix-3.0.3/.yardopts +1 -0
  1629. data/vendor/bundle/gems/public_suffix-3.0.3/2.0-Upgrade.md +52 -0
  1630. data/vendor/bundle/gems/public_suffix-3.0.3/CHANGELOG.md +340 -0
  1631. data/vendor/bundle/gems/public_suffix-3.0.3/Gemfile +10 -0
  1632. data/vendor/bundle/gems/public_suffix-3.0.3/LICENSE.txt +22 -0
  1633. data/vendor/bundle/gems/public_suffix-3.0.3/README.md +202 -0
  1634. data/vendor/bundle/gems/public_suffix-3.0.3/Rakefile +49 -0
  1635. data/vendor/bundle/gems/public_suffix-3.0.3/bin/console +14 -0
  1636. data/vendor/bundle/gems/public_suffix-3.0.3/data/list.txt +12659 -0
  1637. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix.rb +175 -0
  1638. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix/domain.rb +233 -0
  1639. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix/errors.rb +39 -0
  1640. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix/list.rb +243 -0
  1641. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix/rule.rb +348 -0
  1642. data/vendor/bundle/gems/public_suffix-3.0.3/lib/public_suffix/version.rb +10 -0
  1643. data/vendor/bundle/gems/public_suffix-3.0.3/public_suffix.gemspec +25 -0
  1644. data/vendor/bundle/gems/public_suffix-3.0.3/test/.empty +2 -0
  1645. data/vendor/bundle/gems/public_suffix-3.0.3/test/acceptance_test.rb +127 -0
  1646. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_find.rb +66 -0
  1647. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_find_all.rb +102 -0
  1648. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_names.rb +91 -0
  1649. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_select.rb +26 -0
  1650. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_select_incremental.rb +25 -0
  1651. data/vendor/bundle/gems/public_suffix-3.0.3/test/benchmarks/bm_valid.rb +101 -0
  1652. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/domain_profiler.rb +12 -0
  1653. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/find_profiler.rb +12 -0
  1654. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/find_profiler_jp.rb +12 -0
  1655. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/initialization_profiler.rb +11 -0
  1656. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/list_profsize.rb +11 -0
  1657. data/vendor/bundle/gems/public_suffix-3.0.3/test/profilers/object_binsize.rb +57 -0
  1658. data/vendor/bundle/gems/public_suffix-3.0.3/test/psl_test.rb +49 -0
  1659. data/vendor/bundle/gems/public_suffix-3.0.3/test/test_helper.rb +13 -0
  1660. data/vendor/bundle/gems/public_suffix-3.0.3/test/tests.txt +98 -0
  1661. data/vendor/bundle/gems/public_suffix-3.0.3/test/unit/domain_test.rb +104 -0
  1662. data/vendor/bundle/gems/public_suffix-3.0.3/test/unit/errors_test.rb +23 -0
  1663. data/vendor/bundle/gems/public_suffix-3.0.3/test/unit/list_test.rb +239 -0
  1664. data/vendor/bundle/gems/public_suffix-3.0.3/test/unit/public_suffix_test.rb +186 -0
  1665. data/vendor/bundle/gems/public_suffix-3.0.3/test/unit/rule_test.rb +220 -0
  1666. data/vendor/bundle/gems/rake-12.3.2/CONTRIBUTING.rdoc +43 -0
  1667. data/vendor/bundle/gems/rake-12.3.2/Gemfile +3 -0
  1668. data/vendor/bundle/gems/rake-12.3.2/History.rdoc +2333 -0
  1669. data/vendor/bundle/gems/rake-12.3.2/MIT-LICENSE +21 -0
  1670. data/vendor/bundle/gems/rake-12.3.2/README.rdoc +156 -0
  1671. data/vendor/bundle/gems/rake-12.3.2/Rakefile +41 -0
  1672. data/vendor/bundle/gems/rake-12.3.2/bin/bundle +105 -0
  1673. data/vendor/bundle/gems/rake-12.3.2/bin/console +7 -0
  1674. data/vendor/bundle/gems/rake-12.3.2/bin/rake +29 -0
  1675. data/vendor/bundle/gems/rake-12.3.2/bin/rdoc +29 -0
  1676. data/vendor/bundle/gems/rake-12.3.2/bin/rubocop +29 -0
  1677. data/vendor/bundle/gems/rake-12.3.2/bin/setup +6 -0
  1678. data/vendor/bundle/gems/rake-12.3.2/doc/command_line_usage.rdoc +158 -0
  1679. data/vendor/bundle/gems/rake-12.3.2/doc/example/Rakefile1 +38 -0
  1680. data/vendor/bundle/gems/rake-12.3.2/doc/example/Rakefile2 +35 -0
  1681. data/vendor/bundle/gems/rake-12.3.2/doc/example/a.c +6 -0
  1682. data/vendor/bundle/gems/rake-12.3.2/doc/example/b.c +6 -0
  1683. data/vendor/bundle/gems/rake-12.3.2/doc/example/main.c +11 -0
  1684. data/vendor/bundle/gems/rake-12.3.2/doc/glossary.rdoc +42 -0
  1685. data/vendor/bundle/gems/rake-12.3.2/doc/jamis.rb +592 -0
  1686. data/vendor/bundle/gems/rake-12.3.2/doc/proto_rake.rdoc +127 -0
  1687. data/vendor/bundle/gems/rake-12.3.2/doc/rake.1 +156 -0
  1688. data/vendor/bundle/gems/rake-12.3.2/doc/rakefile.rdoc +622 -0
  1689. data/vendor/bundle/gems/rake-12.3.2/doc/rational.rdoc +151 -0
  1690. data/vendor/bundle/gems/rake-12.3.2/exe/rake +27 -0
  1691. data/vendor/bundle/gems/rake-12.3.2/lib/rake.rb +71 -0
  1692. data/vendor/bundle/gems/rake-12.3.2/lib/rake/application.rb +824 -0
  1693. data/vendor/bundle/gems/rake-12.3.2/lib/rake/backtrace.rb +24 -0
  1694. data/vendor/bundle/gems/rake-12.3.2/lib/rake/clean.rb +78 -0
  1695. data/vendor/bundle/gems/rake-12.3.2/lib/rake/cloneable.rb +17 -0
  1696. data/vendor/bundle/gems/rake-12.3.2/lib/rake/cpu_counter.rb +107 -0
  1697. data/vendor/bundle/gems/rake-12.3.2/lib/rake/default_loader.rb +15 -0
  1698. data/vendor/bundle/gems/rake-12.3.2/lib/rake/dsl_definition.rb +195 -0
  1699. data/vendor/bundle/gems/rake-12.3.2/lib/rake/early_time.rb +22 -0
  1700. data/vendor/bundle/gems/rake-12.3.2/lib/rake/ext/core.rb +26 -0
  1701. data/vendor/bundle/gems/rake-12.3.2/lib/rake/ext/string.rb +176 -0
  1702. data/vendor/bundle/gems/rake-12.3.2/lib/rake/file_creation_task.rb +25 -0
  1703. data/vendor/bundle/gems/rake-12.3.2/lib/rake/file_list.rb +435 -0
  1704. data/vendor/bundle/gems/rake-12.3.2/lib/rake/file_task.rb +54 -0
  1705. data/vendor/bundle/gems/rake-12.3.2/lib/rake/file_utils.rb +137 -0
  1706. data/vendor/bundle/gems/rake-12.3.2/lib/rake/file_utils_ext.rb +145 -0
  1707. data/vendor/bundle/gems/rake-12.3.2/lib/rake/invocation_chain.rb +57 -0
  1708. data/vendor/bundle/gems/rake-12.3.2/lib/rake/invocation_exception_mixin.rb +17 -0
  1709. data/vendor/bundle/gems/rake-12.3.2/lib/rake/late_time.rb +18 -0
  1710. data/vendor/bundle/gems/rake-12.3.2/lib/rake/linked_list.rb +112 -0
  1711. data/vendor/bundle/gems/rake-12.3.2/lib/rake/loaders/makefile.rb +54 -0
  1712. data/vendor/bundle/gems/rake-12.3.2/lib/rake/multi_task.rb +14 -0
  1713. data/vendor/bundle/gems/rake-12.3.2/lib/rake/name_space.rb +38 -0
  1714. data/vendor/bundle/gems/rake-12.3.2/lib/rake/packagetask.rb +207 -0
  1715. data/vendor/bundle/gems/rake-12.3.2/lib/rake/phony.rb +16 -0
  1716. data/vendor/bundle/gems/rake-12.3.2/lib/rake/private_reader.rb +21 -0
  1717. data/vendor/bundle/gems/rake-12.3.2/lib/rake/promise.rb +100 -0
  1718. data/vendor/bundle/gems/rake-12.3.2/lib/rake/pseudo_status.rb +30 -0
  1719. data/vendor/bundle/gems/rake-12.3.2/lib/rake/rake_module.rb +67 -0
  1720. data/vendor/bundle/gems/rake-12.3.2/lib/rake/rake_test_loader.rb +27 -0
  1721. data/vendor/bundle/gems/rake-12.3.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1722. data/vendor/bundle/gems/rake-12.3.2/lib/rake/scope.rb +43 -0
  1723. data/vendor/bundle/gems/rake-12.3.2/lib/rake/task.rb +413 -0
  1724. data/vendor/bundle/gems/rake-12.3.2/lib/rake/task_argument_error.rb +8 -0
  1725. data/vendor/bundle/gems/rake-12.3.2/lib/rake/task_arguments.rb +109 -0
  1726. data/vendor/bundle/gems/rake-12.3.2/lib/rake/task_manager.rb +323 -0
  1727. data/vendor/bundle/gems/rake-12.3.2/lib/rake/tasklib.rb +12 -0
  1728. data/vendor/bundle/gems/rake-12.3.2/lib/rake/testtask.rb +224 -0
  1729. data/vendor/bundle/gems/rake-12.3.2/lib/rake/thread_history_display.rb +49 -0
  1730. data/vendor/bundle/gems/rake-12.3.2/lib/rake/thread_pool.rb +163 -0
  1731. data/vendor/bundle/gems/rake-12.3.2/lib/rake/trace_output.rb +23 -0
  1732. data/vendor/bundle/gems/rake-12.3.2/lib/rake/version.rb +10 -0
  1733. data/vendor/bundle/gems/rake-12.3.2/lib/rake/win32.rb +51 -0
  1734. data/vendor/bundle/gems/rake-12.3.2/rake.gemspec +42 -0
  1735. data/vendor/bundle/gems/ruby-macho-1.4.0/.yardopts +1 -0
  1736. data/vendor/bundle/gems/ruby-macho-1.4.0/LICENSE +21 -0
  1737. data/vendor/bundle/gems/ruby-macho-1.4.0/README.md +62 -0
  1738. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho.rb +40 -0
  1739. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/exceptions.rb +207 -0
  1740. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/fat_file.rb +419 -0
  1741. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/headers.rb +784 -0
  1742. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/load_commands.rb +1790 -0
  1743. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/macho_file.rb +577 -0
  1744. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/sections.rb +204 -0
  1745. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/structure.rb +40 -0
  1746. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/tools.rb +109 -0
  1747. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/utils.rb +123 -0
  1748. data/vendor/bundle/gems/ruby-macho-1.4.0/lib/macho/view.rb +31 -0
  1749. data/vendor/bundle/gems/thread_safe-0.3.6/.rspec +2 -0
  1750. data/vendor/bundle/gems/thread_safe-0.3.6/.travis.yml +46 -0
  1751. data/vendor/bundle/gems/thread_safe-0.3.6/.yardopts +13 -0
  1752. data/vendor/bundle/gems/thread_safe-0.3.6/Gemfile +20 -0
  1753. data/vendor/bundle/gems/thread_safe-0.3.6/LICENSE +144 -0
  1754. data/vendor/bundle/gems/thread_safe-0.3.6/README.md +60 -0
  1755. data/vendor/bundle/gems/thread_safe-0.3.6/Rakefile +62 -0
  1756. data/vendor/bundle/gems/thread_safe-0.3.6/examples/bench_cache.rb +35 -0
  1757. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1758. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1759. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1760. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1761. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1762. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1763. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1764. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1765. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1766. data/vendor/bundle/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1767. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe.rb +65 -0
  1768. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +908 -0
  1769. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +161 -0
  1770. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +60 -0
  1771. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +135 -0
  1772. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +77 -0
  1773. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +43 -0
  1774. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +16 -0
  1775. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +62 -0
  1776. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +44 -0
  1777. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +106 -0
  1778. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1779. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +222 -0
  1780. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +64 -0
  1781. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1782. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +41 -0
  1783. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +21 -0
  1784. data/vendor/bundle/gems/thread_safe-0.3.6/spec/spec_helper.rb +31 -0
  1785. data/vendor/bundle/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +21 -0
  1786. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threads.rb +1 -0
  1787. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +75 -0
  1788. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +18 -0
  1789. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +507 -0
  1790. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +943 -0
  1791. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +17 -0
  1792. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +27 -0
  1793. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +85 -0
  1794. data/vendor/bundle/gems/thread_safe-0.3.6/tasks/update_doc.rake +45 -0
  1795. data/vendor/bundle/gems/thread_safe-0.3.6/thread_safe.gemspec +26 -0
  1796. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +125 -0
  1797. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +16 -0
  1798. data/vendor/bundle/gems/tzinfo-1.2.5/.yardopts +6 -0
  1799. data/vendor/bundle/gems/tzinfo-1.2.5/CHANGES.md +786 -0
  1800. data/vendor/bundle/gems/tzinfo-1.2.5/LICENSE +19 -0
  1801. data/vendor/bundle/gems/tzinfo-1.2.5/README.md +151 -0
  1802. data/vendor/bundle/gems/tzinfo-1.2.5/Rakefile +107 -0
  1803. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo.rb +40 -0
  1804. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country.rb +196 -0
  1805. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_index_definition.rb +31 -0
  1806. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_info.rb +42 -0
  1807. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_timezone.rb +135 -0
  1808. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_source.rb +190 -0
  1809. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone.rb +58 -0
  1810. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone_info.rb +55 -0
  1811. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/info_timezone.rb +30 -0
  1812. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone.rb +63 -0
  1813. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone_info.rb +26 -0
  1814. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/offset_rationals.rb +77 -0
  1815. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_core_support.rb +146 -0
  1816. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_country_info.rb +74 -0
  1817. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_data_source.rb +136 -0
  1818. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/time_or_datetime.rb +340 -0
  1819. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone.rb +669 -0
  1820. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_definition.rb +36 -0
  1821. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_index_definition.rb +54 -0
  1822. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_info.rb +30 -0
  1823. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_offset.rb +101 -0
  1824. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_period.rb +245 -0
  1825. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_proxy.rb +105 -0
  1826. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition.rb +130 -0
  1827. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition_definition.rb +104 -0
  1828. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1829. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_country_info.rb +37 -0
  1830. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_data_source.rb +488 -0
  1831. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_timezone_info.rb +296 -0
  1832. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country.rb +234 -0
  1833. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_index_definition.rb +69 -0
  1834. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_info.rb +16 -0
  1835. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_timezone.rb +173 -0
  1836. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_source.rb +218 -0
  1837. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_timezone.rb +99 -0
  1838. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_timezone_info.rb +18 -0
  1839. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_info_timezone.rb +34 -0
  1840. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_linked_timezone.rb +155 -0
  1841. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_linked_timezone_info.rb +23 -0
  1842. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_offset_rationals.rb +23 -0
  1843. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_core_support.rb +168 -0
  1844. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_country_info.rb +110 -0
  1845. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_data_source.rb +143 -0
  1846. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_time_or_datetime.rb +654 -0
  1847. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone.rb +1350 -0
  1848. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_definition.rb +113 -0
  1849. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_index_definition.rb +73 -0
  1850. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_info.rb +11 -0
  1851. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_london.rb +143 -0
  1852. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_melbourne.rb +142 -0
  1853. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_new_york.rb +142 -0
  1854. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_offset.rb +126 -0
  1855. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_period.rb +555 -0
  1856. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_proxy.rb +136 -0
  1857. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_transition.rb +366 -0
  1858. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_transition_definition.rb +295 -0
  1859. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_utc.rb +27 -0
  1860. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_transition_data_timezone_info.rb +423 -0
  1861. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_country_info.rb +78 -0
  1862. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_data_source.rb +1195 -0
  1863. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_timezone_info.rb +1232 -0
  1864. data/vendor/bundle/gems/tzinfo-1.2.5/test/test_utils.rb +163 -0
  1865. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all.rb +7 -0
  1866. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all_ruby.rb +5 -0
  1867. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all_zoneinfo.rb +7 -0
  1868. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data.rb +8 -0
  1869. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1870. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1871. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1872. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1873. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1874. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1875. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1876. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1877. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1878. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1879. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1880. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1881. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1882. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1883. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  1884. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1885. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1886. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/America/New_York +0 -0
  1887. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Australia/Melbourne +0 -0
  1888. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/EST +0 -0
  1889. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Etc/UTC +0 -0
  1890. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Amsterdam +0 -0
  1891. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Andorra +0 -0
  1892. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/London +0 -0
  1893. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Paris +0 -0
  1894. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Prague +0 -0
  1895. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Factory +0 -0
  1896. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/iso3166.tab +275 -0
  1897. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/leapseconds +61 -0
  1898. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/posix/Europe/London +0 -0
  1899. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/posixrules +0 -0
  1900. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/right/Europe/London +0 -0
  1901. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/zone.tab +439 -0
  1902. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/zone1970.tab +369 -0
  1903. data/vendor/bundle/gems/tzinfo-1.2.5/tzinfo.gemspec +21 -0
  1904. data/vendor/bundle/gems/xcodeproj-1.9.0/LICENSE +19 -0
  1905. data/vendor/bundle/gems/xcodeproj-1.9.0/README.md +94 -0
  1906. data/vendor/bundle/gems/xcodeproj-1.9.0/bin/xcodeproj +10 -0
  1907. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj.rb +29 -0
  1908. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command.rb +63 -0
  1909. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command/config_dump.rb +87 -0
  1910. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command/project_diff.rb +56 -0
  1911. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command/show.rb +60 -0
  1912. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command/sort.rb +33 -0
  1913. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/command/target_diff.rb +43 -0
  1914. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/config.rb +374 -0
  1915. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/config/other_linker_flags_parser.rb +68 -0
  1916. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/constants.rb +445 -0
  1917. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/differ.rb +239 -0
  1918. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/gem_version.rb +5 -0
  1919. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/helper.rb +30 -0
  1920. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/plist.rb +94 -0
  1921. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project.rb +867 -0
  1922. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/case_converter.rb +90 -0
  1923. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object.rb +532 -0
  1924. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/build_configuration.rb +224 -0
  1925. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/build_file.rb +70 -0
  1926. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/build_phase.rb +305 -0
  1927. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/build_rule.rb +90 -0
  1928. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/configuration_list.rb +117 -0
  1929. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/container_item_proxy.rb +116 -0
  1930. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/file_reference.rb +337 -0
  1931. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/group.rb +485 -0
  1932. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb +72 -0
  1933. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/helpers/file_references_factory.rb +242 -0
  1934. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/helpers/groupable_helper.rb +259 -0
  1935. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/native_target.rb +683 -0
  1936. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/reference_proxy.rb +67 -0
  1937. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/root_object.rb +87 -0
  1938. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object/target_dependency.rb +81 -0
  1939. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object_attributes.rb +522 -0
  1940. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object_dictionary.rb +210 -0
  1941. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/object_list.rb +223 -0
  1942. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/project_helper.rb +340 -0
  1943. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/project/uuid_generator.rb +132 -0
  1944. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme.rb +371 -0
  1945. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/abstract_scheme_action.rb +28 -0
  1946. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/analyze_action.rb +19 -0
  1947. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/archive_action.rb +59 -0
  1948. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/build_action.rb +191 -0
  1949. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/buildable_product_runnable.rb +55 -0
  1950. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/buildable_reference.rb +129 -0
  1951. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/command_line_arguments.rb +162 -0
  1952. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/environment_variables.rb +170 -0
  1953. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/launch_action.rb +148 -0
  1954. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/macro_expansion.rb +34 -0
  1955. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/profile_action.rb +57 -0
  1956. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/remote_runnable.rb +92 -0
  1957. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/test_action.rb +333 -0
  1958. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/scheme/xml_element_wrapper.rb +82 -0
  1959. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/user_interface.rb +22 -0
  1960. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/workspace.rb +276 -0
  1961. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/workspace/file_reference.rb +79 -0
  1962. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/workspace/group_reference.rb +67 -0
  1963. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/workspace/reference.rb +40 -0
  1964. data/vendor/bundle/gems/xcodeproj-1.9.0/lib/xcodeproj/xcodebuild_helper.rb +108 -0
  1965. data/vendor/bundle/specifications/CFPropertyList-3.0.0.gemspec +34 -0
  1966. data/vendor/bundle/specifications/activesupport-4.2.11.1.gemspec +43 -0
  1967. data/vendor/bundle/specifications/addressable-2.6.0.gemspec +39 -0
  1968. data/vendor/bundle/specifications/atomos-0.1.3.gemspec +42 -0
  1969. data/vendor/bundle/specifications/bacon-1.2.0.gemspec +22 -0
  1970. data/vendor/bundle/specifications/claide-1.0.2.gemspec +19 -0
  1971. data/vendor/bundle/specifications/cocoapods-1.6.1.gemspec +95 -0
  1972. data/vendor/bundle/specifications/cocoapods-core-1.6.1.gemspec +42 -0
  1973. data/vendor/bundle/specifications/cocoapods-deintegrate-1.0.4.gemspec +20 -0
  1974. data/vendor/bundle/specifications/cocoapods-downloader-1.2.2.gemspec +20 -0
  1975. data/vendor/bundle/specifications/cocoapods-plugins-1.0.0.gemspec +38 -0
  1976. data/vendor/bundle/specifications/cocoapods-search-1.0.0.gemspec +35 -0
  1977. data/vendor/bundle/specifications/cocoapods-stats-1.1.0.gemspec +35 -0
  1978. data/vendor/bundle/specifications/cocoapods-trunk-1.3.1.gemspec +41 -0
  1979. data/vendor/bundle/specifications/cocoapods-try-1.1.0.gemspec +33 -0
  1980. data/vendor/bundle/specifications/colored2-3.1.2.gemspec +39 -0
  1981. data/vendor/bundle/specifications/concurrent-ruby-1.1.5.gemspec +24 -0
  1982. data/vendor/bundle/specifications/escape-0.0.4.gemspec +23 -0
  1983. data/vendor/bundle/specifications/fourflusher-2.2.0.gemspec +41 -0
  1984. data/vendor/bundle/specifications/fuzzy_match-2.0.4.gemspec +64 -0
  1985. data/vendor/bundle/specifications/gh_inspector-1.1.3.gemspec +47 -0
  1986. data/vendor/bundle/specifications/i18n-0.9.5.gemspec +34 -0
  1987. data/vendor/bundle/specifications/json-2.2.0.gemspec +0 -0
  1988. data/vendor/bundle/specifications/launchy-2.4.3.gemspec +45 -0
  1989. data/vendor/bundle/specifications/metaclass-0.0.4.gemspec +20 -0
  1990. data/vendor/bundle/specifications/minitest-5.11.3.gemspec +39 -0
  1991. data/vendor/bundle/specifications/mocha-1.8.0.gemspec +45 -0
  1992. data/vendor/bundle/specifications/mocha-on-bacon-0.2.3.gemspec +34 -0
  1993. data/vendor/bundle/specifications/molinillo-0.6.6.gemspec +34 -0
  1994. data/vendor/bundle/specifications/nanaimo-0.2.6.gemspec +38 -0
  1995. data/vendor/bundle/specifications/nap-1.1.0.gemspec +38 -0
  1996. data/vendor/bundle/specifications/netrc-0.11.0.gemspec +32 -0
  1997. data/vendor/bundle/specifications/prettybacon-0.0.2.gemspec +38 -0
  1998. data/vendor/bundle/specifications/public_suffix-3.0.3.gemspec +41 -0
  1999. data/vendor/bundle/specifications/rake-12.3.2.gemspec +49 -0
  2000. data/vendor/bundle/specifications/ruby-macho-1.4.0.gemspec +21 -0
  2001. data/vendor/bundle/specifications/thread_safe-0.3.6.gemspec +38 -0
  2002. data/vendor/bundle/specifications/tzinfo-1.2.5.gemspec +37 -0
  2003. data/vendor/bundle/specifications/xcodeproj-1.9.0.gemspec +47 -0
  2004. metadata +2118 -0
@@ -0,0 +1,2510 @@
1
+ # frozen_string_literal: true
2
+
3
+ # encoding:utf-8
4
+ #--
5
+ # Copyright (C) Bob Aman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #++
19
+
20
+
21
+ require "addressable/version"
22
+ require "addressable/idna"
23
+ require "public_suffix"
24
+
25
+ ##
26
+ # Addressable is a library for processing links and URIs.
27
+ module Addressable
28
+ ##
29
+ # This is an implementation of a URI parser based on
30
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>,
31
+ # <a href="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>.
32
+ class URI
33
+ ##
34
+ # Raised if something other than a uri is supplied.
35
+ class InvalidURIError < StandardError
36
+ end
37
+
38
+ ##
39
+ # Container for the character classes specified in
40
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
41
+ module CharacterClasses
42
+ ALPHA = "a-zA-Z"
43
+ DIGIT = "0-9"
44
+ GEN_DELIMS = "\\:\\/\\?\\#\\[\\]\\@"
45
+ SUB_DELIMS = "\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\="
46
+ RESERVED = GEN_DELIMS + SUB_DELIMS
47
+ UNRESERVED = ALPHA + DIGIT + "\\-\\.\\_\\~"
48
+ PCHAR = UNRESERVED + SUB_DELIMS + "\\:\\@"
49
+ SCHEME = ALPHA + DIGIT + "\\-\\+\\."
50
+ HOST = UNRESERVED + SUB_DELIMS + "\\[\\:\\]"
51
+ AUTHORITY = PCHAR
52
+ PATH = PCHAR + "\\/"
53
+ QUERY = PCHAR + "\\/\\?"
54
+ FRAGMENT = PCHAR + "\\/\\?"
55
+ end
56
+
57
+ SLASH = '/'
58
+ EMPTY_STR = ''
59
+
60
+ URIREGEX = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/
61
+
62
+ PORT_MAPPING = {
63
+ "http" => 80,
64
+ "https" => 443,
65
+ "ftp" => 21,
66
+ "tftp" => 69,
67
+ "sftp" => 22,
68
+ "ssh" => 22,
69
+ "svn+ssh" => 22,
70
+ "telnet" => 23,
71
+ "nntp" => 119,
72
+ "gopher" => 70,
73
+ "wais" => 210,
74
+ "ldap" => 389,
75
+ "prospero" => 1525
76
+ }
77
+
78
+ ##
79
+ # Returns a URI object based on the parsed string.
80
+ #
81
+ # @param [String, Addressable::URI, #to_str] uri
82
+ # The URI string to parse.
83
+ # No parsing is performed if the object is already an
84
+ # <code>Addressable::URI</code>.
85
+ #
86
+ # @return [Addressable::URI] The parsed URI.
87
+ def self.parse(uri)
88
+ # If we were given nil, return nil.
89
+ return nil unless uri
90
+ # If a URI object is passed, just return itself.
91
+ return uri.dup if uri.kind_of?(self)
92
+
93
+ # If a URI object of the Ruby standard library variety is passed,
94
+ # convert it to a string, then parse the string.
95
+ # We do the check this way because we don't want to accidentally
96
+ # cause a missing constant exception to be thrown.
97
+ if uri.class.name =~ /^URI\b/
98
+ uri = uri.to_s
99
+ end
100
+
101
+ # Otherwise, convert to a String
102
+ begin
103
+ uri = uri.to_str
104
+ rescue TypeError, NoMethodError
105
+ raise TypeError, "Can't convert #{uri.class} into String."
106
+ end if not uri.is_a? String
107
+
108
+ # This Regexp supplied as an example in RFC 3986, and it works great.
109
+ scan = uri.scan(URIREGEX)
110
+ fragments = scan[0]
111
+ scheme = fragments[1]
112
+ authority = fragments[3]
113
+ path = fragments[4]
114
+ query = fragments[6]
115
+ fragment = fragments[8]
116
+ user = nil
117
+ password = nil
118
+ host = nil
119
+ port = nil
120
+ if authority != nil
121
+ # The Regexp above doesn't split apart the authority.
122
+ userinfo = authority[/^([^\[\]]*)@/, 1]
123
+ if userinfo != nil
124
+ user = userinfo.strip[/^([^:]*):?/, 1]
125
+ password = userinfo.strip[/:(.*)$/, 1]
126
+ end
127
+ host = authority.sub(
128
+ /^([^\[\]]*)@/, EMPTY_STR
129
+ ).sub(
130
+ /:([^:@\[\]]*?)$/, EMPTY_STR
131
+ )
132
+ port = authority[/:([^:@\[\]]*?)$/, 1]
133
+ end
134
+ if port == EMPTY_STR
135
+ port = nil
136
+ end
137
+
138
+ return new(
139
+ :scheme => scheme,
140
+ :user => user,
141
+ :password => password,
142
+ :host => host,
143
+ :port => port,
144
+ :path => path,
145
+ :query => query,
146
+ :fragment => fragment
147
+ )
148
+ end
149
+
150
+ ##
151
+ # Converts an input to a URI. The input does not have to be a valid
152
+ # URI — the method will use heuristics to guess what URI was intended.
153
+ # This is not standards-compliant, merely user-friendly.
154
+ #
155
+ # @param [String, Addressable::URI, #to_str] uri
156
+ # The URI string to parse.
157
+ # No parsing is performed if the object is already an
158
+ # <code>Addressable::URI</code>.
159
+ # @param [Hash] hints
160
+ # A <code>Hash</code> of hints to the heuristic parser.
161
+ # Defaults to <code>{:scheme => "http"}</code>.
162
+ #
163
+ # @return [Addressable::URI] The parsed URI.
164
+ def self.heuristic_parse(uri, hints={})
165
+ # If we were given nil, return nil.
166
+ return nil unless uri
167
+ # If a URI object is passed, just return itself.
168
+ return uri.dup if uri.kind_of?(self)
169
+
170
+ # If a URI object of the Ruby standard library variety is passed,
171
+ # convert it to a string, then parse the string.
172
+ # We do the check this way because we don't want to accidentally
173
+ # cause a missing constant exception to be thrown.
174
+ if uri.class.name =~ /^URI\b/
175
+ uri = uri.to_s
176
+ end
177
+
178
+ if !uri.respond_to?(:to_str)
179
+ raise TypeError, "Can't convert #{uri.class} into String."
180
+ end
181
+ # Otherwise, convert to a String
182
+ uri = uri.to_str.dup.strip
183
+ hints = {
184
+ :scheme => "http"
185
+ }.merge(hints)
186
+ case uri
187
+ when /^http:\//i
188
+ uri.sub!(/^http:\/+/i, "http://")
189
+ when /^https:\//i
190
+ uri.sub!(/^https:\/+/i, "https://")
191
+ when /^feed:\/+http:\//i
192
+ uri.sub!(/^feed:\/+http:\/+/i, "feed:http://")
193
+ when /^feed:\//i
194
+ uri.sub!(/^feed:\/+/i, "feed://")
195
+ when %r[^file:/{4}]i
196
+ uri.sub!(%r[^file:/+]i, "file:////")
197
+ when %r[^file://localhost/]i
198
+ uri.sub!(%r[^file://localhost/+]i, "file:///")
199
+ when %r[^file:/+]i
200
+ uri.sub!(%r[^file:/+]i, "file:///")
201
+ when /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
202
+ uri.sub!(/^/, hints[:scheme] + "://")
203
+ when /\A\d+\..*:\d+\z/
204
+ uri = "#{hints[:scheme]}://#{uri}"
205
+ end
206
+ match = uri.match(URIREGEX)
207
+ fragments = match.captures
208
+ authority = fragments[3]
209
+ if authority && authority.length > 0
210
+ new_authority = authority.gsub(/\\/, '/').gsub(/ /, '%20')
211
+ # NOTE: We want offset 4, not 3!
212
+ offset = match.offset(4)
213
+ uri = uri.dup
214
+ uri[offset[0]...offset[1]] = new_authority
215
+ end
216
+ parsed = self.parse(uri)
217
+ if parsed.scheme =~ /^[^\/?#\.]+\.[^\/?#]+$/
218
+ parsed = self.parse(hints[:scheme] + "://" + uri)
219
+ end
220
+ if parsed.path.include?(".")
221
+ new_host = parsed.path[/^([^\/]+\.[^\/]*)/, 1]
222
+ if new_host
223
+ parsed.defer_validation do
224
+ new_path = parsed.path.sub(
225
+ Regexp.new("^" + Regexp.escape(new_host)), EMPTY_STR)
226
+ parsed.host = new_host
227
+ parsed.path = new_path
228
+ parsed.scheme = hints[:scheme] unless parsed.scheme
229
+ end
230
+ end
231
+ end
232
+ return parsed
233
+ end
234
+
235
+ ##
236
+ # Converts a path to a file scheme URI. If the path supplied is
237
+ # relative, it will be returned as a relative URI. If the path supplied
238
+ # is actually a non-file URI, it will parse the URI as if it had been
239
+ # parsed with <code>Addressable::URI.parse</code>. Handles all of the
240
+ # various Microsoft-specific formats for specifying paths.
241
+ #
242
+ # @param [String, Addressable::URI, #to_str] path
243
+ # Typically a <code>String</code> path to a file or directory, but
244
+ # will return a sensible return value if an absolute URI is supplied
245
+ # instead.
246
+ #
247
+ # @return [Addressable::URI]
248
+ # The parsed file scheme URI or the original URI if some other URI
249
+ # scheme was provided.
250
+ #
251
+ # @example
252
+ # base = Addressable::URI.convert_path("/absolute/path/")
253
+ # uri = Addressable::URI.convert_path("relative/path")
254
+ # (base + uri).to_s
255
+ # #=> "file:///absolute/path/relative/path"
256
+ #
257
+ # Addressable::URI.convert_path(
258
+ # "c:\\windows\\My Documents 100%20\\foo.txt"
259
+ # ).to_s
260
+ # #=> "file:///c:/windows/My%20Documents%20100%20/foo.txt"
261
+ #
262
+ # Addressable::URI.convert_path("http://example.com/").to_s
263
+ # #=> "http://example.com/"
264
+ def self.convert_path(path)
265
+ # If we were given nil, return nil.
266
+ return nil unless path
267
+ # If a URI object is passed, just return itself.
268
+ return path if path.kind_of?(self)
269
+ if !path.respond_to?(:to_str)
270
+ raise TypeError, "Can't convert #{path.class} into String."
271
+ end
272
+ # Otherwise, convert to a String
273
+ path = path.to_str.strip
274
+
275
+ path.sub!(/^file:\/?\/?/, EMPTY_STR) if path =~ /^file:\/?\/?/
276
+ path = SLASH + path if path =~ /^([a-zA-Z])[\|:]/
277
+ uri = self.parse(path)
278
+
279
+ if uri.scheme == nil
280
+ # Adjust windows-style uris
281
+ uri.path.sub!(/^\/?([a-zA-Z])[\|:][\\\/]/) do
282
+ "/#{$1.downcase}:/"
283
+ end
284
+ uri.path.gsub!(/\\/, SLASH)
285
+ if File.exist?(uri.path) &&
286
+ File.stat(uri.path).directory?
287
+ uri.path.sub!(/\/$/, EMPTY_STR)
288
+ uri.path = uri.path + '/'
289
+ end
290
+
291
+ # If the path is absolute, set the scheme and host.
292
+ if uri.path =~ /^\//
293
+ uri.scheme = "file"
294
+ uri.host = EMPTY_STR
295
+ end
296
+ uri.normalize!
297
+ end
298
+
299
+ return uri
300
+ end
301
+
302
+ ##
303
+ # Joins several URIs together.
304
+ #
305
+ # @param [String, Addressable::URI, #to_str] *uris
306
+ # The URIs to join.
307
+ #
308
+ # @return [Addressable::URI] The joined URI.
309
+ #
310
+ # @example
311
+ # base = "http://example.com/"
312
+ # uri = Addressable::URI.parse("relative/path")
313
+ # Addressable::URI.join(base, uri)
314
+ # #=> #<Addressable::URI:0xcab390 URI:http://example.com/relative/path>
315
+ def self.join(*uris)
316
+ uri_objects = uris.collect do |uri|
317
+ if !uri.respond_to?(:to_str)
318
+ raise TypeError, "Can't convert #{uri.class} into String."
319
+ end
320
+ uri.kind_of?(self) ? uri : self.parse(uri.to_str)
321
+ end
322
+ result = uri_objects.shift.dup
323
+ for uri in uri_objects
324
+ result.join!(uri)
325
+ end
326
+ return result
327
+ end
328
+
329
+ ##
330
+ # Percent encodes a URI component.
331
+ #
332
+ # @param [String, #to_str] component The URI component to encode.
333
+ #
334
+ # @param [String, Regexp] character_class
335
+ # The characters which are not percent encoded. If a <code>String</code>
336
+ # is passed, the <code>String</code> must be formatted as a regular
337
+ # expression character class. (Do not include the surrounding square
338
+ # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
339
+ # everything but the letters 'b' through 'z' and the numbers '0' through
340
+ # '9' to be percent encoded. If a <code>Regexp</code> is passed, the
341
+ # value <code>/[^b-zB-Z0-9]/</code> would have the same effect. A set of
342
+ # useful <code>String</code> values may be found in the
343
+ # <code>Addressable::URI::CharacterClasses</code> module. The default
344
+ # value is the reserved plus unreserved character classes specified in
345
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
346
+ #
347
+ # @param [Regexp] upcase_encoded
348
+ # A string of characters that may already be percent encoded, and whose
349
+ # encodings should be upcased. This allows normalization of percent
350
+ # encodings for characters not included in the
351
+ # <code>character_class</code>.
352
+ #
353
+ # @return [String] The encoded component.
354
+ #
355
+ # @example
356
+ # Addressable::URI.encode_component("simple/example", "b-zB-Z0-9")
357
+ # => "simple%2Fex%61mple"
358
+ # Addressable::URI.encode_component("simple/example", /[^b-zB-Z0-9]/)
359
+ # => "simple%2Fex%61mple"
360
+ # Addressable::URI.encode_component(
361
+ # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
362
+ # )
363
+ # => "simple%2Fexample"
364
+ def self.encode_component(component, character_class=
365
+ CharacterClasses::RESERVED + CharacterClasses::UNRESERVED,
366
+ upcase_encoded='')
367
+ return nil if component.nil?
368
+
369
+ begin
370
+ if component.kind_of?(Symbol) ||
371
+ component.kind_of?(Numeric) ||
372
+ component.kind_of?(TrueClass) ||
373
+ component.kind_of?(FalseClass)
374
+ component = component.to_s
375
+ else
376
+ component = component.to_str
377
+ end
378
+ rescue TypeError, NoMethodError
379
+ raise TypeError, "Can't convert #{component.class} into String."
380
+ end if !component.is_a? String
381
+
382
+ if ![String, Regexp].include?(character_class.class)
383
+ raise TypeError,
384
+ "Expected String or Regexp, got #{character_class.inspect}"
385
+ end
386
+ if character_class.kind_of?(String)
387
+ character_class = /[^#{character_class}]/
388
+ end
389
+ # We can't perform regexps on invalid UTF sequences, but
390
+ # here we need to, so switch to ASCII.
391
+ component = component.dup
392
+ component.force_encoding(Encoding::ASCII_8BIT)
393
+ # Avoiding gsub! because there are edge cases with frozen strings
394
+ component = component.gsub(character_class) do |sequence|
395
+ (sequence.unpack('C*').map { |c| "%" + ("%02x" % c).upcase }).join
396
+ end
397
+ if upcase_encoded.length > 0
398
+ component = component.gsub(/%(#{upcase_encoded.chars.map do |char|
399
+ char.unpack('C*').map { |c| '%02x' % c }.join
400
+ end.join('|')})/i) { |s| s.upcase }
401
+ end
402
+ return component
403
+ end
404
+
405
+ class << self
406
+ alias_method :encode_component, :encode_component
407
+ end
408
+
409
+ ##
410
+ # Unencodes any percent encoded characters within a URI component.
411
+ # This method may be used for unencoding either components or full URIs,
412
+ # however, it is recommended to use the <code>unencode_component</code>
413
+ # alias when unencoding components.
414
+ #
415
+ # @param [String, Addressable::URI, #to_str] uri
416
+ # The URI or component to unencode.
417
+ #
418
+ # @param [Class] return_type
419
+ # The type of object to return.
420
+ # This value may only be set to <code>String</code> or
421
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
422
+ # to <code>String</code>.
423
+ #
424
+ # @param [String] leave_encoded
425
+ # A string of characters to leave encoded. If a percent encoded character
426
+ # in this list is encountered then it will remain percent encoded.
427
+ #
428
+ # @return [String, Addressable::URI]
429
+ # The unencoded component or URI.
430
+ # The return type is determined by the <code>return_type</code>
431
+ # parameter.
432
+ def self.unencode(uri, return_type=String, leave_encoded='')
433
+ return nil if uri.nil?
434
+
435
+ begin
436
+ uri = uri.to_str
437
+ rescue NoMethodError, TypeError
438
+ raise TypeError, "Can't convert #{uri.class} into String."
439
+ end if !uri.is_a? String
440
+ if ![String, ::Addressable::URI].include?(return_type)
441
+ raise TypeError,
442
+ "Expected Class (String or Addressable::URI), " +
443
+ "got #{return_type.inspect}"
444
+ end
445
+ uri = uri.dup
446
+ # Seriously, only use UTF-8. I'm really not kidding!
447
+ uri.force_encoding("utf-8")
448
+ leave_encoded = leave_encoded.dup.force_encoding("utf-8")
449
+ result = uri.gsub(/%[0-9a-f]{2}/iu) do |sequence|
450
+ c = sequence[1..3].to_i(16).chr
451
+ c.force_encoding("utf-8")
452
+ leave_encoded.include?(c) ? sequence : c
453
+ end
454
+ result.force_encoding("utf-8")
455
+ if return_type == String
456
+ return result
457
+ elsif return_type == ::Addressable::URI
458
+ return ::Addressable::URI.parse(result)
459
+ end
460
+ end
461
+
462
+ class << self
463
+ alias_method :unescape, :unencode
464
+ alias_method :unencode_component, :unencode
465
+ alias_method :unescape_component, :unencode
466
+ end
467
+
468
+
469
+ ##
470
+ # Normalizes the encoding of a URI component.
471
+ #
472
+ # @param [String, #to_str] component The URI component to encode.
473
+ #
474
+ # @param [String, Regexp] character_class
475
+ # The characters which are not percent encoded. If a <code>String</code>
476
+ # is passed, the <code>String</code> must be formatted as a regular
477
+ # expression character class. (Do not include the surrounding square
478
+ # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
479
+ # everything but the letters 'b' through 'z' and the numbers '0'
480
+ # through '9' to be percent encoded. If a <code>Regexp</code> is passed,
481
+ # the value <code>/[^b-zB-Z0-9]/</code> would have the same effect. A
482
+ # set of useful <code>String</code> values may be found in the
483
+ # <code>Addressable::URI::CharacterClasses</code> module. The default
484
+ # value is the reserved plus unreserved character classes specified in
485
+ # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
486
+ #
487
+ # @param [String] leave_encoded
488
+ # When <code>character_class</code> is a <code>String</code> then
489
+ # <code>leave_encoded</code> is a string of characters that should remain
490
+ # percent encoded while normalizing the component; if they appear percent
491
+ # encoded in the original component, then they will be upcased ("%2f"
492
+ # normalized to "%2F") but otherwise left alone.
493
+ #
494
+ # @return [String] The normalized component.
495
+ #
496
+ # @example
497
+ # Addressable::URI.normalize_component("simpl%65/%65xampl%65", "b-zB-Z")
498
+ # => "simple%2Fex%61mple"
499
+ # Addressable::URI.normalize_component(
500
+ # "simpl%65/%65xampl%65", /[^b-zB-Z]/
501
+ # )
502
+ # => "simple%2Fex%61mple"
503
+ # Addressable::URI.normalize_component(
504
+ # "simpl%65/%65xampl%65",
505
+ # Addressable::URI::CharacterClasses::UNRESERVED
506
+ # )
507
+ # => "simple%2Fexample"
508
+ # Addressable::URI.normalize_component(
509
+ # "one%20two%2fthree%26four",
510
+ # "0-9a-zA-Z &/",
511
+ # "/"
512
+ # )
513
+ # => "one two%2Fthree&four"
514
+ def self.normalize_component(component, character_class=
515
+ CharacterClasses::RESERVED + CharacterClasses::UNRESERVED,
516
+ leave_encoded='')
517
+ return nil if component.nil?
518
+
519
+ begin
520
+ component = component.to_str
521
+ rescue NoMethodError, TypeError
522
+ raise TypeError, "Can't convert #{component.class} into String."
523
+ end if !component.is_a? String
524
+
525
+ if ![String, Regexp].include?(character_class.class)
526
+ raise TypeError,
527
+ "Expected String or Regexp, got #{character_class.inspect}"
528
+ end
529
+ if character_class.kind_of?(String)
530
+ leave_re = if leave_encoded.length > 0
531
+ character_class = "#{character_class}%" unless character_class.include?('%')
532
+
533
+ "|%(?!#{leave_encoded.chars.map do |char|
534
+ seq = char.unpack('C*').map { |c| '%02x' % c }.join
535
+ [seq.upcase, seq.downcase]
536
+ end.flatten.join('|')})"
537
+ end
538
+
539
+ character_class = /[^#{character_class}]#{leave_re}/
540
+ end
541
+ # We can't perform regexps on invalid UTF sequences, but
542
+ # here we need to, so switch to ASCII.
543
+ component = component.dup
544
+ component.force_encoding(Encoding::ASCII_8BIT)
545
+ unencoded = self.unencode_component(component, String, leave_encoded)
546
+ begin
547
+ encoded = self.encode_component(
548
+ Addressable::IDNA.unicode_normalize_kc(unencoded),
549
+ character_class,
550
+ leave_encoded
551
+ )
552
+ rescue ArgumentError
553
+ encoded = self.encode_component(unencoded)
554
+ end
555
+ encoded.force_encoding(Encoding::UTF_8)
556
+ return encoded
557
+ end
558
+
559
+ ##
560
+ # Percent encodes any special characters in the URI.
561
+ #
562
+ # @param [String, Addressable::URI, #to_str] uri
563
+ # The URI to encode.
564
+ #
565
+ # @param [Class] return_type
566
+ # The type of object to return.
567
+ # This value may only be set to <code>String</code> or
568
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
569
+ # to <code>String</code>.
570
+ #
571
+ # @return [String, Addressable::URI]
572
+ # The encoded URI.
573
+ # The return type is determined by the <code>return_type</code>
574
+ # parameter.
575
+ def self.encode(uri, return_type=String)
576
+ return nil if uri.nil?
577
+
578
+ begin
579
+ uri = uri.to_str
580
+ rescue NoMethodError, TypeError
581
+ raise TypeError, "Can't convert #{uri.class} into String."
582
+ end if !uri.is_a? String
583
+
584
+ if ![String, ::Addressable::URI].include?(return_type)
585
+ raise TypeError,
586
+ "Expected Class (String or Addressable::URI), " +
587
+ "got #{return_type.inspect}"
588
+ end
589
+ uri_object = uri.kind_of?(self) ? uri : self.parse(uri)
590
+ encoded_uri = Addressable::URI.new(
591
+ :scheme => self.encode_component(uri_object.scheme,
592
+ Addressable::URI::CharacterClasses::SCHEME),
593
+ :authority => self.encode_component(uri_object.authority,
594
+ Addressable::URI::CharacterClasses::AUTHORITY),
595
+ :path => self.encode_component(uri_object.path,
596
+ Addressable::URI::CharacterClasses::PATH),
597
+ :query => self.encode_component(uri_object.query,
598
+ Addressable::URI::CharacterClasses::QUERY),
599
+ :fragment => self.encode_component(uri_object.fragment,
600
+ Addressable::URI::CharacterClasses::FRAGMENT)
601
+ )
602
+ if return_type == String
603
+ return encoded_uri.to_s
604
+ elsif return_type == ::Addressable::URI
605
+ return encoded_uri
606
+ end
607
+ end
608
+
609
+ class << self
610
+ alias_method :escape, :encode
611
+ end
612
+
613
+ ##
614
+ # Normalizes the encoding of a URI. Characters within a hostname are
615
+ # not percent encoded to allow for internationalized domain names.
616
+ #
617
+ # @param [String, Addressable::URI, #to_str] uri
618
+ # The URI to encode.
619
+ #
620
+ # @param [Class] return_type
621
+ # The type of object to return.
622
+ # This value may only be set to <code>String</code> or
623
+ # <code>Addressable::URI</code>. All other values are invalid. Defaults
624
+ # to <code>String</code>.
625
+ #
626
+ # @return [String, Addressable::URI]
627
+ # The encoded URI.
628
+ # The return type is determined by the <code>return_type</code>
629
+ # parameter.
630
+ def self.normalized_encode(uri, return_type=String)
631
+ begin
632
+ uri = uri.to_str
633
+ rescue NoMethodError, TypeError
634
+ raise TypeError, "Can't convert #{uri.class} into String."
635
+ end if !uri.is_a? String
636
+
637
+ if ![String, ::Addressable::URI].include?(return_type)
638
+ raise TypeError,
639
+ "Expected Class (String or Addressable::URI), " +
640
+ "got #{return_type.inspect}"
641
+ end
642
+ uri_object = uri.kind_of?(self) ? uri : self.parse(uri)
643
+ components = {
644
+ :scheme => self.unencode_component(uri_object.scheme),
645
+ :user => self.unencode_component(uri_object.user),
646
+ :password => self.unencode_component(uri_object.password),
647
+ :host => self.unencode_component(uri_object.host),
648
+ :port => (uri_object.port.nil? ? nil : uri_object.port.to_s),
649
+ :path => self.unencode_component(uri_object.path),
650
+ :query => self.unencode_component(uri_object.query),
651
+ :fragment => self.unencode_component(uri_object.fragment)
652
+ }
653
+ components.each do |key, value|
654
+ if value != nil
655
+ begin
656
+ components[key] =
657
+ Addressable::IDNA.unicode_normalize_kc(value.to_str)
658
+ rescue ArgumentError
659
+ # Likely a malformed UTF-8 character, skip unicode normalization
660
+ components[key] = value.to_str
661
+ end
662
+ end
663
+ end
664
+ encoded_uri = Addressable::URI.new(
665
+ :scheme => self.encode_component(components[:scheme],
666
+ Addressable::URI::CharacterClasses::SCHEME),
667
+ :user => self.encode_component(components[:user],
668
+ Addressable::URI::CharacterClasses::UNRESERVED),
669
+ :password => self.encode_component(components[:password],
670
+ Addressable::URI::CharacterClasses::UNRESERVED),
671
+ :host => components[:host],
672
+ :port => components[:port],
673
+ :path => self.encode_component(components[:path],
674
+ Addressable::URI::CharacterClasses::PATH),
675
+ :query => self.encode_component(components[:query],
676
+ Addressable::URI::CharacterClasses::QUERY),
677
+ :fragment => self.encode_component(components[:fragment],
678
+ Addressable::URI::CharacterClasses::FRAGMENT)
679
+ )
680
+ if return_type == String
681
+ return encoded_uri.to_s
682
+ elsif return_type == ::Addressable::URI
683
+ return encoded_uri
684
+ end
685
+ end
686
+
687
+ ##
688
+ # Encodes a set of key/value pairs according to the rules for the
689
+ # <code>application/x-www-form-urlencoded</code> MIME type.
690
+ #
691
+ # @param [#to_hash, #to_ary] form_values
692
+ # The form values to encode.
693
+ #
694
+ # @param [TrueClass, FalseClass] sort
695
+ # Sort the key/value pairs prior to encoding.
696
+ # Defaults to <code>false</code>.
697
+ #
698
+ # @return [String]
699
+ # The encoded value.
700
+ def self.form_encode(form_values, sort=false)
701
+ if form_values.respond_to?(:to_hash)
702
+ form_values = form_values.to_hash.to_a
703
+ elsif form_values.respond_to?(:to_ary)
704
+ form_values = form_values.to_ary
705
+ else
706
+ raise TypeError, "Can't convert #{form_values.class} into Array."
707
+ end
708
+
709
+ form_values = form_values.inject([]) do |accu, (key, value)|
710
+ if value.kind_of?(Array)
711
+ value.each do |v|
712
+ accu << [key.to_s, v.to_s]
713
+ end
714
+ else
715
+ accu << [key.to_s, value.to_s]
716
+ end
717
+ accu
718
+ end
719
+
720
+ if sort
721
+ # Useful for OAuth and optimizing caching systems
722
+ form_values = form_values.sort
723
+ end
724
+ escaped_form_values = form_values.map do |(key, value)|
725
+ # Line breaks are CRLF pairs
726
+ [
727
+ self.encode_component(
728
+ key.gsub(/(\r\n|\n|\r)/, "\r\n"),
729
+ CharacterClasses::UNRESERVED
730
+ ).gsub("%20", "+"),
731
+ self.encode_component(
732
+ value.gsub(/(\r\n|\n|\r)/, "\r\n"),
733
+ CharacterClasses::UNRESERVED
734
+ ).gsub("%20", "+")
735
+ ]
736
+ end
737
+ return escaped_form_values.map do |(key, value)|
738
+ "#{key}=#{value}"
739
+ end.join("&")
740
+ end
741
+
742
+ ##
743
+ # Decodes a <code>String</code> according to the rules for the
744
+ # <code>application/x-www-form-urlencoded</code> MIME type.
745
+ #
746
+ # @param [String, #to_str] encoded_value
747
+ # The form values to decode.
748
+ #
749
+ # @return [Array]
750
+ # The decoded values.
751
+ # This is not a <code>Hash</code> because of the possibility for
752
+ # duplicate keys.
753
+ def self.form_unencode(encoded_value)
754
+ if !encoded_value.respond_to?(:to_str)
755
+ raise TypeError, "Can't convert #{encoded_value.class} into String."
756
+ end
757
+ encoded_value = encoded_value.to_str
758
+ split_values = encoded_value.split("&").map do |pair|
759
+ pair.split("=", 2)
760
+ end
761
+ return split_values.map do |(key, value)|
762
+ [
763
+ key ? self.unencode_component(
764
+ key.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n") : nil,
765
+ value ? (self.unencode_component(
766
+ value.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n")) : nil
767
+ ]
768
+ end
769
+ end
770
+
771
+ ##
772
+ # Creates a new uri object from component parts.
773
+ #
774
+ # @option [String, #to_str] scheme The scheme component.
775
+ # @option [String, #to_str] user The user component.
776
+ # @option [String, #to_str] password The password component.
777
+ # @option [String, #to_str] userinfo
778
+ # The userinfo component. If this is supplied, the user and password
779
+ # components must be omitted.
780
+ # @option [String, #to_str] host The host component.
781
+ # @option [String, #to_str] port The port component.
782
+ # @option [String, #to_str] authority
783
+ # The authority component. If this is supplied, the user, password,
784
+ # userinfo, host, and port components must be omitted.
785
+ # @option [String, #to_str] path The path component.
786
+ # @option [String, #to_str] query The query component.
787
+ # @option [String, #to_str] fragment The fragment component.
788
+ #
789
+ # @return [Addressable::URI] The constructed URI object.
790
+ def initialize(options={})
791
+ if options.has_key?(:authority)
792
+ if (options.keys & [:userinfo, :user, :password, :host, :port]).any?
793
+ raise ArgumentError,
794
+ "Cannot specify both an authority and any of the components " +
795
+ "within the authority."
796
+ end
797
+ end
798
+ if options.has_key?(:userinfo)
799
+ if (options.keys & [:user, :password]).any?
800
+ raise ArgumentError,
801
+ "Cannot specify both a userinfo and either the user or password."
802
+ end
803
+ end
804
+
805
+ self.defer_validation do
806
+ # Bunch of crazy logic required because of the composite components
807
+ # like userinfo and authority.
808
+ self.scheme = options[:scheme] if options[:scheme]
809
+ self.user = options[:user] if options[:user]
810
+ self.password = options[:password] if options[:password]
811
+ self.userinfo = options[:userinfo] if options[:userinfo]
812
+ self.host = options[:host] if options[:host]
813
+ self.port = options[:port] if options[:port]
814
+ self.authority = options[:authority] if options[:authority]
815
+ self.path = options[:path] if options[:path]
816
+ self.query = options[:query] if options[:query]
817
+ self.query_values = options[:query_values] if options[:query_values]
818
+ self.fragment = options[:fragment] if options[:fragment]
819
+ end
820
+ self.to_s
821
+ end
822
+
823
+ ##
824
+ # Freeze URI, initializing instance variables.
825
+ #
826
+ # @return [Addressable::URI] The frozen URI object.
827
+ def freeze
828
+ self.normalized_scheme
829
+ self.normalized_user
830
+ self.normalized_password
831
+ self.normalized_userinfo
832
+ self.normalized_host
833
+ self.normalized_port
834
+ self.normalized_authority
835
+ self.normalized_site
836
+ self.normalized_path
837
+ self.normalized_query
838
+ self.normalized_fragment
839
+ self.hash
840
+ super
841
+ end
842
+
843
+ ##
844
+ # The scheme component for this URI.
845
+ #
846
+ # @return [String] The scheme component.
847
+ def scheme
848
+ return defined?(@scheme) ? @scheme : nil
849
+ end
850
+
851
+ ##
852
+ # The scheme component for this URI, normalized.
853
+ #
854
+ # @return [String] The scheme component, normalized.
855
+ def normalized_scheme
856
+ return nil unless self.scheme
857
+ @normalized_scheme ||= begin
858
+ if self.scheme =~ /^\s*ssh\+svn\s*$/i
859
+ "svn+ssh".dup
860
+ else
861
+ Addressable::URI.normalize_component(
862
+ self.scheme.strip.downcase,
863
+ Addressable::URI::CharacterClasses::SCHEME
864
+ )
865
+ end
866
+ end
867
+ # All normalized values should be UTF-8
868
+ @normalized_scheme.force_encoding(Encoding::UTF_8) if @normalized_scheme
869
+ @normalized_scheme
870
+ end
871
+
872
+ ##
873
+ # Sets the scheme component for this URI.
874
+ #
875
+ # @param [String, #to_str] new_scheme The new scheme component.
876
+ def scheme=(new_scheme)
877
+ if new_scheme && !new_scheme.respond_to?(:to_str)
878
+ raise TypeError, "Can't convert #{new_scheme.class} into String."
879
+ elsif new_scheme
880
+ new_scheme = new_scheme.to_str
881
+ end
882
+ if new_scheme && new_scheme !~ /\A[a-z][a-z0-9\.\+\-]*\z/i
883
+ raise InvalidURIError, "Invalid scheme format: #{new_scheme}"
884
+ end
885
+ @scheme = new_scheme
886
+ @scheme = nil if @scheme.to_s.strip.empty?
887
+
888
+ # Reset dependent values
889
+ remove_instance_variable(:@normalized_scheme) if defined?(@normalized_scheme)
890
+ remove_composite_values
891
+
892
+ # Ensure we haven't created an invalid URI
893
+ validate()
894
+ end
895
+
896
+ ##
897
+ # The user component for this URI.
898
+ #
899
+ # @return [String] The user component.
900
+ def user
901
+ return defined?(@user) ? @user : nil
902
+ end
903
+
904
+ ##
905
+ # The user component for this URI, normalized.
906
+ #
907
+ # @return [String] The user component, normalized.
908
+ def normalized_user
909
+ return nil unless self.user
910
+ return @normalized_user if defined?(@normalized_user)
911
+ @normalized_user ||= begin
912
+ if normalized_scheme =~ /https?/ && self.user.strip.empty? &&
913
+ (!self.password || self.password.strip.empty?)
914
+ nil
915
+ else
916
+ Addressable::URI.normalize_component(
917
+ self.user.strip,
918
+ Addressable::URI::CharacterClasses::UNRESERVED
919
+ )
920
+ end
921
+ end
922
+ # All normalized values should be UTF-8
923
+ @normalized_user.force_encoding(Encoding::UTF_8) if @normalized_user
924
+ @normalized_user
925
+ end
926
+
927
+ ##
928
+ # Sets the user component for this URI.
929
+ #
930
+ # @param [String, #to_str] new_user The new user component.
931
+ def user=(new_user)
932
+ if new_user && !new_user.respond_to?(:to_str)
933
+ raise TypeError, "Can't convert #{new_user.class} into String."
934
+ end
935
+ @user = new_user ? new_user.to_str : nil
936
+
937
+ # You can't have a nil user with a non-nil password
938
+ if password != nil
939
+ @user = EMPTY_STR if @user.nil?
940
+ end
941
+
942
+ # Reset dependent values
943
+ remove_instance_variable(:@userinfo) if defined?(@userinfo)
944
+ remove_instance_variable(:@normalized_userinfo) if defined?(@normalized_userinfo)
945
+ remove_instance_variable(:@authority) if defined?(@authority)
946
+ remove_instance_variable(:@normalized_user) if defined?(@normalized_user)
947
+ remove_composite_values
948
+
949
+ # Ensure we haven't created an invalid URI
950
+ validate()
951
+ end
952
+
953
+ ##
954
+ # The password component for this URI.
955
+ #
956
+ # @return [String] The password component.
957
+ def password
958
+ return defined?(@password) ? @password : nil
959
+ end
960
+
961
+ ##
962
+ # The password component for this URI, normalized.
963
+ #
964
+ # @return [String] The password component, normalized.
965
+ def normalized_password
966
+ return nil unless self.password
967
+ return @normalized_password if defined?(@normalized_password)
968
+ @normalized_password ||= begin
969
+ if self.normalized_scheme =~ /https?/ && self.password.strip.empty? &&
970
+ (!self.user || self.user.strip.empty?)
971
+ nil
972
+ else
973
+ Addressable::URI.normalize_component(
974
+ self.password.strip,
975
+ Addressable::URI::CharacterClasses::UNRESERVED
976
+ )
977
+ end
978
+ end
979
+ # All normalized values should be UTF-8
980
+ if @normalized_password
981
+ @normalized_password.force_encoding(Encoding::UTF_8)
982
+ end
983
+ @normalized_password
984
+ end
985
+
986
+ ##
987
+ # Sets the password component for this URI.
988
+ #
989
+ # @param [String, #to_str] new_password The new password component.
990
+ def password=(new_password)
991
+ if new_password && !new_password.respond_to?(:to_str)
992
+ raise TypeError, "Can't convert #{new_password.class} into String."
993
+ end
994
+ @password = new_password ? new_password.to_str : nil
995
+
996
+ # You can't have a nil user with a non-nil password
997
+ @password ||= nil
998
+ @user ||= nil
999
+ if @password != nil
1000
+ @user = EMPTY_STR if @user.nil?
1001
+ end
1002
+
1003
+ # Reset dependent values
1004
+ remove_instance_variable(:@userinfo) if defined?(@userinfo)
1005
+ remove_instance_variable(:@normalized_userinfo) if defined?(@normalized_userinfo)
1006
+ remove_instance_variable(:@authority) if defined?(@authority)
1007
+ remove_instance_variable(:@normalized_password) if defined?(@normalized_password)
1008
+ remove_composite_values
1009
+
1010
+ # Ensure we haven't created an invalid URI
1011
+ validate()
1012
+ end
1013
+
1014
+ ##
1015
+ # The userinfo component for this URI.
1016
+ # Combines the user and password components.
1017
+ #
1018
+ # @return [String] The userinfo component.
1019
+ def userinfo
1020
+ current_user = self.user
1021
+ current_password = self.password
1022
+ (current_user || current_password) && @userinfo ||= begin
1023
+ if current_user && current_password
1024
+ "#{current_user}:#{current_password}"
1025
+ elsif current_user && !current_password
1026
+ "#{current_user}"
1027
+ end
1028
+ end
1029
+ end
1030
+
1031
+ ##
1032
+ # The userinfo component for this URI, normalized.
1033
+ #
1034
+ # @return [String] The userinfo component, normalized.
1035
+ def normalized_userinfo
1036
+ return nil unless self.userinfo
1037
+ return @normalized_userinfo if defined?(@normalized_userinfo)
1038
+ @normalized_userinfo ||= begin
1039
+ current_user = self.normalized_user
1040
+ current_password = self.normalized_password
1041
+ if !current_user && !current_password
1042
+ nil
1043
+ elsif current_user && current_password
1044
+ "#{current_user}:#{current_password}".dup
1045
+ elsif current_user && !current_password
1046
+ "#{current_user}".dup
1047
+ end
1048
+ end
1049
+ # All normalized values should be UTF-8
1050
+ if @normalized_userinfo
1051
+ @normalized_userinfo.force_encoding(Encoding::UTF_8)
1052
+ end
1053
+ @normalized_userinfo
1054
+ end
1055
+
1056
+ ##
1057
+ # Sets the userinfo component for this URI.
1058
+ #
1059
+ # @param [String, #to_str] new_userinfo The new userinfo component.
1060
+ def userinfo=(new_userinfo)
1061
+ if new_userinfo && !new_userinfo.respond_to?(:to_str)
1062
+ raise TypeError, "Can't convert #{new_userinfo.class} into String."
1063
+ end
1064
+ new_user, new_password = if new_userinfo
1065
+ [
1066
+ new_userinfo.to_str.strip[/^(.*):/, 1],
1067
+ new_userinfo.to_str.strip[/:(.*)$/, 1]
1068
+ ]
1069
+ else
1070
+ [nil, nil]
1071
+ end
1072
+
1073
+ # Password assigned first to ensure validity in case of nil
1074
+ self.password = new_password
1075
+ self.user = new_user
1076
+
1077
+ # Reset dependent values
1078
+ remove_instance_variable(:@authority) if defined?(@authority)
1079
+ remove_composite_values
1080
+
1081
+ # Ensure we haven't created an invalid URI
1082
+ validate()
1083
+ end
1084
+
1085
+ ##
1086
+ # The host component for this URI.
1087
+ #
1088
+ # @return [String] The host component.
1089
+ def host
1090
+ return defined?(@host) ? @host : nil
1091
+ end
1092
+
1093
+ ##
1094
+ # The host component for this URI, normalized.
1095
+ #
1096
+ # @return [String] The host component, normalized.
1097
+ def normalized_host
1098
+ return nil unless self.host
1099
+ @normalized_host ||= begin
1100
+ if !self.host.strip.empty?
1101
+ result = ::Addressable::IDNA.to_ascii(
1102
+ URI.unencode_component(self.host.strip.downcase)
1103
+ )
1104
+ if result =~ /[^\.]\.$/
1105
+ # Single trailing dots are unnecessary.
1106
+ result = result[0...-1]
1107
+ end
1108
+ result = Addressable::URI.normalize_component(
1109
+ result,
1110
+ CharacterClasses::HOST)
1111
+ result
1112
+ else
1113
+ EMPTY_STR.dup
1114
+ end
1115
+ end
1116
+ # All normalized values should be UTF-8
1117
+ @normalized_host.force_encoding(Encoding::UTF_8) if @normalized_host
1118
+ @normalized_host
1119
+ end
1120
+
1121
+ ##
1122
+ # Sets the host component for this URI.
1123
+ #
1124
+ # @param [String, #to_str] new_host The new host component.
1125
+ def host=(new_host)
1126
+ if new_host && !new_host.respond_to?(:to_str)
1127
+ raise TypeError, "Can't convert #{new_host.class} into String."
1128
+ end
1129
+ @host = new_host ? new_host.to_str : nil
1130
+
1131
+ # Reset dependent values
1132
+ remove_instance_variable(:@authority) if defined?(@authority)
1133
+ remove_instance_variable(:@normalized_host) if defined?(@normalized_host)
1134
+ remove_composite_values
1135
+
1136
+ # Ensure we haven't created an invalid URI
1137
+ validate()
1138
+ end
1139
+
1140
+ ##
1141
+ # This method is same as URI::Generic#host except
1142
+ # brackets for IPv6 (and 'IPvFuture') addresses are removed.
1143
+ #
1144
+ # @see Addressable::URI#host
1145
+ #
1146
+ # @return [String] The hostname for this URI.
1147
+ def hostname
1148
+ v = self.host
1149
+ /\A\[(.*)\]\z/ =~ v ? $1 : v
1150
+ end
1151
+
1152
+ ##
1153
+ # This method is same as URI::Generic#host= except
1154
+ # the argument can be a bare IPv6 address (or 'IPvFuture').
1155
+ #
1156
+ # @see Addressable::URI#host=
1157
+ #
1158
+ # @param [String, #to_str] new_hostname The new hostname for this URI.
1159
+ def hostname=(new_hostname)
1160
+ if new_hostname &&
1161
+ (new_hostname.respond_to?(:ipv4?) || new_hostname.respond_to?(:ipv6?))
1162
+ new_hostname = new_hostname.to_s
1163
+ elsif new_hostname && !new_hostname.respond_to?(:to_str)
1164
+ raise TypeError, "Can't convert #{new_hostname.class} into String."
1165
+ end
1166
+ v = new_hostname ? new_hostname.to_str : nil
1167
+ v = "[#{v}]" if /\A\[.*\]\z/ !~ v && /:/ =~ v
1168
+ self.host = v
1169
+ end
1170
+
1171
+ ##
1172
+ # Returns the top-level domain for this host.
1173
+ #
1174
+ # @example
1175
+ # Addressable::URI.parse("www.example.co.uk").tld # => "co.uk"
1176
+ def tld
1177
+ PublicSuffix.parse(self.host, ignore_private: true).tld
1178
+ end
1179
+
1180
+ ##
1181
+ # Sets the top-level domain for this URI.
1182
+ #
1183
+ # @param [String, #to_str] new_tld The new top-level domain.
1184
+ def tld=(new_tld)
1185
+ replaced_tld = domain.sub(/#{tld}\z/, new_tld)
1186
+ self.host = PublicSuffix::Domain.new(replaced_tld).to_s
1187
+ end
1188
+
1189
+ ##
1190
+ # Returns the public suffix domain for this host.
1191
+ #
1192
+ # @example
1193
+ # Addressable::URI.parse("www.example.co.uk").domain # => "example.co.uk"
1194
+ def domain
1195
+ PublicSuffix.domain(self.host, ignore_private: true)
1196
+ end
1197
+
1198
+ ##
1199
+ # The authority component for this URI.
1200
+ # Combines the user, password, host, and port components.
1201
+ #
1202
+ # @return [String] The authority component.
1203
+ def authority
1204
+ self.host && @authority ||= begin
1205
+ authority = String.new
1206
+ if self.userinfo != nil
1207
+ authority << "#{self.userinfo}@"
1208
+ end
1209
+ authority << self.host
1210
+ if self.port != nil
1211
+ authority << ":#{self.port}"
1212
+ end
1213
+ authority
1214
+ end
1215
+ end
1216
+
1217
+ ##
1218
+ # The authority component for this URI, normalized.
1219
+ #
1220
+ # @return [String] The authority component, normalized.
1221
+ def normalized_authority
1222
+ return nil unless self.authority
1223
+ @normalized_authority ||= begin
1224
+ authority = String.new
1225
+ if self.normalized_userinfo != nil
1226
+ authority << "#{self.normalized_userinfo}@"
1227
+ end
1228
+ authority << self.normalized_host
1229
+ if self.normalized_port != nil
1230
+ authority << ":#{self.normalized_port}"
1231
+ end
1232
+ authority
1233
+ end
1234
+ # All normalized values should be UTF-8
1235
+ if @normalized_authority
1236
+ @normalized_authority.force_encoding(Encoding::UTF_8)
1237
+ end
1238
+ @normalized_authority
1239
+ end
1240
+
1241
+ ##
1242
+ # Sets the authority component for this URI.
1243
+ #
1244
+ # @param [String, #to_str] new_authority The new authority component.
1245
+ def authority=(new_authority)
1246
+ if new_authority
1247
+ if !new_authority.respond_to?(:to_str)
1248
+ raise TypeError, "Can't convert #{new_authority.class} into String."
1249
+ end
1250
+ new_authority = new_authority.to_str
1251
+ new_userinfo = new_authority[/^([^\[\]]*)@/, 1]
1252
+ if new_userinfo
1253
+ new_user = new_userinfo.strip[/^([^:]*):?/, 1]
1254
+ new_password = new_userinfo.strip[/:(.*)$/, 1]
1255
+ end
1256
+ new_host = new_authority.sub(
1257
+ /^([^\[\]]*)@/, EMPTY_STR
1258
+ ).sub(
1259
+ /:([^:@\[\]]*?)$/, EMPTY_STR
1260
+ )
1261
+ new_port =
1262
+ new_authority[/:([^:@\[\]]*?)$/, 1]
1263
+ end
1264
+
1265
+ # Password assigned first to ensure validity in case of nil
1266
+ self.password = defined?(new_password) ? new_password : nil
1267
+ self.user = defined?(new_user) ? new_user : nil
1268
+ self.host = defined?(new_host) ? new_host : nil
1269
+ self.port = defined?(new_port) ? new_port : nil
1270
+
1271
+ # Reset dependent values
1272
+ remove_instance_variable(:@userinfo) if defined?(@userinfo)
1273
+ remove_instance_variable(:@normalized_userinfo) if defined?(@normalized_userinfo)
1274
+ remove_composite_values
1275
+
1276
+ # Ensure we haven't created an invalid URI
1277
+ validate()
1278
+ end
1279
+
1280
+ ##
1281
+ # The origin for this URI, serialized to ASCII, as per
1282
+ # RFC 6454, section 6.2.
1283
+ #
1284
+ # @return [String] The serialized origin.
1285
+ def origin
1286
+ if self.scheme && self.authority
1287
+ if self.normalized_port
1288
+ "#{self.normalized_scheme}://#{self.normalized_host}" +
1289
+ ":#{self.normalized_port}"
1290
+ else
1291
+ "#{self.normalized_scheme}://#{self.normalized_host}"
1292
+ end
1293
+ else
1294
+ "null"
1295
+ end
1296
+ end
1297
+
1298
+ ##
1299
+ # Sets the origin for this URI, serialized to ASCII, as per
1300
+ # RFC 6454, section 6.2. This assignment will reset the `userinfo`
1301
+ # component.
1302
+ #
1303
+ # @param [String, #to_str] new_origin The new origin component.
1304
+ def origin=(new_origin)
1305
+ if new_origin
1306
+ if !new_origin.respond_to?(:to_str)
1307
+ raise TypeError, "Can't convert #{new_origin.class} into String."
1308
+ end
1309
+ new_origin = new_origin.to_str
1310
+ new_scheme = new_origin[/^([^:\/?#]+):\/\//, 1]
1311
+ unless new_scheme
1312
+ raise InvalidURIError, 'An origin cannot omit the scheme.'
1313
+ end
1314
+ new_host = new_origin[/:\/\/([^\/?#:]+)/, 1]
1315
+ unless new_host
1316
+ raise InvalidURIError, 'An origin cannot omit the host.'
1317
+ end
1318
+ new_port = new_origin[/:([^:@\[\]\/]*?)$/, 1]
1319
+ end
1320
+
1321
+ self.scheme = defined?(new_scheme) ? new_scheme : nil
1322
+ self.host = defined?(new_host) ? new_host : nil
1323
+ self.port = defined?(new_port) ? new_port : nil
1324
+ self.userinfo = nil
1325
+
1326
+ # Reset dependent values
1327
+ remove_instance_variable(:@userinfo) if defined?(@userinfo)
1328
+ remove_instance_variable(:@normalized_userinfo) if defined?(@normalized_userinfo)
1329
+ remove_instance_variable(:@authority) if defined?(@authority)
1330
+ remove_instance_variable(:@normalized_authority) if defined?(@normalized_authority)
1331
+ remove_composite_values
1332
+
1333
+ # Ensure we haven't created an invalid URI
1334
+ validate()
1335
+ end
1336
+
1337
+ # Returns an array of known ip-based schemes. These schemes typically
1338
+ # use a similar URI form:
1339
+ # <code>//<user>:<password>@<host>:<port>/<url-path></code>
1340
+ def self.ip_based_schemes
1341
+ return self.port_mapping.keys
1342
+ end
1343
+
1344
+ # Returns a hash of common IP-based schemes and their default port
1345
+ # numbers. Adding new schemes to this hash, as necessary, will allow
1346
+ # for better URI normalization.
1347
+ def self.port_mapping
1348
+ PORT_MAPPING
1349
+ end
1350
+
1351
+ ##
1352
+ # The port component for this URI.
1353
+ # This is the port number actually given in the URI. This does not
1354
+ # infer port numbers from default values.
1355
+ #
1356
+ # @return [Integer] The port component.
1357
+ def port
1358
+ return defined?(@port) ? @port : nil
1359
+ end
1360
+
1361
+ ##
1362
+ # The port component for this URI, normalized.
1363
+ #
1364
+ # @return [Integer] The port component, normalized.
1365
+ def normalized_port
1366
+ return nil unless self.port
1367
+ return @normalized_port if defined?(@normalized_port)
1368
+ @normalized_port ||= begin
1369
+ if URI.port_mapping[self.normalized_scheme] == self.port
1370
+ nil
1371
+ else
1372
+ self.port
1373
+ end
1374
+ end
1375
+ end
1376
+
1377
+ ##
1378
+ # Sets the port component for this URI.
1379
+ #
1380
+ # @param [String, Integer, #to_s] new_port The new port component.
1381
+ def port=(new_port)
1382
+ if new_port != nil && new_port.respond_to?(:to_str)
1383
+ new_port = Addressable::URI.unencode_component(new_port.to_str)
1384
+ end
1385
+
1386
+ if new_port.respond_to?(:valid_encoding?) && !new_port.valid_encoding?
1387
+ raise InvalidURIError, "Invalid encoding in port"
1388
+ end
1389
+
1390
+ if new_port != nil && !(new_port.to_s =~ /^\d+$/)
1391
+ raise InvalidURIError,
1392
+ "Invalid port number: #{new_port.inspect}"
1393
+ end
1394
+
1395
+ @port = new_port.to_s.to_i
1396
+ @port = nil if @port == 0
1397
+
1398
+ # Reset dependent values
1399
+ remove_instance_variable(:@authority) if defined?(@authority)
1400
+ remove_instance_variable(:@normalized_port) if defined?(@normalized_port)
1401
+ remove_composite_values
1402
+
1403
+ # Ensure we haven't created an invalid URI
1404
+ validate()
1405
+ end
1406
+
1407
+ ##
1408
+ # The inferred port component for this URI.
1409
+ # This method will normalize to the default port for the URI's scheme if
1410
+ # the port isn't explicitly specified in the URI.
1411
+ #
1412
+ # @return [Integer] The inferred port component.
1413
+ def inferred_port
1414
+ if self.port.to_i == 0
1415
+ self.default_port
1416
+ else
1417
+ self.port.to_i
1418
+ end
1419
+ end
1420
+
1421
+ ##
1422
+ # The default port for this URI's scheme.
1423
+ # This method will always returns the default port for the URI's scheme
1424
+ # regardless of the presence of an explicit port in the URI.
1425
+ #
1426
+ # @return [Integer] The default port.
1427
+ def default_port
1428
+ URI.port_mapping[self.scheme.strip.downcase] if self.scheme
1429
+ end
1430
+
1431
+ ##
1432
+ # The combination of components that represent a site.
1433
+ # Combines the scheme, user, password, host, and port components.
1434
+ # Primarily useful for HTTP and HTTPS.
1435
+ #
1436
+ # For example, <code>"http://example.com/path?query"</code> would have a
1437
+ # <code>site</code> value of <code>"http://example.com"</code>.
1438
+ #
1439
+ # @return [String] The components that identify a site.
1440
+ def site
1441
+ (self.scheme || self.authority) && @site ||= begin
1442
+ site_string = "".dup
1443
+ site_string << "#{self.scheme}:" if self.scheme != nil
1444
+ site_string << "//#{self.authority}" if self.authority != nil
1445
+ site_string
1446
+ end
1447
+ end
1448
+
1449
+ ##
1450
+ # The normalized combination of components that represent a site.
1451
+ # Combines the scheme, user, password, host, and port components.
1452
+ # Primarily useful for HTTP and HTTPS.
1453
+ #
1454
+ # For example, <code>"http://example.com/path?query"</code> would have a
1455
+ # <code>site</code> value of <code>"http://example.com"</code>.
1456
+ #
1457
+ # @return [String] The normalized components that identify a site.
1458
+ def normalized_site
1459
+ return nil unless self.site
1460
+ @normalized_site ||= begin
1461
+ site_string = "".dup
1462
+ if self.normalized_scheme != nil
1463
+ site_string << "#{self.normalized_scheme}:"
1464
+ end
1465
+ if self.normalized_authority != nil
1466
+ site_string << "//#{self.normalized_authority}"
1467
+ end
1468
+ site_string
1469
+ end
1470
+ # All normalized values should be UTF-8
1471
+ @normalized_site.force_encoding(Encoding::UTF_8) if @normalized_site
1472
+ @normalized_site
1473
+ end
1474
+
1475
+ ##
1476
+ # Sets the site value for this URI.
1477
+ #
1478
+ # @param [String, #to_str] new_site The new site value.
1479
+ def site=(new_site)
1480
+ if new_site
1481
+ if !new_site.respond_to?(:to_str)
1482
+ raise TypeError, "Can't convert #{new_site.class} into String."
1483
+ end
1484
+ new_site = new_site.to_str
1485
+ # These two regular expressions derived from the primary parsing
1486
+ # expression
1487
+ self.scheme = new_site[/^(?:([^:\/?#]+):)?(?:\/\/(?:[^\/?#]*))?$/, 1]
1488
+ self.authority = new_site[
1489
+ /^(?:(?:[^:\/?#]+):)?(?:\/\/([^\/?#]*))?$/, 1
1490
+ ]
1491
+ else
1492
+ self.scheme = nil
1493
+ self.authority = nil
1494
+ end
1495
+ end
1496
+
1497
+ ##
1498
+ # The path component for this URI.
1499
+ #
1500
+ # @return [String] The path component.
1501
+ def path
1502
+ return defined?(@path) ? @path : EMPTY_STR
1503
+ end
1504
+
1505
+ NORMPATH = /^(?!\/)[^\/:]*:.*$/
1506
+ ##
1507
+ # The path component for this URI, normalized.
1508
+ #
1509
+ # @return [String] The path component, normalized.
1510
+ def normalized_path
1511
+ @normalized_path ||= begin
1512
+ path = self.path.to_s
1513
+ if self.scheme == nil && path =~ NORMPATH
1514
+ # Relative paths with colons in the first segment are ambiguous.
1515
+ path = path.sub(":", "%2F")
1516
+ end
1517
+ # String#split(delimeter, -1) uses the more strict splitting behavior
1518
+ # found by default in Python.
1519
+ result = path.strip.split(SLASH, -1).map do |segment|
1520
+ Addressable::URI.normalize_component(
1521
+ segment,
1522
+ Addressable::URI::CharacterClasses::PCHAR
1523
+ )
1524
+ end.join(SLASH)
1525
+
1526
+ result = URI.normalize_path(result)
1527
+ if result.empty? &&
1528
+ ["http", "https", "ftp", "tftp"].include?(self.normalized_scheme)
1529
+ result = SLASH.dup
1530
+ end
1531
+ result
1532
+ end
1533
+ # All normalized values should be UTF-8
1534
+ @normalized_path.force_encoding(Encoding::UTF_8) if @normalized_path
1535
+ @normalized_path
1536
+ end
1537
+
1538
+ ##
1539
+ # Sets the path component for this URI.
1540
+ #
1541
+ # @param [String, #to_str] new_path The new path component.
1542
+ def path=(new_path)
1543
+ if new_path && !new_path.respond_to?(:to_str)
1544
+ raise TypeError, "Can't convert #{new_path.class} into String."
1545
+ end
1546
+ @path = (new_path || EMPTY_STR).to_str
1547
+ if !@path.empty? && @path[0..0] != SLASH && host != nil
1548
+ @path = "/#{@path}"
1549
+ end
1550
+
1551
+ # Reset dependent values
1552
+ remove_instance_variable(:@normalized_path) if defined?(@normalized_path)
1553
+ remove_composite_values
1554
+
1555
+ # Ensure we haven't created an invalid URI
1556
+ validate()
1557
+ end
1558
+
1559
+ ##
1560
+ # The basename, if any, of the file in the path component.
1561
+ #
1562
+ # @return [String] The path's basename.
1563
+ def basename
1564
+ # Path cannot be nil
1565
+ return File.basename(self.path).sub(/;[^\/]*$/, EMPTY_STR)
1566
+ end
1567
+
1568
+ ##
1569
+ # The extname, if any, of the file in the path component.
1570
+ # Empty string if there is no extension.
1571
+ #
1572
+ # @return [String] The path's extname.
1573
+ def extname
1574
+ return nil unless self.path
1575
+ return File.extname(self.basename)
1576
+ end
1577
+
1578
+ ##
1579
+ # The query component for this URI.
1580
+ #
1581
+ # @return [String] The query component.
1582
+ def query
1583
+ return defined?(@query) ? @query : nil
1584
+ end
1585
+
1586
+ ##
1587
+ # The query component for this URI, normalized.
1588
+ #
1589
+ # @return [String] The query component, normalized.
1590
+ def normalized_query(*flags)
1591
+ return nil unless self.query
1592
+ return @normalized_query if defined?(@normalized_query)
1593
+ @normalized_query ||= begin
1594
+ modified_query_class = Addressable::URI::CharacterClasses::QUERY.dup
1595
+ # Make sure possible key-value pair delimiters are escaped.
1596
+ modified_query_class.sub!("\\&", "").sub!("\\;", "")
1597
+ pairs = (self.query || "").split("&", -1)
1598
+ pairs.sort! if flags.include?(:sorted)
1599
+ component = pairs.map do |pair|
1600
+ Addressable::URI.normalize_component(pair, modified_query_class, "+")
1601
+ end.join("&")
1602
+ component == "" ? nil : component
1603
+ end
1604
+ # All normalized values should be UTF-8
1605
+ @normalized_query.force_encoding(Encoding::UTF_8) if @normalized_query
1606
+ @normalized_query
1607
+ end
1608
+
1609
+ ##
1610
+ # Sets the query component for this URI.
1611
+ #
1612
+ # @param [String, #to_str] new_query The new query component.
1613
+ def query=(new_query)
1614
+ if new_query && !new_query.respond_to?(:to_str)
1615
+ raise TypeError, "Can't convert #{new_query.class} into String."
1616
+ end
1617
+ @query = new_query ? new_query.to_str : nil
1618
+
1619
+ # Reset dependent values
1620
+ remove_instance_variable(:@normalized_query) if defined?(@normalized_query)
1621
+ remove_composite_values
1622
+ end
1623
+
1624
+ ##
1625
+ # Converts the query component to a Hash value.
1626
+ #
1627
+ # @param [Class] return_type The return type desired. Value must be either
1628
+ # `Hash` or `Array`.
1629
+ #
1630
+ # @return [Hash, Array, nil] The query string parsed as a Hash or Array
1631
+ # or nil if the query string is blank.
1632
+ #
1633
+ # @example
1634
+ # Addressable::URI.parse("?one=1&two=2&three=3").query_values
1635
+ # #=> {"one" => "1", "two" => "2", "three" => "3"}
1636
+ # Addressable::URI.parse("?one=two&one=three").query_values(Array)
1637
+ # #=> [["one", "two"], ["one", "three"]]
1638
+ # Addressable::URI.parse("?one=two&one=three").query_values(Hash)
1639
+ # #=> {"one" => "three"}
1640
+ # Addressable::URI.parse("?").query_values
1641
+ # #=> {}
1642
+ # Addressable::URI.parse("").query_values
1643
+ # #=> nil
1644
+ def query_values(return_type=Hash)
1645
+ empty_accumulator = Array == return_type ? [] : {}
1646
+ if return_type != Hash && return_type != Array
1647
+ raise ArgumentError, "Invalid return type. Must be Hash or Array."
1648
+ end
1649
+ return nil if self.query == nil
1650
+ split_query = self.query.split("&").map do |pair|
1651
+ pair.split("=", 2) if pair && !pair.empty?
1652
+ end.compact
1653
+ return split_query.inject(empty_accumulator.dup) do |accu, pair|
1654
+ # I'd rather use key/value identifiers instead of array lookups,
1655
+ # but in this case I really want to maintain the exact pair structure,
1656
+ # so it's best to make all changes in-place.
1657
+ pair[0] = URI.unencode_component(pair[0])
1658
+ if pair[1].respond_to?(:to_str)
1659
+ # I loathe the fact that I have to do this. Stupid HTML 4.01.
1660
+ # Treating '+' as a space was just an unbelievably bad idea.
1661
+ # There was nothing wrong with '%20'!
1662
+ # If it ain't broke, don't fix it!
1663
+ pair[1] = URI.unencode_component(pair[1].to_str.gsub(/\+/, " "))
1664
+ end
1665
+ if return_type == Hash
1666
+ accu[pair[0]] = pair[1]
1667
+ else
1668
+ accu << pair
1669
+ end
1670
+ accu
1671
+ end
1672
+ end
1673
+
1674
+ ##
1675
+ # Sets the query component for this URI from a Hash object.
1676
+ # An empty Hash or Array will result in an empty query string.
1677
+ #
1678
+ # @param [Hash, #to_hash, Array] new_query_values The new query values.
1679
+ #
1680
+ # @example
1681
+ # uri.query_values = {:a => "a", :b => ["c", "d", "e"]}
1682
+ # uri.query
1683
+ # # => "a=a&b=c&b=d&b=e"
1684
+ # uri.query_values = [['a', 'a'], ['b', 'c'], ['b', 'd'], ['b', 'e']]
1685
+ # uri.query
1686
+ # # => "a=a&b=c&b=d&b=e"
1687
+ # uri.query_values = [['a', 'a'], ['b', ['c', 'd', 'e']]]
1688
+ # uri.query
1689
+ # # => "a=a&b=c&b=d&b=e"
1690
+ # uri.query_values = [['flag'], ['key', 'value']]
1691
+ # uri.query
1692
+ # # => "flag&key=value"
1693
+ def query_values=(new_query_values)
1694
+ if new_query_values == nil
1695
+ self.query = nil
1696
+ return nil
1697
+ end
1698
+
1699
+ if !new_query_values.is_a?(Array)
1700
+ if !new_query_values.respond_to?(:to_hash)
1701
+ raise TypeError,
1702
+ "Can't convert #{new_query_values.class} into Hash."
1703
+ end
1704
+ new_query_values = new_query_values.to_hash
1705
+ new_query_values = new_query_values.map do |key, value|
1706
+ key = key.to_s if key.kind_of?(Symbol)
1707
+ [key, value]
1708
+ end
1709
+ # Useful default for OAuth and caching.
1710
+ # Only to be used for non-Array inputs. Arrays should preserve order.
1711
+ new_query_values.sort!
1712
+ end
1713
+
1714
+ # new_query_values have form [['key1', 'value1'], ['key2', 'value2']]
1715
+ buffer = "".dup
1716
+ new_query_values.each do |key, value|
1717
+ encoded_key = URI.encode_component(
1718
+ key, CharacterClasses::UNRESERVED
1719
+ )
1720
+ if value == nil
1721
+ buffer << "#{encoded_key}&"
1722
+ elsif value.kind_of?(Array)
1723
+ value.each do |sub_value|
1724
+ encoded_value = URI.encode_component(
1725
+ sub_value, CharacterClasses::UNRESERVED
1726
+ )
1727
+ buffer << "#{encoded_key}=#{encoded_value}&"
1728
+ end
1729
+ else
1730
+ encoded_value = URI.encode_component(
1731
+ value, CharacterClasses::UNRESERVED
1732
+ )
1733
+ buffer << "#{encoded_key}=#{encoded_value}&"
1734
+ end
1735
+ end
1736
+ self.query = buffer.chop
1737
+ end
1738
+
1739
+ ##
1740
+ # The HTTP request URI for this URI. This is the path and the
1741
+ # query string.
1742
+ #
1743
+ # @return [String] The request URI required for an HTTP request.
1744
+ def request_uri
1745
+ return nil if self.absolute? && self.scheme !~ /^https?$/i
1746
+ return (
1747
+ (!self.path.empty? ? self.path : SLASH) +
1748
+ (self.query ? "?#{self.query}" : EMPTY_STR)
1749
+ )
1750
+ end
1751
+
1752
+ ##
1753
+ # Sets the HTTP request URI for this URI.
1754
+ #
1755
+ # @param [String, #to_str] new_request_uri The new HTTP request URI.
1756
+ def request_uri=(new_request_uri)
1757
+ if !new_request_uri.respond_to?(:to_str)
1758
+ raise TypeError, "Can't convert #{new_request_uri.class} into String."
1759
+ end
1760
+ if self.absolute? && self.scheme !~ /^https?$/i
1761
+ raise InvalidURIError,
1762
+ "Cannot set an HTTP request URI for a non-HTTP URI."
1763
+ end
1764
+ new_request_uri = new_request_uri.to_str
1765
+ path_component = new_request_uri[/^([^\?]*)\??(?:.*)$/, 1]
1766
+ query_component = new_request_uri[/^(?:[^\?]*)\?(.*)$/, 1]
1767
+ path_component = path_component.to_s
1768
+ path_component = (!path_component.empty? ? path_component : SLASH)
1769
+ self.path = path_component
1770
+ self.query = query_component
1771
+
1772
+ # Reset dependent values
1773
+ remove_composite_values
1774
+ end
1775
+
1776
+ ##
1777
+ # The fragment component for this URI.
1778
+ #
1779
+ # @return [String] The fragment component.
1780
+ def fragment
1781
+ return defined?(@fragment) ? @fragment : nil
1782
+ end
1783
+
1784
+ ##
1785
+ # The fragment component for this URI, normalized.
1786
+ #
1787
+ # @return [String] The fragment component, normalized.
1788
+ def normalized_fragment
1789
+ return nil unless self.fragment
1790
+ return @normalized_fragment if defined?(@normalized_fragment)
1791
+ @normalized_fragment ||= begin
1792
+ component = Addressable::URI.normalize_component(
1793
+ self.fragment,
1794
+ Addressable::URI::CharacterClasses::FRAGMENT
1795
+ )
1796
+ component == "" ? nil : component
1797
+ end
1798
+ # All normalized values should be UTF-8
1799
+ if @normalized_fragment
1800
+ @normalized_fragment.force_encoding(Encoding::UTF_8)
1801
+ end
1802
+ @normalized_fragment
1803
+ end
1804
+
1805
+ ##
1806
+ # Sets the fragment component for this URI.
1807
+ #
1808
+ # @param [String, #to_str] new_fragment The new fragment component.
1809
+ def fragment=(new_fragment)
1810
+ if new_fragment && !new_fragment.respond_to?(:to_str)
1811
+ raise TypeError, "Can't convert #{new_fragment.class} into String."
1812
+ end
1813
+ @fragment = new_fragment ? new_fragment.to_str : nil
1814
+
1815
+ # Reset dependent values
1816
+ remove_instance_variable(:@normalized_fragment) if defined?(@normalized_fragment)
1817
+ remove_composite_values
1818
+
1819
+ # Ensure we haven't created an invalid URI
1820
+ validate()
1821
+ end
1822
+
1823
+ ##
1824
+ # Determines if the scheme indicates an IP-based protocol.
1825
+ #
1826
+ # @return [TrueClass, FalseClass]
1827
+ # <code>true</code> if the scheme indicates an IP-based protocol.
1828
+ # <code>false</code> otherwise.
1829
+ def ip_based?
1830
+ if self.scheme
1831
+ return URI.ip_based_schemes.include?(
1832
+ self.scheme.strip.downcase)
1833
+ end
1834
+ return false
1835
+ end
1836
+
1837
+ ##
1838
+ # Determines if the URI is relative.
1839
+ #
1840
+ # @return [TrueClass, FalseClass]
1841
+ # <code>true</code> if the URI is relative. <code>false</code>
1842
+ # otherwise.
1843
+ def relative?
1844
+ return self.scheme.nil?
1845
+ end
1846
+
1847
+ ##
1848
+ # Determines if the URI is absolute.
1849
+ #
1850
+ # @return [TrueClass, FalseClass]
1851
+ # <code>true</code> if the URI is absolute. <code>false</code>
1852
+ # otherwise.
1853
+ def absolute?
1854
+ return !relative?
1855
+ end
1856
+
1857
+ ##
1858
+ # Joins two URIs together.
1859
+ #
1860
+ # @param [String, Addressable::URI, #to_str] The URI to join with.
1861
+ #
1862
+ # @return [Addressable::URI] The joined URI.
1863
+ def join(uri)
1864
+ if !uri.respond_to?(:to_str)
1865
+ raise TypeError, "Can't convert #{uri.class} into String."
1866
+ end
1867
+ if !uri.kind_of?(URI)
1868
+ # Otherwise, convert to a String, then parse.
1869
+ uri = URI.parse(uri.to_str)
1870
+ end
1871
+ if uri.to_s.empty?
1872
+ return self.dup
1873
+ end
1874
+
1875
+ joined_scheme = nil
1876
+ joined_user = nil
1877
+ joined_password = nil
1878
+ joined_host = nil
1879
+ joined_port = nil
1880
+ joined_path = nil
1881
+ joined_query = nil
1882
+ joined_fragment = nil
1883
+
1884
+ # Section 5.2.2 of RFC 3986
1885
+ if uri.scheme != nil
1886
+ joined_scheme = uri.scheme
1887
+ joined_user = uri.user
1888
+ joined_password = uri.password
1889
+ joined_host = uri.host
1890
+ joined_port = uri.port
1891
+ joined_path = URI.normalize_path(uri.path)
1892
+ joined_query = uri.query
1893
+ else
1894
+ if uri.authority != nil
1895
+ joined_user = uri.user
1896
+ joined_password = uri.password
1897
+ joined_host = uri.host
1898
+ joined_port = uri.port
1899
+ joined_path = URI.normalize_path(uri.path)
1900
+ joined_query = uri.query
1901
+ else
1902
+ if uri.path == nil || uri.path.empty?
1903
+ joined_path = self.path
1904
+ if uri.query != nil
1905
+ joined_query = uri.query
1906
+ else
1907
+ joined_query = self.query
1908
+ end
1909
+ else
1910
+ if uri.path[0..0] == SLASH
1911
+ joined_path = URI.normalize_path(uri.path)
1912
+ else
1913
+ base_path = self.path.dup
1914
+ base_path = EMPTY_STR if base_path == nil
1915
+ base_path = URI.normalize_path(base_path)
1916
+
1917
+ # Section 5.2.3 of RFC 3986
1918
+ #
1919
+ # Removes the right-most path segment from the base path.
1920
+ if base_path =~ /\//
1921
+ base_path.sub!(/\/[^\/]+$/, SLASH)
1922
+ else
1923
+ base_path = EMPTY_STR
1924
+ end
1925
+
1926
+ # If the base path is empty and an authority segment has been
1927
+ # defined, use a base path of SLASH
1928
+ if base_path.empty? && self.authority != nil
1929
+ base_path = SLASH
1930
+ end
1931
+
1932
+ joined_path = URI.normalize_path(base_path + uri.path)
1933
+ end
1934
+ joined_query = uri.query
1935
+ end
1936
+ joined_user = self.user
1937
+ joined_password = self.password
1938
+ joined_host = self.host
1939
+ joined_port = self.port
1940
+ end
1941
+ joined_scheme = self.scheme
1942
+ end
1943
+ joined_fragment = uri.fragment
1944
+
1945
+ return self.class.new(
1946
+ :scheme => joined_scheme,
1947
+ :user => joined_user,
1948
+ :password => joined_password,
1949
+ :host => joined_host,
1950
+ :port => joined_port,
1951
+ :path => joined_path,
1952
+ :query => joined_query,
1953
+ :fragment => joined_fragment
1954
+ )
1955
+ end
1956
+ alias_method :+, :join
1957
+
1958
+ ##
1959
+ # Destructive form of <code>join</code>.
1960
+ #
1961
+ # @param [String, Addressable::URI, #to_str] The URI to join with.
1962
+ #
1963
+ # @return [Addressable::URI] The joined URI.
1964
+ #
1965
+ # @see Addressable::URI#join
1966
+ def join!(uri)
1967
+ replace_self(self.join(uri))
1968
+ end
1969
+
1970
+ ##
1971
+ # Merges a URI with a <code>Hash</code> of components.
1972
+ # This method has different behavior from <code>join</code>. Any
1973
+ # components present in the <code>hash</code> parameter will override the
1974
+ # original components. The path component is not treated specially.
1975
+ #
1976
+ # @param [Hash, Addressable::URI, #to_hash] The components to merge with.
1977
+ #
1978
+ # @return [Addressable::URI] The merged URI.
1979
+ #
1980
+ # @see Hash#merge
1981
+ def merge(hash)
1982
+ if !hash.respond_to?(:to_hash)
1983
+ raise TypeError, "Can't convert #{hash.class} into Hash."
1984
+ end
1985
+ hash = hash.to_hash
1986
+
1987
+ if hash.has_key?(:authority)
1988
+ if (hash.keys & [:userinfo, :user, :password, :host, :port]).any?
1989
+ raise ArgumentError,
1990
+ "Cannot specify both an authority and any of the components " +
1991
+ "within the authority."
1992
+ end
1993
+ end
1994
+ if hash.has_key?(:userinfo)
1995
+ if (hash.keys & [:user, :password]).any?
1996
+ raise ArgumentError,
1997
+ "Cannot specify both a userinfo and either the user or password."
1998
+ end
1999
+ end
2000
+
2001
+ uri = self.class.new
2002
+ uri.defer_validation do
2003
+ # Bunch of crazy logic required because of the composite components
2004
+ # like userinfo and authority.
2005
+ uri.scheme =
2006
+ hash.has_key?(:scheme) ? hash[:scheme] : self.scheme
2007
+ if hash.has_key?(:authority)
2008
+ uri.authority =
2009
+ hash.has_key?(:authority) ? hash[:authority] : self.authority
2010
+ end
2011
+ if hash.has_key?(:userinfo)
2012
+ uri.userinfo =
2013
+ hash.has_key?(:userinfo) ? hash[:userinfo] : self.userinfo
2014
+ end
2015
+ if !hash.has_key?(:userinfo) && !hash.has_key?(:authority)
2016
+ uri.user =
2017
+ hash.has_key?(:user) ? hash[:user] : self.user
2018
+ uri.password =
2019
+ hash.has_key?(:password) ? hash[:password] : self.password
2020
+ end
2021
+ if !hash.has_key?(:authority)
2022
+ uri.host =
2023
+ hash.has_key?(:host) ? hash[:host] : self.host
2024
+ uri.port =
2025
+ hash.has_key?(:port) ? hash[:port] : self.port
2026
+ end
2027
+ uri.path =
2028
+ hash.has_key?(:path) ? hash[:path] : self.path
2029
+ uri.query =
2030
+ hash.has_key?(:query) ? hash[:query] : self.query
2031
+ uri.fragment =
2032
+ hash.has_key?(:fragment) ? hash[:fragment] : self.fragment
2033
+ end
2034
+
2035
+ return uri
2036
+ end
2037
+
2038
+ ##
2039
+ # Destructive form of <code>merge</code>.
2040
+ #
2041
+ # @param [Hash, Addressable::URI, #to_hash] The components to merge with.
2042
+ #
2043
+ # @return [Addressable::URI] The merged URI.
2044
+ #
2045
+ # @see Addressable::URI#merge
2046
+ def merge!(uri)
2047
+ replace_self(self.merge(uri))
2048
+ end
2049
+
2050
+ ##
2051
+ # Returns the shortest normalized relative form of this URI that uses the
2052
+ # supplied URI as a base for resolution. Returns an absolute URI if
2053
+ # necessary. This is effectively the opposite of <code>route_to</code>.
2054
+ #
2055
+ # @param [String, Addressable::URI, #to_str] uri The URI to route from.
2056
+ #
2057
+ # @return [Addressable::URI]
2058
+ # The normalized relative URI that is equivalent to the original URI.
2059
+ def route_from(uri)
2060
+ uri = URI.parse(uri).normalize
2061
+ normalized_self = self.normalize
2062
+ if normalized_self.relative?
2063
+ raise ArgumentError, "Expected absolute URI, got: #{self.to_s}"
2064
+ end
2065
+ if uri.relative?
2066
+ raise ArgumentError, "Expected absolute URI, got: #{uri.to_s}"
2067
+ end
2068
+ if normalized_self == uri
2069
+ return Addressable::URI.parse("##{normalized_self.fragment}")
2070
+ end
2071
+ components = normalized_self.to_hash
2072
+ if normalized_self.scheme == uri.scheme
2073
+ components[:scheme] = nil
2074
+ if normalized_self.authority == uri.authority
2075
+ components[:user] = nil
2076
+ components[:password] = nil
2077
+ components[:host] = nil
2078
+ components[:port] = nil
2079
+ if normalized_self.path == uri.path
2080
+ components[:path] = nil
2081
+ if normalized_self.query == uri.query
2082
+ components[:query] = nil
2083
+ end
2084
+ else
2085
+ if uri.path != SLASH and components[:path]
2086
+ self_splitted_path = split_path(components[:path])
2087
+ uri_splitted_path = split_path(uri.path)
2088
+ self_dir = self_splitted_path.shift
2089
+ uri_dir = uri_splitted_path.shift
2090
+ while !self_splitted_path.empty? && !uri_splitted_path.empty? and self_dir == uri_dir
2091
+ self_dir = self_splitted_path.shift
2092
+ uri_dir = uri_splitted_path.shift
2093
+ end
2094
+ components[:path] = (uri_splitted_path.fill('..') + [self_dir] + self_splitted_path).join(SLASH)
2095
+ end
2096
+ end
2097
+ end
2098
+ end
2099
+ # Avoid network-path references.
2100
+ if components[:host] != nil
2101
+ components[:scheme] = normalized_self.scheme
2102
+ end
2103
+ return Addressable::URI.new(
2104
+ :scheme => components[:scheme],
2105
+ :user => components[:user],
2106
+ :password => components[:password],
2107
+ :host => components[:host],
2108
+ :port => components[:port],
2109
+ :path => components[:path],
2110
+ :query => components[:query],
2111
+ :fragment => components[:fragment]
2112
+ )
2113
+ end
2114
+
2115
+ ##
2116
+ # Returns the shortest normalized relative form of the supplied URI that
2117
+ # uses this URI as a base for resolution. Returns an absolute URI if
2118
+ # necessary. This is effectively the opposite of <code>route_from</code>.
2119
+ #
2120
+ # @param [String, Addressable::URI, #to_str] uri The URI to route to.
2121
+ #
2122
+ # @return [Addressable::URI]
2123
+ # The normalized relative URI that is equivalent to the supplied URI.
2124
+ def route_to(uri)
2125
+ return URI.parse(uri).route_from(self)
2126
+ end
2127
+
2128
+ ##
2129
+ # Returns a normalized URI object.
2130
+ #
2131
+ # NOTE: This method does not attempt to fully conform to specifications.
2132
+ # It exists largely to correct other people's failures to read the
2133
+ # specifications, and also to deal with caching issues since several
2134
+ # different URIs may represent the same resource and should not be
2135
+ # cached multiple times.
2136
+ #
2137
+ # @return [Addressable::URI] The normalized URI.
2138
+ def normalize
2139
+ # This is a special exception for the frequently misused feed
2140
+ # URI scheme.
2141
+ if normalized_scheme == "feed"
2142
+ if self.to_s =~ /^feed:\/*http:\/*/
2143
+ return URI.parse(
2144
+ self.to_s[/^feed:\/*(http:\/*.*)/, 1]
2145
+ ).normalize
2146
+ end
2147
+ end
2148
+
2149
+ return self.class.new(
2150
+ :scheme => normalized_scheme,
2151
+ :authority => normalized_authority,
2152
+ :path => normalized_path,
2153
+ :query => normalized_query,
2154
+ :fragment => normalized_fragment
2155
+ )
2156
+ end
2157
+
2158
+ ##
2159
+ # Destructively normalizes this URI object.
2160
+ #
2161
+ # @return [Addressable::URI] The normalized URI.
2162
+ #
2163
+ # @see Addressable::URI#normalize
2164
+ def normalize!
2165
+ replace_self(self.normalize)
2166
+ end
2167
+
2168
+ ##
2169
+ # Creates a URI suitable for display to users. If semantic attacks are
2170
+ # likely, the application should try to detect these and warn the user.
2171
+ # See <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>,
2172
+ # section 7.6 for more information.
2173
+ #
2174
+ # @return [Addressable::URI] A URI suitable for display purposes.
2175
+ def display_uri
2176
+ display_uri = self.normalize
2177
+ display_uri.host = ::Addressable::IDNA.to_unicode(display_uri.host)
2178
+ return display_uri
2179
+ end
2180
+
2181
+ ##
2182
+ # Returns <code>true</code> if the URI objects are equal. This method
2183
+ # normalizes both URIs before doing the comparison, and allows comparison
2184
+ # against <code>Strings</code>.
2185
+ #
2186
+ # @param [Object] uri The URI to compare.
2187
+ #
2188
+ # @return [TrueClass, FalseClass]
2189
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2190
+ # otherwise.
2191
+ def ===(uri)
2192
+ if uri.respond_to?(:normalize)
2193
+ uri_string = uri.normalize.to_s
2194
+ else
2195
+ begin
2196
+ uri_string = ::Addressable::URI.parse(uri).normalize.to_s
2197
+ rescue InvalidURIError, TypeError
2198
+ return false
2199
+ end
2200
+ end
2201
+ return self.normalize.to_s == uri_string
2202
+ end
2203
+
2204
+ ##
2205
+ # Returns <code>true</code> if the URI objects are equal. This method
2206
+ # normalizes both URIs before doing the comparison.
2207
+ #
2208
+ # @param [Object] uri The URI to compare.
2209
+ #
2210
+ # @return [TrueClass, FalseClass]
2211
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2212
+ # otherwise.
2213
+ def ==(uri)
2214
+ return false unless uri.kind_of?(URI)
2215
+ return self.normalize.to_s == uri.normalize.to_s
2216
+ end
2217
+
2218
+ ##
2219
+ # Returns <code>true</code> if the URI objects are equal. This method
2220
+ # does NOT normalize either URI before doing the comparison.
2221
+ #
2222
+ # @param [Object] uri The URI to compare.
2223
+ #
2224
+ # @return [TrueClass, FalseClass]
2225
+ # <code>true</code> if the URIs are equivalent, <code>false</code>
2226
+ # otherwise.
2227
+ def eql?(uri)
2228
+ return false unless uri.kind_of?(URI)
2229
+ return self.to_s == uri.to_s
2230
+ end
2231
+
2232
+ ##
2233
+ # A hash value that will make a URI equivalent to its normalized
2234
+ # form.
2235
+ #
2236
+ # @return [Integer] A hash of the URI.
2237
+ def hash
2238
+ @hash ||= self.to_s.hash * -1
2239
+ end
2240
+
2241
+ ##
2242
+ # Clones the URI object.
2243
+ #
2244
+ # @return [Addressable::URI] The cloned URI.
2245
+ def dup
2246
+ duplicated_uri = self.class.new(
2247
+ :scheme => self.scheme ? self.scheme.dup : nil,
2248
+ :user => self.user ? self.user.dup : nil,
2249
+ :password => self.password ? self.password.dup : nil,
2250
+ :host => self.host ? self.host.dup : nil,
2251
+ :port => self.port,
2252
+ :path => self.path ? self.path.dup : nil,
2253
+ :query => self.query ? self.query.dup : nil,
2254
+ :fragment => self.fragment ? self.fragment.dup : nil
2255
+ )
2256
+ return duplicated_uri
2257
+ end
2258
+
2259
+ ##
2260
+ # Omits components from a URI.
2261
+ #
2262
+ # @param [Symbol] *components The components to be omitted.
2263
+ #
2264
+ # @return [Addressable::URI] The URI with components omitted.
2265
+ #
2266
+ # @example
2267
+ # uri = Addressable::URI.parse("http://example.com/path?query")
2268
+ # #=> #<Addressable::URI:0xcc5e7a URI:http://example.com/path?query>
2269
+ # uri.omit(:scheme, :authority)
2270
+ # #=> #<Addressable::URI:0xcc4d86 URI:/path?query>
2271
+ def omit(*components)
2272
+ invalid_components = components - [
2273
+ :scheme, :user, :password, :userinfo, :host, :port, :authority,
2274
+ :path, :query, :fragment
2275
+ ]
2276
+ unless invalid_components.empty?
2277
+ raise ArgumentError,
2278
+ "Invalid component names: #{invalid_components.inspect}."
2279
+ end
2280
+ duplicated_uri = self.dup
2281
+ duplicated_uri.defer_validation do
2282
+ components.each do |component|
2283
+ duplicated_uri.send((component.to_s + "=").to_sym, nil)
2284
+ end
2285
+ duplicated_uri.user = duplicated_uri.normalized_user
2286
+ end
2287
+ duplicated_uri
2288
+ end
2289
+
2290
+ ##
2291
+ # Destructive form of omit.
2292
+ #
2293
+ # @param [Symbol] *components The components to be omitted.
2294
+ #
2295
+ # @return [Addressable::URI] The URI with components omitted.
2296
+ #
2297
+ # @see Addressable::URI#omit
2298
+ def omit!(*components)
2299
+ replace_self(self.omit(*components))
2300
+ end
2301
+
2302
+ ##
2303
+ # Determines if the URI is an empty string.
2304
+ #
2305
+ # @return [TrueClass, FalseClass]
2306
+ # Returns <code>true</code> if empty, <code>false</code> otherwise.
2307
+ def empty?
2308
+ return self.to_s.empty?
2309
+ end
2310
+
2311
+ ##
2312
+ # Converts the URI to a <code>String</code>.
2313
+ #
2314
+ # @return [String] The URI's <code>String</code> representation.
2315
+ def to_s
2316
+ if self.scheme == nil && self.path != nil && !self.path.empty? &&
2317
+ self.path =~ NORMPATH
2318
+ raise InvalidURIError,
2319
+ "Cannot assemble URI string with ambiguous path: '#{self.path}'"
2320
+ end
2321
+ @uri_string ||= begin
2322
+ uri_string = String.new
2323
+ uri_string << "#{self.scheme}:" if self.scheme != nil
2324
+ uri_string << "//#{self.authority}" if self.authority != nil
2325
+ uri_string << self.path.to_s
2326
+ uri_string << "?#{self.query}" if self.query != nil
2327
+ uri_string << "##{self.fragment}" if self.fragment != nil
2328
+ uri_string.force_encoding(Encoding::UTF_8)
2329
+ uri_string
2330
+ end
2331
+ end
2332
+
2333
+ ##
2334
+ # URI's are glorified <code>Strings</code>. Allow implicit conversion.
2335
+ alias_method :to_str, :to_s
2336
+
2337
+ ##
2338
+ # Returns a Hash of the URI components.
2339
+ #
2340
+ # @return [Hash] The URI as a <code>Hash</code> of components.
2341
+ def to_hash
2342
+ return {
2343
+ :scheme => self.scheme,
2344
+ :user => self.user,
2345
+ :password => self.password,
2346
+ :host => self.host,
2347
+ :port => self.port,
2348
+ :path => self.path,
2349
+ :query => self.query,
2350
+ :fragment => self.fragment
2351
+ }
2352
+ end
2353
+
2354
+ ##
2355
+ # Returns a <code>String</code> representation of the URI object's state.
2356
+ #
2357
+ # @return [String] The URI object's state, as a <code>String</code>.
2358
+ def inspect
2359
+ sprintf("#<%s:%#0x URI:%s>", URI.to_s, self.object_id, self.to_s)
2360
+ end
2361
+
2362
+ ##
2363
+ # This method allows you to make several changes to a URI simultaneously,
2364
+ # which separately would cause validation errors, but in conjunction,
2365
+ # are valid. The URI will be revalidated as soon as the entire block has
2366
+ # been executed.
2367
+ #
2368
+ # @param [Proc] block
2369
+ # A set of operations to perform on a given URI.
2370
+ def defer_validation(&block)
2371
+ raise LocalJumpError, "No block given." unless block
2372
+ @validation_deferred = true
2373
+ block.call()
2374
+ @validation_deferred = false
2375
+ validate
2376
+ return nil
2377
+ end
2378
+
2379
+ protected
2380
+ SELF_REF = '.'
2381
+ PARENT = '..'
2382
+
2383
+ RULE_2A = /\/\.\/|\/\.$/
2384
+ RULE_2B_2C = /\/([^\/]*)\/\.\.\/|\/([^\/]*)\/\.\.$/
2385
+ RULE_2D = /^\.\.?\/?/
2386
+ RULE_PREFIXED_PARENT = /^\/\.\.?\/|^(\/\.\.?)+\/?$/
2387
+
2388
+ ##
2389
+ # Resolves paths to their simplest form.
2390
+ #
2391
+ # @param [String] path The path to normalize.
2392
+ #
2393
+ # @return [String] The normalized path.
2394
+ def self.normalize_path(path)
2395
+ # Section 5.2.4 of RFC 3986
2396
+
2397
+ return nil if path.nil?
2398
+ normalized_path = path.dup
2399
+ begin
2400
+ mod = nil
2401
+ mod ||= normalized_path.gsub!(RULE_2A, SLASH)
2402
+
2403
+ pair = normalized_path.match(RULE_2B_2C)
2404
+ parent, current = pair[1], pair[2] if pair
2405
+ if pair && ((parent != SELF_REF && parent != PARENT) ||
2406
+ (current != SELF_REF && current != PARENT))
2407
+ mod ||= normalized_path.gsub!(
2408
+ Regexp.new(
2409
+ "/#{Regexp.escape(parent.to_s)}/\\.\\./|" +
2410
+ "(/#{Regexp.escape(current.to_s)}/\\.\\.$)"
2411
+ ), SLASH
2412
+ )
2413
+ end
2414
+
2415
+ mod ||= normalized_path.gsub!(RULE_2D, EMPTY_STR)
2416
+ # Non-standard, removes prefixed dotted segments from path.
2417
+ mod ||= normalized_path.gsub!(RULE_PREFIXED_PARENT, SLASH)
2418
+ end until mod.nil?
2419
+
2420
+ return normalized_path
2421
+ end
2422
+
2423
+ ##
2424
+ # Ensures that the URI is valid.
2425
+ def validate
2426
+ return if !!@validation_deferred
2427
+ if self.scheme != nil && self.ip_based? &&
2428
+ (self.host == nil || self.host.empty?) &&
2429
+ (self.path == nil || self.path.empty?)
2430
+ raise InvalidURIError,
2431
+ "Absolute URI missing hierarchical segment: '#{self.to_s}'"
2432
+ end
2433
+ if self.host == nil
2434
+ if self.port != nil ||
2435
+ self.user != nil ||
2436
+ self.password != nil
2437
+ raise InvalidURIError, "Hostname not supplied: '#{self.to_s}'"
2438
+ end
2439
+ end
2440
+ if self.path != nil && !self.path.empty? && self.path[0..0] != SLASH &&
2441
+ self.authority != nil
2442
+ raise InvalidURIError,
2443
+ "Cannot have a relative path with an authority set: '#{self.to_s}'"
2444
+ end
2445
+ if self.path != nil && !self.path.empty? &&
2446
+ self.path[0..1] == SLASH + SLASH && self.authority == nil
2447
+ raise InvalidURIError,
2448
+ "Cannot have a path with two leading slashes " +
2449
+ "without an authority set: '#{self.to_s}'"
2450
+ end
2451
+ unreserved = CharacterClasses::UNRESERVED
2452
+ sub_delims = CharacterClasses::SUB_DELIMS
2453
+ if !self.host.nil? && (self.host =~ /[<>{}\/\\\?\#\@"[[:space:]]]/ ||
2454
+ (self.host[/^\[(.*)\]$/, 1] != nil && self.host[/^\[(.*)\]$/, 1] !~
2455
+ Regexp.new("^[#{unreserved}#{sub_delims}:]*$")))
2456
+ raise InvalidURIError, "Invalid character in host: '#{self.host.to_s}'"
2457
+ end
2458
+ return nil
2459
+ end
2460
+
2461
+ ##
2462
+ # Replaces the internal state of self with the specified URI's state.
2463
+ # Used in destructive operations to avoid massive code repetition.
2464
+ #
2465
+ # @param [Addressable::URI] uri The URI to replace <code>self</code> with.
2466
+ #
2467
+ # @return [Addressable::URI] <code>self</code>.
2468
+ def replace_self(uri)
2469
+ # Reset dependent values
2470
+ instance_variables.each do |var|
2471
+ if instance_variable_defined?(var) && var != :@validation_deferred
2472
+ remove_instance_variable(var)
2473
+ end
2474
+ end
2475
+
2476
+ @scheme = uri.scheme
2477
+ @user = uri.user
2478
+ @password = uri.password
2479
+ @host = uri.host
2480
+ @port = uri.port
2481
+ @path = uri.path
2482
+ @query = uri.query
2483
+ @fragment = uri.fragment
2484
+ return self
2485
+ end
2486
+
2487
+ ##
2488
+ # Splits path string with "/" (slash).
2489
+ # It is considered that there is empty string after last slash when
2490
+ # path ends with slash.
2491
+ #
2492
+ # @param [String] path The path to split.
2493
+ #
2494
+ # @return [Array<String>] An array of parts of path.
2495
+ def split_path(path)
2496
+ splitted = path.split(SLASH)
2497
+ splitted << EMPTY_STR if path.end_with? SLASH
2498
+ splitted
2499
+ end
2500
+
2501
+ ##
2502
+ # Resets composite values for the entire URI
2503
+ #
2504
+ # @api private
2505
+ def remove_composite_values
2506
+ remove_instance_variable(:@uri_string) if defined?(@uri_string)
2507
+ remove_instance_variable(:@hash) if defined?(@hash)
2508
+ end
2509
+ end
2510
+ end