tax_cloud 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +29 -0
  3. data/.travis.yml +4 -7
  4. data/CHANGELOG.rdoc +6 -0
  5. data/Gemfile +6 -1
  6. data/README.rdoc +2 -2
  7. data/Rakefile +4 -1
  8. data/lib/hash.rb +2 -4
  9. data/lib/tax_cloud.rb +8 -12
  10. data/lib/tax_cloud/address.rb +3 -5
  11. data/lib/tax_cloud/cart_item.rb +0 -2
  12. data/lib/tax_cloud/client.rb +22 -21
  13. data/lib/tax_cloud/configuration.rb +2 -3
  14. data/lib/tax_cloud/errors/api_error.rb +6 -6
  15. data/lib/tax_cloud/errors/missing_config_error.rb +2 -2
  16. data/lib/tax_cloud/errors/missing_config_option_error.rb +5 -5
  17. data/lib/tax_cloud/errors/soap_error.rb +8 -10
  18. data/lib/tax_cloud/errors/tax_cloud_error.rb +45 -48
  19. data/lib/tax_cloud/errors/unexpected_soap_response_error.rb +7 -10
  20. data/lib/tax_cloud/record.rb +1 -1
  21. data/lib/tax_cloud/responses.rb +1 -1
  22. data/lib/tax_cloud/responses/authorized.rb +1 -1
  23. data/lib/tax_cloud/responses/authorized_with_capture.rb +1 -1
  24. data/lib/tax_cloud/responses/base.rb +26 -30
  25. data/lib/tax_cloud/responses/captured.rb +2 -3
  26. data/lib/tax_cloud/responses/cart_item.rb +2 -5
  27. data/lib/tax_cloud/responses/generic.rb +2 -6
  28. data/lib/tax_cloud/responses/lookup.rb +7 -10
  29. data/lib/tax_cloud/responses/ping.rb +2 -2
  30. data/lib/tax_cloud/responses/returned.rb +2 -2
  31. data/lib/tax_cloud/responses/tax_code_groups.rb +10 -13
  32. data/lib/tax_cloud/responses/tax_codes.rb +9 -12
  33. data/lib/tax_cloud/responses/tax_codes_by_group.rb +11 -14
  34. data/lib/tax_cloud/responses/verify_address.rb +6 -9
  35. data/lib/tax_cloud/tax_code.rb +1 -1
  36. data/lib/tax_cloud/tax_code_constants.rb +7 -9
  37. data/lib/tax_cloud/tax_code_group.rb +2 -4
  38. data/lib/tax_cloud/tax_code_groups.rb +2 -5
  39. data/lib/tax_cloud/tax_codes.rb +1 -5
  40. data/lib/tax_cloud/transaction.rb +6 -6
  41. data/lib/tax_cloud/version.rb +1 -1
  42. data/tax_cloud.gemspec +3 -3
  43. data/test/cassettes/authorized.yml +729 -2
  44. data/test/cassettes/authorized_with_capture.yml +729 -2
  45. data/test/cassettes/authorized_with_localized_time.yml +729 -2
  46. data/test/cassettes/captured.yml +730 -3
  47. data/test/cassettes/get_tic_groups.yml +154 -27
  48. data/test/cassettes/get_tics.yml +154 -27
  49. data/test/cassettes/get_tics_by_group.yml +728 -1
  50. data/test/cassettes/invalid_soap_call.yml +154 -27
  51. data/test/cassettes/lookup.yml +728 -1
  52. data/test/cassettes/lookup_ny.yml +728 -1
  53. data/test/cassettes/ping.yml +160 -31
  54. data/test/cassettes/ping_with_invalid_credentials.yml +154 -27
  55. data/test/cassettes/ping_with_invalid_response.yml +154 -27
  56. data/test/cassettes/returned.yml +730 -3
  57. data/test/cassettes/verify_bad_address.yml +680 -503
  58. data/test/cassettes/verify_good_address.yml +727 -0
  59. data/test/helper.rb +0 -4
  60. data/test/test_address.rb +4 -6
  61. data/test/test_cart_item.rb +1 -3
  62. data/test/test_client.rb +2 -4
  63. data/test/test_configuration.rb +3 -5
  64. data/test/test_setup.rb +0 -1
  65. data/test/test_soap.rb +2 -4
  66. data/test/test_tax_code_groups.rb +2 -4
  67. data/test/test_tax_codes.rb +1 -3
  68. data/test/test_transaction.rb +7 -9
  69. data/test/test_transaction_ny.rb +4 -6
  70. data/test/vcr_setup.rb +1 -1
  71. metadata +36 -41
  72. data/lib/savon_soap_xml.rb +0 -33
@@ -1,33 +0,0 @@
1
- # Hack Savon to work properly with arrays
2
- module Savon #:nodoc:
3
- module SOAP #:nodoc:
4
- class XML #:nodoc:
5
-
6
- private
7
-
8
- old_add_namespaces_to_body = self.instance_method(:add_namespaces_to_body)
9
-
10
- def add_namespaces_to_body(hash, path = [input[1].to_s])
11
- return unless hash
12
- return hash if hash.kind_of? Array
13
- return hash.to_s unless hash.kind_of? Hash
14
-
15
- hash.inject({}) do |newhash, (key, value)|
16
- camelcased_key = Gyoku::XMLKey.create(key)
17
- newpath = path + [camelcased_key]
18
-
19
- if used_namespaces[newpath]
20
- newhash.merge(
21
- "#{used_namespaces[newpath]}:#{camelcased_key}" =>
22
- add_namespaces_to_body(value, types[newpath] ? [types[newpath]] : newpath)
23
- )
24
- else
25
- newhash.merge(key => value)
26
- end
27
- end
28
- end
29
-
30
- end
31
- end
32
- end
33
-