mercadopago-custom-checkout 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.gs/bin/rake +23 -0
  4. data/.gs/cache/faraday-0.9.2.gem +0 -0
  5. data/.gs/cache/minitest-5.9.0.gem +0 -0
  6. data/.gs/cache/multi_json-1.12.1.gem +0 -0
  7. data/.gs/cache/multipart-post-2.0.0.gem +0 -0
  8. data/.gs/cache/rake-10.5.0.gem +0 -0
  9. data/.gs/gems/faraday-0.9.2/LICENSE.md +20 -0
  10. data/.gs/gems/faraday-0.9.2/README.md +245 -0
  11. data/.gs/gems/faraday-0.9.2/lib/faraday.rb +268 -0
  12. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter.rb +46 -0
  13. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/em_http.rb +237 -0
  14. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/em_http_ssl_patch.rb +56 -0
  15. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/em_synchrony.rb +100 -0
  16. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/em_synchrony/parallel_manager.rb +66 -0
  17. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/excon.rb +81 -0
  18. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/httpclient.rb +117 -0
  19. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb +130 -0
  20. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/net_http_persistent.rb +49 -0
  21. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/patron.rb +78 -0
  22. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/rack.rb +58 -0
  23. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/test.rb +162 -0
  24. data/.gs/gems/faraday-0.9.2/lib/faraday/adapter/typhoeus.rb +123 -0
  25. data/.gs/gems/faraday-0.9.2/lib/faraday/autoload.rb +84 -0
  26. data/.gs/gems/faraday-0.9.2/lib/faraday/connection.rb +437 -0
  27. data/.gs/gems/faraday-0.9.2/lib/faraday/error.rb +53 -0
  28. data/.gs/gems/faraday-0.9.2/lib/faraday/middleware.rb +37 -0
  29. data/.gs/gems/faraday-0.9.2/lib/faraday/options.rb +359 -0
  30. data/.gs/gems/faraday-0.9.2/lib/faraday/parameters.rb +197 -0
  31. data/.gs/gems/faraday-0.9.2/lib/faraday/rack_builder.rb +213 -0
  32. data/.gs/gems/faraday-0.9.2/lib/faraday/request.rb +92 -0
  33. data/.gs/gems/faraday-0.9.2/lib/faraday/request/authorization.rb +42 -0
  34. data/.gs/gems/faraday-0.9.2/lib/faraday/request/basic_authentication.rb +13 -0
  35. data/.gs/gems/faraday-0.9.2/lib/faraday/request/instrumentation.rb +36 -0
  36. data/.gs/gems/faraday-0.9.2/lib/faraday/request/multipart.rb +63 -0
  37. data/.gs/gems/faraday-0.9.2/lib/faraday/request/retry.rb +154 -0
  38. data/.gs/gems/faraday-0.9.2/lib/faraday/request/token_authentication.rb +15 -0
  39. data/.gs/gems/faraday-0.9.2/lib/faraday/request/url_encoded.rb +36 -0
  40. data/.gs/gems/faraday-0.9.2/lib/faraday/response.rb +93 -0
  41. data/.gs/gems/faraday-0.9.2/lib/faraday/response/logger.rb +59 -0
  42. data/.gs/gems/faraday-0.9.2/lib/faraday/response/raise_error.rb +21 -0
  43. data/.gs/gems/faraday-0.9.2/lib/faraday/upload_io.rb +67 -0
  44. data/.gs/gems/faraday-0.9.2/lib/faraday/utils.rb +309 -0
  45. data/.gs/gems/minitest-5.9.0/.autotest +34 -0
  46. data/.gs/gems/minitest-5.9.0/History.rdoc +1176 -0
  47. data/.gs/gems/minitest-5.9.0/Manifest.txt +26 -0
  48. data/.gs/gems/minitest-5.9.0/README.rdoc +656 -0
  49. data/.gs/gems/minitest-5.9.0/Rakefile +72 -0
  50. data/.gs/gems/minitest-5.9.0/design_rationale.rb +52 -0
  51. data/.gs/gems/minitest-5.9.0/lib/hoe/minitest.rb +26 -0
  52. data/.gs/gems/minitest-5.9.0/lib/minitest.rb +815 -0
  53. data/.gs/gems/minitest-5.9.0/lib/minitest/assertions.rb +674 -0
  54. data/.gs/gems/minitest-5.9.0/lib/minitest/autorun.rb +13 -0
  55. data/.gs/gems/minitest-5.9.0/lib/minitest/benchmark.rb +424 -0
  56. data/.gs/gems/minitest-5.9.0/lib/minitest/expectations.rb +284 -0
  57. data/.gs/gems/minitest-5.9.0/lib/minitest/hell.rb +17 -0
  58. data/.gs/gems/minitest-5.9.0/lib/minitest/mock.rb +232 -0
  59. data/.gs/gems/minitest-5.9.0/lib/minitest/parallel.rb +69 -0
  60. data/.gs/gems/minitest-5.9.0/lib/minitest/pride.rb +4 -0
  61. data/.gs/gems/minitest-5.9.0/lib/minitest/pride_plugin.rb +142 -0
  62. data/.gs/gems/minitest-5.9.0/lib/minitest/spec.rb +331 -0
  63. data/.gs/gems/minitest-5.9.0/lib/minitest/test.rb +284 -0
  64. data/.gs/gems/minitest-5.9.0/lib/minitest/unit.rb +45 -0
  65. data/.gs/gems/minitest-5.9.0/test/minitest/metametameta.rb +90 -0
  66. data/.gs/gems/minitest-5.9.0/test/minitest/test_minitest_benchmark.rb +137 -0
  67. data/.gs/gems/minitest-5.9.0/test/minitest/test_minitest_mock.rb +512 -0
  68. data/.gs/gems/minitest-5.9.0/test/minitest/test_minitest_reporter.rb +281 -0
  69. data/.gs/gems/minitest-5.9.0/test/minitest/test_minitest_spec.rb +967 -0
  70. data/.gs/gems/minitest-5.9.0/test/minitest/test_minitest_test.rb +1983 -0
  71. data/.gs/gems/multi_json-1.12.1/CHANGELOG.md +245 -0
  72. data/.gs/gems/multi_json-1.12.1/CONTRIBUTING.md +46 -0
  73. data/.gs/gems/multi_json-1.12.1/LICENSE.md +20 -0
  74. data/.gs/gems/multi_json-1.12.1/README.md +121 -0
  75. data/.gs/gems/multi_json-1.12.1/lib/multi_json.rb +161 -0
  76. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapter.rb +49 -0
  77. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapter_error.rb +15 -0
  78. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/gson.rb +20 -0
  79. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/jr_jackson.rb +25 -0
  80. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/json_common.rb +23 -0
  81. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/json_gem.rb +11 -0
  82. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/json_pure.rb +11 -0
  83. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/nsjsonserialization.rb +32 -0
  84. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/oj.rb +25 -0
  85. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/ok_json.rb +23 -0
  86. data/.gs/gems/multi_json-1.12.1/lib/multi_json/adapters/yajl.rb +19 -0
  87. data/.gs/gems/multi_json-1.12.1/lib/multi_json/convertible_hash_keys.rb +43 -0
  88. data/.gs/gems/multi_json-1.12.1/lib/multi_json/options.rb +39 -0
  89. data/.gs/gems/multi_json-1.12.1/lib/multi_json/options_cache.rb +29 -0
  90. data/.gs/gems/multi_json-1.12.1/lib/multi_json/parse_error.rb +17 -0
  91. data/.gs/gems/multi_json-1.12.1/lib/multi_json/vendor/okjson.rb +606 -0
  92. data/.gs/gems/multi_json-1.12.1/lib/multi_json/version.rb +17 -0
  93. data/.gs/gems/multi_json-1.12.1/multi_json.gemspec +20 -0
  94. data/.gs/gems/multipart-post-2.0.0/.gitignore +6 -0
  95. data/.gs/gems/multipart-post-2.0.0/.travis.yml +7 -0
  96. data/.gs/gems/multipart-post-2.0.0/Gemfile +14 -0
  97. data/.gs/gems/multipart-post-2.0.0/History.txt +60 -0
  98. data/.gs/gems/multipart-post-2.0.0/Manifest.txt +9 -0
  99. data/.gs/gems/multipart-post-2.0.0/README.md +77 -0
  100. data/.gs/gems/multipart-post-2.0.0/Rakefile +9 -0
  101. data/.gs/gems/multipart-post-2.0.0/lib/composite_io.rb +108 -0
  102. data/.gs/gems/multipart-post-2.0.0/lib/multipart_post.rb +9 -0
  103. data/.gs/gems/multipart-post-2.0.0/lib/multipartable.rb +29 -0
  104. data/.gs/gems/multipart-post-2.0.0/lib/net/http/post/multipart.rb +27 -0
  105. data/.gs/gems/multipart-post-2.0.0/lib/parts.rb +96 -0
  106. data/.gs/gems/multipart-post-2.0.0/multipart-post.gemspec +22 -0
  107. data/.gs/gems/multipart-post-2.0.0/test/multibyte.txt +1 -0
  108. data/.gs/gems/multipart-post-2.0.0/test/net/http/post/test_multipart.rb +110 -0
  109. data/.gs/gems/multipart-post-2.0.0/test/test_composite_io.rb +115 -0
  110. data/.gs/gems/multipart-post-2.0.0/test/test_parts.rb +86 -0
  111. data/.gs/gems/rake-10.5.0/.autotest +7 -0
  112. data/.gs/gems/rake-10.5.0/.rubocop.yml +27 -0
  113. data/.gs/gems/rake-10.5.0/.togglerc +7 -0
  114. data/.gs/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  115. data/.gs/gems/rake-10.5.0/History.rdoc +659 -0
  116. data/.gs/gems/rake-10.5.0/MIT-LICENSE +21 -0
  117. data/.gs/gems/rake-10.5.0/Manifest.txt +166 -0
  118. data/.gs/gems/rake-10.5.0/README.rdoc +139 -0
  119. data/.gs/gems/rake-10.5.0/Rakefile +81 -0
  120. data/.gs/gems/rake-10.5.0/bin/rake +33 -0
  121. data/.gs/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  122. data/.gs/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  123. data/.gs/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  124. data/.gs/gems/rake-10.5.0/doc/example/a.c +6 -0
  125. data/.gs/gems/rake-10.5.0/doc/example/b.c +6 -0
  126. data/.gs/gems/rake-10.5.0/doc/example/main.c +11 -0
  127. data/.gs/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  128. data/.gs/gems/rake-10.5.0/doc/jamis.rb +591 -0
  129. data/.gs/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  130. data/.gs/gems/rake-10.5.0/doc/rake.1 +141 -0
  131. data/.gs/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  132. data/.gs/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  133. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  134. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  135. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  136. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  137. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  138. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  139. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  140. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  141. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  142. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  143. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  144. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  145. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  146. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  147. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  148. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  149. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  150. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  151. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  152. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  153. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  154. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  155. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  156. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  157. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  158. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  159. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  160. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  161. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  162. data/.gs/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  163. data/.gs/gems/rake-10.5.0/lib/rake.rb +79 -0
  164. data/.gs/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  165. data/.gs/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  166. data/.gs/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  167. data/.gs/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  168. data/.gs/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  169. data/.gs/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  170. data/.gs/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  171. data/.gs/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  172. data/.gs/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  173. data/.gs/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  174. data/.gs/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  175. data/.gs/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  176. data/.gs/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  177. data/.gs/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  178. data/.gs/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  179. data/.gs/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  180. data/.gs/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  181. data/.gs/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  182. data/.gs/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  183. data/.gs/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  184. data/.gs/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  185. data/.gs/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  186. data/.gs/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  187. data/.gs/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  188. data/.gs/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  189. data/.gs/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  190. data/.gs/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  191. data/.gs/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  192. data/.gs/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  193. data/.gs/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  194. data/.gs/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  195. data/.gs/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  196. data/.gs/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  197. data/.gs/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  198. data/.gs/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  199. data/.gs/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  200. data/.gs/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  201. data/.gs/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  202. data/.gs/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  203. data/.gs/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  204. data/.gs/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  205. data/.gs/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  206. data/.gs/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  207. data/.gs/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  208. data/.gs/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  209. data/.gs/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  210. data/.gs/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  211. data/.gs/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  212. data/.gs/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  213. data/.gs/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  214. data/.gs/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  215. data/.gs/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  216. data/.gs/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  217. data/.gs/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  218. data/.gs/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  219. data/.gs/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  220. data/.gs/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  221. data/.gs/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  222. data/.gs/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  223. data/.gs/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  224. data/.gs/gems/rake-10.5.0/test/file_creation.rb +34 -0
  225. data/.gs/gems/rake-10.5.0/test/helper.rb +129 -0
  226. data/.gs/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  227. data/.gs/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  228. data/.gs/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  229. data/.gs/gems/rake-10.5.0/test/test_rake.rb +40 -0
  230. data/.gs/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  231. data/.gs/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  232. data/.gs/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  233. data/.gs/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  234. data/.gs/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  235. data/.gs/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  236. data/.gs/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  237. data/.gs/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  238. data/.gs/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  239. data/.gs/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  240. data/.gs/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  241. data/.gs/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  242. data/.gs/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  243. data/.gs/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  244. data/.gs/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  245. data/.gs/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  246. data/.gs/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  247. data/.gs/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  248. data/.gs/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  249. data/.gs/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  250. data/.gs/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  251. data/.gs/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  252. data/.gs/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  253. data/.gs/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  254. data/.gs/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  255. data/.gs/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  256. data/.gs/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  257. data/.gs/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  258. data/.gs/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  259. data/.gs/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  260. data/.gs/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  261. data/.gs/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  262. data/.gs/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  263. data/.gs/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  264. data/.gs/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  265. data/.gs/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  266. data/.gs/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  267. data/.gs/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  268. data/.gs/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  269. data/.gs/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  270. data/.gs/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  271. data/.gs/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  272. data/.gs/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  273. data/.gs/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  274. data/.gs/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  275. data/.gs/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  276. data/.gs/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  277. data/.gs/specifications/faraday-0.9.2.gemspec +31 -0
  278. data/.gs/specifications/minitest-5.9.0.gemspec +39 -0
  279. data/.gs/specifications/multi_json-1.12.1.gemspec +33 -0
  280. data/.gs/specifications/multipart-post-2.0.0.gemspec +22 -0
  281. data/.gs/specifications/rake-10.5.0.gemspec +43 -0
  282. data/.rubocop.yml +36 -0
  283. data/.ruby-version +1 -0
  284. data/.travis.yml +7 -0
  285. data/CODE_OF_CONDUCT.md +49 -0
  286. data/Gemfile +10 -0
  287. data/LICENSE.txt +21 -0
  288. data/README.md +35 -0
  289. data/Rakefile +38 -0
  290. data/bin/console +14 -0
  291. data/bin/setup +8 -0
  292. data/lib/mercadopago/core/client.rb +70 -0
  293. data/lib/mercadopago/core/endpoints.rb +134 -0
  294. data/lib/mercadopago/core/errors.rb +6 -0
  295. data/lib/mercadopago/core/gateway.rb +84 -0
  296. data/lib/mercadopago/custom_checkout.rb +29 -0
  297. data/lib/mercadopago/custom_checkout/account.rb +162 -0
  298. data/lib/mercadopago/custom_checkout/card_issuer.rb +20 -0
  299. data/lib/mercadopago/custom_checkout/card_token.rb +57 -0
  300. data/lib/mercadopago/custom_checkout/customer.rb +84 -0
  301. data/lib/mercadopago/custom_checkout/errors.rb +6 -0
  302. data/lib/mercadopago/custom_checkout/identification_type.rb +19 -0
  303. data/lib/mercadopago/custom_checkout/payment_method.rb +42 -0
  304. data/lib/mercadopago/custom_checkout/payments.rb +24 -0
  305. data/lib/mercadopago/custom_checkout/resource.rb +14 -0
  306. data/lib/mercadopago/custom_checkout/version.rb +5 -0
  307. data/mercadopago-custom-checkout.gemspec +30 -0
  308. metadata +455 -0
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,70 @@
1
+ module MercadoPago
2
+ module Core
3
+ class Client
4
+ attr_reader :public_key, :version
5
+ API_VERSION = "v1".freeze
6
+
7
+ # Creates an instance to make calls to the MercadoPago CustomCheckout API.
8
+ def initialize(public_key = nil, access_token = nil)
9
+ check_credentials!(public_key, access_token)
10
+
11
+ @access_token = access_token if access_token
12
+ @public_key = public_key if public_key
13
+ @gateway = MercadoPago::Core::Gateway
14
+ @version = API_VERSION
15
+ end
16
+
17
+ def call(resource, action, data = {})
18
+ request = request_for!(resource.to_sym, action.to_sym)
19
+ endpoint_path, payload = build_endpoint_path(request, data)
20
+
21
+ @gateway.send(request[:method], endpoint_path, payload)
22
+ end
23
+
24
+ private
25
+
26
+ def check_credentials!(public_key = nil, access_token = nil)
27
+ if (public_key.nil? || public_key.empty?) &&
28
+ (access_token.nil? || access_token.empty?)
29
+ raise ClientError.new('You must provide a :public_key or an :access_token')
30
+ end
31
+ end
32
+
33
+ def request_for!(resource, action)
34
+ unless MercadoPago::Core::ENDPOINTS.keys.include?(resource)
35
+ error = "There is no :#{resource} resource. The available ones are: " \
36
+ "[:#{MercadoPago::Core::ENDPOINTS.keys.join(', :')}]"
37
+ raise ResourceError.new(error)
38
+ end
39
+ resource = MercadoPago::Core::ENDPOINTS[resource]
40
+
41
+ unless resource.keys.include?(action)
42
+ error = "There is no action called :#{action}. The available actions are: "\
43
+ "[:#{resource.keys.join(', :')}]"
44
+ raise ResourceError.new(error)
45
+ end
46
+ resource[action]
47
+ end
48
+
49
+ def build_endpoint_path(request, data)
50
+ path = request[:endpoint] % data.merge(version: version)
51
+ ["#{path}?#{token_to_use(request)}", purged_data_keys(request[:endpoint], data)]
52
+ rescue KeyError
53
+ nil
54
+ end
55
+
56
+ def token_to_use(request)
57
+ token_name = request[:allowed_tokens].detect do |token|
58
+ instance_variable_get("@#{token}")
59
+ end
60
+ "#{token_name}=#{instance_variable_get("@#{token_name}")}" if token_name
61
+ end
62
+
63
+ def purged_data_keys(raw_endpoint, data)
64
+ keys = raw_endpoint.scan(/%{(\w*)}/).flatten.map(&:to_sym)
65
+ data.delete_if { |k,v| keys.include?(k) }
66
+ end
67
+ end
68
+
69
+ end
70
+ end
@@ -0,0 +1,134 @@
1
+ module MercadoPago
2
+ module Core
3
+ ENDPOINTS = {
4
+ card_issuers: {
5
+ retrieve: {
6
+ endpoint: "/%{version}/payment_methods/card_issuers",
7
+ method: :get,
8
+ allowed_tokens: [:public_key]
9
+ }
10
+ },
11
+ card_tokens: {
12
+ create: {
13
+ endpoint: "/%{version}/card_tokens",
14
+ method: :post,
15
+ allowed_tokens: [:public_key]
16
+ },
17
+ retrieve: {
18
+ endpoint: "/%{version}/card_tokens/%{id}",
19
+ method: :get,
20
+ allowed_tokens: [:public_key]
21
+ },
22
+ update: {
23
+ endpoint: "/%{version}/card_tokens/%{id}",
24
+ method: :put,
25
+ allowed_tokens: [:public_key]
26
+ }
27
+ },
28
+ cards: {
29
+ all: {
30
+ endpoint: "/%{version}/customers/%{customer_id}/cards",
31
+ method: :get,
32
+ allowed_tokens: [:access_token]
33
+ },
34
+ create: {
35
+ endpoint: "/%{version}/customers/%{customer_id}/cards",
36
+ method: :post,
37
+ allowed_tokens: [:access_token]
38
+ },
39
+ retrieve: {
40
+ endpoint: "/%{version}/customers/%{customer_id}/cards/%{id}",
41
+ method: :get,
42
+ allowed_tokens: [:access_token]
43
+ },
44
+ update: {
45
+ endpoint: "/%{version}/customers/%{customer_id}/cards/%{id}",
46
+ method: :put,
47
+ allowed_tokens: [:access_token]
48
+ },
49
+ delete: {
50
+ endpoint: "/%{version}/customers/%{customer_id}/cards/%{id}",
51
+ method: :delete,
52
+ allowed_tokens: [:access_token]
53
+ }
54
+ },
55
+ customers: {
56
+ search: {
57
+ endpoint: "/%{version}/customers/search",
58
+ method: :get,
59
+ allowed_tokens: [:access_token]
60
+ },
61
+ create: {
62
+ endpoint: "/%{version}/customers",
63
+ method: :post,
64
+ allowed_tokens: [:access_token]
65
+ },
66
+ retrieve: {
67
+ endpoint: "/%{version}/customers/%{id}",
68
+ method: :get,
69
+ allowed_tokens: [:access_token]
70
+ },
71
+ update: {
72
+ endpoint: "/%{version}/customers/%{id}",
73
+ method: :put,
74
+ allowed_tokens: [:access_token]
75
+ },
76
+ delete: {
77
+ endpoint: "/%{version}/customers/%{id}",
78
+ method: :delete,
79
+ allowed_tokens: [:access_token]
80
+ }
81
+ },
82
+ identification_types:{
83
+ retrieve: {
84
+ endpoint: "/%{version}/identification_types",
85
+ method: :get,
86
+ allowed_tokens: [:public_key]
87
+ }
88
+ },
89
+ installments:{
90
+ retrieve: {
91
+ endpoint: "/%{version}/payment_methods/installments",
92
+ method: :get,
93
+ allowed_tokens: [:public_key]
94
+ }
95
+ },
96
+ payment_methods:{
97
+ retrieve: {
98
+ endpoint: "/%{version}/payment_methods",
99
+ method: :get,
100
+ allowed_tokens: [:public_key]
101
+ }
102
+ },
103
+ payments: {
104
+ search: {
105
+ endpoint: "/%{version}/payments/search",
106
+ method: :get,
107
+ allowed_tokens: [:access_token]
108
+ },
109
+ create: {
110
+ endpoint: "/%{version}/payments",
111
+ method: :post,
112
+ allowed_tokens: [:access_token]
113
+ },
114
+ retrieve: {
115
+ endpoint: "/%{version}/payments/%{id}",
116
+ method: :get,
117
+ allowed_tokens: [:access_token]
118
+ },
119
+ update: {
120
+ endpoint: "/%{version}/payments/%{id}",
121
+ method: :put,
122
+ allowed_tokens: [:access_token]
123
+ }
124
+ },
125
+ users: {
126
+ me: {
127
+ endpoint: "/users/me",
128
+ method: :get,
129
+ allowed_tokens: [:access_token]
130
+ }
131
+ }
132
+ }.freeze
133
+ end
134
+ end
@@ -0,0 +1,6 @@
1
+ module MercadoPago
2
+ module Core
3
+ class ClientError < StandardError; end
4
+ class ResourceError < StandardError; end
5
+ end
6
+ end
@@ -0,0 +1,84 @@
1
+ module MercadoPago
2
+ module Core
3
+ module Gateway
4
+ extend self
5
+
6
+ MIME_JSON = 'application/json'.freeze
7
+ MERCADOPAGO_RUBY_SDK_VERSION = '0.3.4'.freeze
8
+ MERCADOPAGO_API_URL = 'https://api.mercadopago.com'.freeze
9
+
10
+ class Error < StandardError; end
11
+
12
+ private
13
+
14
+ def post(path, payload)
15
+ raise Error.new('No data given') if payload.nil? || payload.empty?
16
+
17
+ make_request(:post, path, payload)
18
+ end
19
+
20
+ def get(path, payload)
21
+ make_request(:get, path, payload)
22
+ end
23
+
24
+ def put(path, payload)
25
+ raise Error.new('No data given') if payload.nil? || payload.empty?
26
+
27
+ make_request(:put, path, payload)
28
+ end
29
+
30
+ def delete(path, payload)
31
+ make_request(:delete, path)
32
+ end
33
+
34
+ def headers(idempotency_key = nil)
35
+ {
36
+ 'User-Agent' => "MercadoPago Ruby SDK v#{MERCADOPAGO_RUBY_SDK_VERSION}",
37
+ content_type: MIME_JSON,
38
+ accept: MIME_JSON
39
+ }.tap do |_hash|
40
+ _hash['X-Idempotency-Key'] = idempotency_key if idempotency_key
41
+ end
42
+ end
43
+
44
+ # Makes a HTTP request to the MercadoPago API.
45
+ #
46
+ # - type: the HTTP request type (:get, :post, :put, :delete).
47
+ # - path: the path of the API to be called.
48
+ # - json: the data to be trasmitted to the API.
49
+ def make_request(method, path, payload = {})
50
+ idempotency_key = payload.delete(:idempotency_key) || payload.delete('idempotency_key')
51
+ unless payload.empty?
52
+ payload = MultiJson.dump(payload) unless method == :get
53
+ end
54
+
55
+ response = connection(method).send(method) do |call|
56
+ call.url path
57
+ call.headers = headers( idempotency_key )
58
+ unless payload.empty?
59
+ if method == :get
60
+ call.params = call.params.merge(payload)
61
+ else
62
+ call.body = payload
63
+ end
64
+ end
65
+ end
66
+
67
+ MultiJson.load(response.body, symbolize_keys: true)
68
+ rescue Exception => e
69
+ if e.respond_to?(:response)
70
+ MultiJson.load(e.response, symbolize_keys: true)
71
+ else
72
+ raise e
73
+ end
74
+ end
75
+
76
+ def connection(method)
77
+ Faraday.new(MERCADOPAGO_API_URL, ssl: { verify: true }) do |faraday|
78
+ faraday.request(:url_encoded) if method == :get
79
+ faraday.adapter(Faraday.default_adapter)
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,29 @@
1
+ require 'faraday'
2
+ require 'multi_json'
3
+
4
+ # Core
5
+ require "mercadopago/core/endpoints"
6
+ require "mercadopago/core/errors"
7
+ require "mercadopago/core/client"
8
+ require "mercadopago/core/gateway"
9
+
10
+ # CustomCheckout
11
+ require "mercadopago/custom_checkout/account"
12
+ require "mercadopago/custom_checkout/errors"
13
+ require "mercadopago/custom_checkout/resource"
14
+ require "mercadopago/custom_checkout/version"
15
+
16
+ # Resources
17
+ require "mercadopago/custom_checkout/card_issuer"
18
+ require "mercadopago/custom_checkout/card_token"
19
+ require "mercadopago/custom_checkout/identification_type"
20
+ require "mercadopago/custom_checkout/payment_method"
21
+
22
+ # require "mercadopago/custom_checkout/customer"
23
+ # require "mercadopago/custom_checkout/payment_methods"
24
+ # require "mercadopago/custom_checkout/payments"
25
+
26
+ module MercadoPago
27
+ module CustomCheckout
28
+ end
29
+ end
@@ -0,0 +1,162 @@
1
+ module MercadoPago
2
+ module CustomCheckout
3
+ class Account
4
+ attr_reader :client
5
+
6
+ def initialize(public_key: nil, access_token: nil)
7
+ @client = MercadoPago::Core::Client.new(public_key, access_token)
8
+ end
9
+
10
+ def inspect
11
+ "#<#{self.class.name} public_key:#{@client.public_key}>"
12
+ end
13
+
14
+ def valid?
15
+ me.key?(:id)
16
+ end
17
+
18
+ ## ---- Informative Methods ---- ##
19
+ # This methods allows to retrieve information only, there is no create/update
20
+ # just informative, about :payment_methods, or :card_issuers of a PaymentMethod
21
+ # etc.
22
+ # All of them are accesible with the :public_key.
23
+ def payment_methods
24
+ return @payment_methods unless @payment_methods.nil? || @payment_methods.empty?
25
+
26
+ response = @client.call(:payment_methods, :retrieve)
27
+ if response.is_a?(Array)
28
+ @payment_methods = response.map do |method|
29
+ PaymentMethod.new(self, method)
30
+ end
31
+ else
32
+ response
33
+ end
34
+ end
35
+
36
+ def payment_method(bin_number)
37
+ number = bin_number.gsub(/\s*/, '')[0,6]
38
+ payment_methods.select do |method|
39
+ bin = method.bin
40
+ bin &&
41
+ (number.match(bin[:pattern]) ? true : false) &&
42
+ (!bin[:exclusion_pattern] || !number.match(bin[:exclusion_pattern]))
43
+ end
44
+ end
45
+
46
+ def card_issuers_for(payment_method_id)
47
+ response = @client.call(:card_issuers, :retrieve, {
48
+ payment_method_id: payment_method_id
49
+ })
50
+ if response.is_a?(Array)
51
+ response.map do |issuer|
52
+ CardIssuer.new(issuer)
53
+ end
54
+ else
55
+ response
56
+ end
57
+ end
58
+
59
+ def installments_for(payment_method_id)
60
+ @client.call(:installments, :retrieve, {
61
+ payment_method_id: payment_method_id
62
+ })
63
+ end
64
+
65
+ def identification_types
66
+ return @identification_types unless @identification_types.nil?
67
+
68
+ response = @client.call(:identification_types, :retrieve)
69
+ if response.is_a?(Array)
70
+ @identification_types = response.map do |identification|
71
+ IdentificationType.new(identification)
72
+ end
73
+ else
74
+ if response[:status] == 404
75
+ @identification_types = []
76
+ else
77
+ response
78
+ end
79
+ end
80
+ end
81
+ ## ---- END - Informative Methods ---- ##
82
+
83
+
84
+ # The payload to create the card token is:
85
+ # {
86
+ # cardNumber: '',
87
+ # securityCode: '',
88
+ # cardExpirationMonth: '',
89
+ # cardExpirationYear: '',
90
+ # cardholderName: '',
91
+ # paymentMethodId: '',
92
+ # docType: '', # Except for México
93
+ # docNumber: '' # Except for México
94
+ # }
95
+ def create_card_token(**payload)
96
+ response = @client.call(:card_tokens, :create, payload)
97
+ if response.key?(:error)
98
+ response
99
+ else
100
+ CardToken.new(@client, response)
101
+ end
102
+ end
103
+
104
+ def create_payment(**payload)
105
+ @client.call(:payments, :create, payload)
106
+ end
107
+
108
+ def payment(payment_id)
109
+ @client.call(:payments, :retrieve, { id: payment_id })
110
+ end
111
+
112
+ def payments(**payload)
113
+ if response = @client.call(:payments, :search, payload)
114
+ response[:results]
115
+ else
116
+ []
117
+ end
118
+ end
119
+
120
+ def create_customer(**payload)
121
+ @client.call(:customers, :create, payload)
122
+ end
123
+
124
+ def add_card_to_customer(customer_id:, **payload)
125
+ @client.call(:cards, :create, payload.merge(customer_id: customer_id))
126
+ end
127
+
128
+ def customer(customer_id)
129
+ @client.call(:customers, :retrieve, { id: customer_id })
130
+ end
131
+
132
+ def customers(**payload)
133
+ if response = @client.call(:customers, :search, payload)
134
+ response[:results]
135
+ else
136
+ []
137
+ end
138
+ end
139
+
140
+ # # Card Tokens
141
+ # include MercadoPago::CustomCheckout::CardTokens
142
+
143
+ # # Customers
144
+ # include MercadoPago::CustomCheckout::Customers
145
+
146
+ # # Identification Types
147
+ # include MercadoPago::CustomCheckout::IdentificationTypes
148
+
149
+ # # Payment Methods
150
+ # include MercadoPago::CustomCheckout::PaymentMethods
151
+
152
+ # # Payments
153
+ # include MercadoPago::CustomCheckout::Payments
154
+
155
+ private
156
+
157
+ def me
158
+ @me ||= @client.call(:users, :me)
159
+ end
160
+ end
161
+ end
162
+ end