braintree 2.24.0 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,188 +1,182 @@
1
- unless defined?(SPEC_HELPER_LOADED)
2
- SPEC_HELPER_LOADED = true
3
-
4
- project_root = File.expand_path(File.dirname(__FILE__) + "/..")
5
- require "rubygems"
6
- gem "libxml-ruby", ENV["LIBXML_VERSION"] || (RUBY_VERSION == "1.9.3" ? "2.6.0" : "1.1.3")
7
- require "libxml"
8
- gem "builder", ENV["BUILDER_VERSION"] || "2.1.2"
9
- braintree_lib = "#{project_root}/lib"
10
- $LOAD_PATH << braintree_lib
11
- require "braintree"
12
-
13
- Braintree::Configuration.environment = :development
14
- Braintree::Configuration.merchant_id = "integration_merchant_id"
15
- Braintree::Configuration.public_key = "integration_public_key"
16
- Braintree::Configuration.private_key = "integration_private_key"
17
- logger = Logger.new("/dev/null")
18
- logger.level = Logger::INFO
19
- Braintree::Configuration.logger = logger
20
-
21
- module Kernel
22
- alias_method :original_warn, :warn
23
- def warn(message)
24
- return if message =~ /^\[DEPRECATED\]/
25
- original_warn(message)
26
- end
1
+ project_root = File.expand_path(File.dirname(__FILE__) + "/..")
2
+ require "rubygems"
3
+ require "libxml"
4
+
5
+ braintree_lib = "#{project_root}/lib"
6
+ $LOAD_PATH << braintree_lib
7
+ require "braintree"
8
+
9
+ Braintree::Configuration.environment = :development
10
+ Braintree::Configuration.merchant_id = "integration_merchant_id"
11
+ Braintree::Configuration.public_key = "integration_public_key"
12
+ Braintree::Configuration.private_key = "integration_private_key"
13
+ logger = Logger.new("/dev/null")
14
+ logger.level = Logger::INFO
15
+ Braintree::Configuration.logger = logger
16
+
17
+ module Kernel
18
+ alias_method :original_warn, :warn
19
+ def warn(message)
20
+ return if message =~ /^\[DEPRECATED\]/
21
+ original_warn(message)
27
22
  end
23
+ end
28
24
 
29
- def now_in_eastern
30
- (Time.now.utc - 5*60*60).strftime("%Y-%m-%d")
31
- end
25
+ def now_in_eastern
26
+ (Time.now.utc - 5*60*60).strftime("%Y-%m-%d")
27
+ end
32
28
 
33
- module SpecHelper
34
-
35
- DefaultMerchantAccountId = "sandbox_credit_card"
36
- NonDefaultMerchantAccountId = "sandbox_credit_card_non_default"
37
- NonDefaultSubMerchantAccountId = "sandbox_sub_merchant_account"
38
-
39
- TrialPlan = {
40
- :description => "Plan for integration tests -- with trial",
41
- :id => "integration_trial_plan",
42
- :price => BigDecimal.new("43.21"),
43
- :trial_period => true,
44
- :trial_duration => 2,
45
- :trial_duration_unit => Braintree::Subscription::TrialDurationUnit::Day
46
- }
47
-
48
- TriallessPlan = {
49
- :description => "Plan for integration tests -- without a trial",
50
- :id => "integration_trialless_plan",
51
- :price => BigDecimal.new("12.34"),
52
- :trial_period => false
53
- }
54
-
55
- AddOnDiscountPlan = {
56
- :description => "Plan for integration tests -- with add-ons and discounts",
57
- :id => "integration_plan_with_add_ons_and_discounts",
58
- :price => BigDecimal.new("9.99"),
59
- :trial_period => true,
60
- :trial_duration => 2,
61
- :trial_duration_unit => Braintree::Subscription::TrialDurationUnit::Day
62
- }
63
-
64
- BillingDayOfMonthPlan = {
65
- :description => "Plan for integration tests -- with billing day of month",
66
- :id => "integration_plan_with_billing_day_of_month",
67
- :price => BigDecimal.new("8.88"),
68
- :billing_day_of_month => 5
69
- }
70
-
71
- AddOnIncrease10 = "increase_10"
72
- AddOnIncrease20 = "increase_20"
73
- AddOnIncrease30 = "increase_30"
74
-
75
- Discount7 = "discount_7"
76
- Discount11 = "discount_11"
77
- Discount15 = "discount_15"
78
-
79
- TestMerchantConfig = Braintree::Configuration.new(
80
- :logger => Logger.new("/dev/null"),
81
- :environment => :development,
82
- :merchant_id => "test_merchant_id",
83
- :public_key => "test_public_key",
84
- :private_key => "test_private_key"
85
- )
86
-
87
- def self.make_past_due(subscription, number_of_days_past_due = 1)
88
- Braintree::Configuration.instantiate.http.put(
89
- "/subscriptions/#{subscription.id}/make_past_due?days_past_due=#{number_of_days_past_due}"
90
- )
91
- end
29
+ module SpecHelper
30
+
31
+ DefaultMerchantAccountId = "sandbox_credit_card"
32
+ NonDefaultMerchantAccountId = "sandbox_credit_card_non_default"
33
+ NonDefaultSubMerchantAccountId = "sandbox_sub_merchant_account"
34
+
35
+ TrialPlan = {
36
+ :description => "Plan for integration tests -- with trial",
37
+ :id => "integration_trial_plan",
38
+ :price => BigDecimal.new("43.21"),
39
+ :trial_period => true,
40
+ :trial_duration => 2,
41
+ :trial_duration_unit => Braintree::Subscription::TrialDurationUnit::Day
42
+ }
43
+
44
+ TriallessPlan = {
45
+ :description => "Plan for integration tests -- without a trial",
46
+ :id => "integration_trialless_plan",
47
+ :price => BigDecimal.new("12.34"),
48
+ :trial_period => false
49
+ }
50
+
51
+ AddOnDiscountPlan = {
52
+ :description => "Plan for integration tests -- with add-ons and discounts",
53
+ :id => "integration_plan_with_add_ons_and_discounts",
54
+ :price => BigDecimal.new("9.99"),
55
+ :trial_period => true,
56
+ :trial_duration => 2,
57
+ :trial_duration_unit => Braintree::Subscription::TrialDurationUnit::Day
58
+ }
59
+
60
+ BillingDayOfMonthPlan = {
61
+ :description => "Plan for integration tests -- with billing day of month",
62
+ :id => "integration_plan_with_billing_day_of_month",
63
+ :price => BigDecimal.new("8.88"),
64
+ :billing_day_of_month => 5
65
+ }
66
+
67
+ AddOnIncrease10 = "increase_10"
68
+ AddOnIncrease20 = "increase_20"
69
+ AddOnIncrease30 = "increase_30"
70
+
71
+ Discount7 = "discount_7"
72
+ Discount11 = "discount_11"
73
+ Discount15 = "discount_15"
74
+
75
+ TestMerchantConfig = Braintree::Configuration.new(
76
+ :logger => Logger.new("/dev/null"),
77
+ :environment => :development,
78
+ :merchant_id => "test_merchant_id",
79
+ :public_key => "test_public_key",
80
+ :private_key => "test_private_key"
81
+ )
82
+
83
+ def self.make_past_due(subscription, number_of_days_past_due = 1)
84
+ Braintree::Configuration.instantiate.http.put(
85
+ "/subscriptions/#{subscription.id}/make_past_due?days_past_due=#{number_of_days_past_due}"
86
+ )
87
+ end
92
88
 
93
- def self.settle_transaction(transaction_id)
94
- Braintree::Configuration.instantiate.http.put("/transactions/#{transaction_id}/settle")
95
- end
89
+ def self.settle_transaction(transaction_id)
90
+ Braintree::Configuration.instantiate.http.put("/transactions/#{transaction_id}/settle")
91
+ end
96
92
 
97
- def self.stub_time_dot_now(desired_time)
98
- Time.class_eval do
99
- class << self
100
- alias original_now now
101
- end
93
+ def self.stub_time_dot_now(desired_time)
94
+ Time.class_eval do
95
+ class << self
96
+ alias original_now now
102
97
  end
103
- (class << Time; self; end).class_eval do
104
- define_method(:now) { desired_time }
105
- end
106
- yield
107
- ensure
108
- Time.class_eval do
109
- class << self
110
- alias now original_now
111
- end
98
+ end
99
+ (class << Time; self; end).class_eval do
100
+ define_method(:now) { desired_time }
101
+ end
102
+ yield
103
+ ensure
104
+ Time.class_eval do
105
+ class << self
106
+ alias now original_now
112
107
  end
113
108
  end
109
+ end
114
110
 
115
- def self.simulate_form_post_for_tr(tr_data_string, form_data_hash, url = Braintree::TransparentRedirect.url)
116
- response = nil
117
- Net::HTTP.start("localhost", Braintree::Configuration.instantiate.port) do |http|
118
- request = Net::HTTP::Post.new("/" + url.split("/", 4)[3])
119
- request.add_field "Content-Type", "application/x-www-form-urlencoded"
120
- request.body = Braintree::Util.hash_to_query_string({:tr_data => tr_data_string}.merge(form_data_hash))
121
- response = http.request(request)
122
- end
123
- if response.code.to_i == 303
124
- response["Location"].split("?", 2).last
125
- else
126
- raise "did not receive a valid tr response: #{response.body[0,1000].inspect}"
127
- end
111
+ def self.simulate_form_post_for_tr(tr_data_string, form_data_hash, url = Braintree::TransparentRedirect.url)
112
+ response = nil
113
+ Net::HTTP.start("localhost", Braintree::Configuration.instantiate.port) do |http|
114
+ request = Net::HTTP::Post.new("/" + url.split("/", 4)[3])
115
+ request.add_field "Content-Type", "application/x-www-form-urlencoded"
116
+ request.body = Braintree::Util.hash_to_query_string({:tr_data => tr_data_string}.merge(form_data_hash))
117
+ response = http.request(request)
118
+ end
119
+ if response.code.to_i == 303
120
+ response["Location"].split("?", 2).last
121
+ else
122
+ raise "did not receive a valid tr response: #{response.body[0,1000].inspect}"
128
123
  end
124
+ end
129
125
 
130
- def self.using_configuration(config = {}, &block)
131
- original_values = {}
132
- [:merchant_id, :public_key, :private_key].each do |key|
133
- if config[key]
134
- original_values[key] = Braintree::Configuration.send(key)
135
- Braintree::Configuration.send("#{key}=", config[key])
136
- end
126
+ def self.using_configuration(config = {}, &block)
127
+ original_values = {}
128
+ [:merchant_id, :public_key, :private_key].each do |key|
129
+ if config[key]
130
+ original_values[key] = Braintree::Configuration.send(key)
131
+ Braintree::Configuration.send("#{key}=", config[key])
137
132
  end
138
- begin
139
- yield
140
- ensure
141
- original_values.each do |key, value|
142
- Braintree::Configuration.send("#{key}=", value)
143
- end
133
+ end
134
+ begin
135
+ yield
136
+ ensure
137
+ original_values.each do |key, value|
138
+ Braintree::Configuration.send("#{key}=", value)
144
139
  end
145
140
  end
146
141
  end
142
+ end
147
143
 
148
- module CustomMatchers
149
- class ParseTo
150
- def initialize(hash)
151
- @expected_hash = hash
152
- end
153
-
154
- def matches?(xml_string)
155
- @libxml_parse = Braintree::Xml::Parser.hash_from_xml(xml_string, Braintree::Xml::Libxml)
156
- @rexml_parse = Braintree::Xml::Parser.hash_from_xml(xml_string, Braintree::Xml::Rexml)
157
- if @libxml_parse != @expected_hash
158
- @results = @libxml_parse
159
- @failed_parser = "libxml"
160
- false
161
- elsif @rexml_parse != @expected_hash
162
- @results = @rexml_parse
163
- @failed_parser = "rexml"
164
- false
165
- else
166
- true
167
- end
168
- end
144
+ module CustomMatchers
145
+ class ParseTo
146
+ def initialize(hash)
147
+ @expected_hash = hash
148
+ end
169
149
 
170
- def failure_message
171
- "xml parsing failed for #{@failed_parser}, expected #{@expected_hash.inspect} but was #{@results.inspect}"
150
+ def matches?(xml_string)
151
+ @libxml_parse = Braintree::Xml::Parser.hash_from_xml(xml_string, Braintree::Xml::Libxml)
152
+ @rexml_parse = Braintree::Xml::Parser.hash_from_xml(xml_string, Braintree::Xml::Rexml)
153
+ if @libxml_parse != @expected_hash
154
+ @results = @libxml_parse
155
+ @failed_parser = "libxml"
156
+ false
157
+ elsif @rexml_parse != @expected_hash
158
+ @results = @rexml_parse
159
+ @failed_parser = "rexml"
160
+ false
161
+ else
162
+ true
172
163
  end
164
+ end
173
165
 
174
- def negative_failure_message
175
- raise NotImplementedError
176
- end
166
+ def failure_message
167
+ "xml parsing failed for #{@failed_parser}, expected #{@expected_hash.inspect} but was #{@results.inspect}"
177
168
  end
178
169
 
179
- def parse_to(hash)
180
- ParseTo.new(hash)
170
+ def negative_failure_message
171
+ raise NotImplementedError
181
172
  end
182
173
  end
183
174
 
184
- Spec::Runner.configure do |config|
185
- config.include CustomMatchers
175
+ def parse_to(hash)
176
+ ParseTo.new(hash)
186
177
  end
187
178
  end
188
179
 
180
+ Spec::Runner.configure do |config|
181
+ config.include CustomMatchers
182
+ end
@@ -0,0 +1,23 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Braintree::MerchantAccount do
4
+ describe "#inspect" do
5
+ it "is a string representation of the merchant account" do
6
+ account = Braintree::MerchantAccount._new(nil, :id => "merchant_account", :status => "active", :master_merchant_account => nil)
7
+
8
+ account.inspect.should == "#<Braintree::MerchantAccount: id: \"merchant_account\", status: \"active\", master_merchant_account: nil>"
9
+ end
10
+
11
+ it "handles a master merchant account" do
12
+ account = Braintree::MerchantAccount._new(
13
+ nil,
14
+ :id => "merchant_account",
15
+ :status => "active",
16
+ :master_merchant_account => {:id => "master_merchant_account", :status => "active", :master_merchant_account => nil}
17
+ )
18
+
19
+ master_merchant_account = "#<Braintree::MerchantAccount: id: \"master_merchant_account\", status: \"active\", master_merchant_account: nil>"
20
+ account.inspect.should == "#<Braintree::MerchantAccount: id: \"merchant_account\", status: \"active\", master_merchant_account: #{master_merchant_account}>"
21
+ end
22
+ end
23
+ end
@@ -15,8 +15,75 @@ describe Braintree::WebhookNotification do
15
15
  notification.timestamp.should be_close(Time.now.utc, 10)
16
16
  end
17
17
 
18
+ it "builds a sample notification for a partner user created webhook" do
19
+ signature, payload = Braintree::WebhookTesting.sample_notification(
20
+ Braintree::WebhookNotification::Kind::PartnerUserCreated,
21
+ "my_id"
22
+ )
23
+
24
+ notification = Braintree::WebhookNotification.parse(signature, payload)
25
+
26
+ notification.kind.should == Braintree::WebhookNotification::Kind::PartnerUserCreated
27
+ notification.partner_credentials.merchant_public_id.should == "public_id"
28
+ notification.partner_credentials.public_key.should == "public_key"
29
+ notification.partner_credentials.private_key.should == "private_key"
30
+ notification.partner_credentials.partner_user_id.should == "abc123"
31
+ notification.timestamp.should be_close(Time.now.utc, 10)
32
+ end
33
+
34
+ it "builds a sample notification for a transaction disbursed webhook" do
35
+ signature, payload = Braintree::WebhookTesting.sample_notification(
36
+ Braintree::WebhookNotification::Kind::TransactionDisbursed,
37
+ "my_id"
38
+ )
39
+
40
+ notification = Braintree::WebhookNotification.parse(signature, payload)
41
+
42
+ notification.kind.should == Braintree::WebhookNotification::Kind::TransactionDisbursed
43
+ notification.transaction.id.should == "my_id"
44
+ notification.transaction.amount.should == 1_00
45
+ notification.transaction.disbursement_details.disbursement_date.should == Time.utc(2013, 7, 9, 18, 23, 29)
46
+ end
47
+
48
+ context "merchant account" do
49
+ it "builds a sample notification for a merchant account approved webhook" do
50
+ signature, payload = Braintree::WebhookTesting.sample_notification(
51
+ Braintree::WebhookNotification::Kind::SubMerchantAccountApproved,
52
+ "my_id"
53
+ )
54
+
55
+ notification = Braintree::WebhookNotification.parse(signature, payload)
56
+
57
+ notification.kind.should == Braintree::WebhookNotification::Kind::SubMerchantAccountApproved
58
+ notification.merchant_account.id.should == "my_id"
59
+ notification.merchant_account.status.should == Braintree::MerchantAccount::Status::Active
60
+ notification.merchant_account.master_merchant_account.id.should == "master_ma_for_my_id"
61
+ notification.merchant_account.master_merchant_account.status.should == Braintree::MerchantAccount::Status::Active
62
+ end
63
+
64
+ it "builds a sample notification for a merchant account declined webhook" do
65
+ signature, payload = Braintree::WebhookTesting.sample_notification(
66
+ Braintree::WebhookNotification::Kind::SubMerchantAccountDeclined,
67
+ "my_id"
68
+ )
69
+
70
+ notification = Braintree::WebhookNotification.parse(signature, payload)
71
+
72
+ notification.kind.should == Braintree::WebhookNotification::Kind::SubMerchantAccountDeclined
73
+ notification.merchant_account.id.should == "my_id"
74
+ notification.merchant_account.status.should == Braintree::MerchantAccount::Status::Suspended
75
+ notification.merchant_account.master_merchant_account.id.should == "master_ma_for_my_id"
76
+ notification.merchant_account.master_merchant_account.status.should == Braintree::MerchantAccount::Status::Suspended
77
+ notification.message.should == "Credit score is too low"
78
+ notification.errors.for(:merchant_account).on(:base).first.code.should == Braintree::ErrorCodes::MerchantAccount::ApplicantDetails::DeclinedOFAC
79
+ end
80
+ end
81
+
18
82
  it "includes a valid signature" do
19
- signature, payload = Braintree::WebhookTesting.sample_notification(Braintree::WebhookNotification::Kind::SubscriptionWentPastDue, "my_id")
83
+ signature, payload = Braintree::WebhookTesting.sample_notification(
84
+ Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
85
+ "my_id"
86
+ )
20
87
  expected_signature = Braintree::Digest.hexdigest(Braintree::Configuration.private_key, payload)
21
88
 
22
89
  signature.should == "#{Braintree::Configuration.public_key}|#{expected_signature}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.24.0
4
+ version: 2.25.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-18 00:00:00.000000000 Z
12
+ date: 2013-08-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -36,132 +36,137 @@ files:
36
36
  - README.rdoc
37
37
  - LICENSE
38
38
  - lib/braintree.rb
39
- - lib/braintree/validation_error.rb
40
- - lib/braintree/webhook_testing_gateway.rb
41
- - lib/braintree/transparent_redirect.rb
42
- - lib/braintree/webhook_notification.rb
43
- - lib/braintree/validation_error_collection.rb
44
- - lib/braintree/transaction.rb
45
- - lib/braintree/credit_card_verification_gateway.rb
46
- - lib/braintree/webhook_notification_gateway.rb
47
- - lib/braintree/transaction_search.rb
48
- - lib/braintree/transaction_gateway.rb
49
- - lib/braintree/add_on.rb
50
- - lib/braintree/resource_collection.rb
51
- - lib/braintree/address_gateway.rb
52
- - lib/braintree/successful_result.rb
53
- - lib/braintree/plan.rb
54
39
  - lib/braintree/subscription_search.rb
55
- - lib/braintree/descriptor.rb
56
- - lib/braintree/error_codes.rb
57
- - lib/braintree/xml.rb
58
- - lib/braintree/discount_gateway.rb
59
- - lib/braintree/xml/generator.rb
60
- - lib/braintree/xml/parser.rb
61
- - lib/braintree/xml/rexml.rb
62
- - lib/braintree/xml/libxml.rb
40
+ - lib/braintree/modification.rb
41
+ - lib/braintree/errors.rb
42
+ - lib/braintree/test/credit_card.rb
43
+ - lib/braintree/test/transaction_amounts.rb
44
+ - lib/braintree/test/merchant_account.rb
45
+ - lib/braintree/test/venmo_sdk.rb
46
+ - lib/braintree/webhook_testing.rb
47
+ - lib/braintree/webhook_testing_gateway.rb
48
+ - lib/braintree/advanced_search.rb
63
49
  - lib/braintree/version.rb
50
+ - lib/braintree/add_on.rb
64
51
  - lib/braintree/address.rb
65
- - lib/braintree/modification.rb
66
- - lib/braintree/http.rb
67
52
  - lib/braintree/digest.rb
68
- - lib/braintree/customer.rb
69
- - lib/braintree/gateway.rb
70
- - lib/braintree/base_module.rb
71
- - lib/braintree/advanced_search.rb
72
53
  - lib/braintree/settlement_batch_summary.rb
73
- - lib/braintree/errors.rb
74
- - lib/braintree/customer_gateway.rb
75
- - lib/braintree/webhook_testing.rb
76
- - lib/braintree/credit_card.rb
54
+ - lib/braintree/error_codes.rb
55
+ - lib/braintree/discount.rb
56
+ - lib/braintree/webhook_notification.rb
77
57
  - lib/braintree/settlement_batch_summary_gateway.rb
58
+ - lib/braintree/validation_error_collection.rb
59
+ - lib/braintree/credit_card_verification_gateway.rb
60
+ - lib/braintree/credit_card.rb
78
61
  - lib/braintree/customer_search.rb
79
- - lib/braintree/address/country_names.rb
80
62
  - lib/braintree/util.rb
81
- - lib/braintree/subscription_gateway.rb
82
- - lib/braintree/discount.rb
63
+ - lib/braintree/transparent_redirect.rb
64
+ - lib/braintree/xml/generator.rb
65
+ - lib/braintree/xml/rexml.rb
66
+ - lib/braintree/xml/libxml.rb
67
+ - lib/braintree/xml/parser.rb
68
+ - lib/braintree/exceptions.rb
69
+ - lib/braintree/validation_error.rb
70
+ - lib/braintree/resource_collection.rb
71
+ - lib/braintree/xml.rb
83
72
  - lib/braintree/credit_card_verification.rb
84
- - lib/braintree/credit_card_gateway.rb
73
+ - lib/braintree/configuration.rb
74
+ - lib/braintree/transaction.rb
75
+ - lib/braintree/http.rb
76
+ - lib/braintree/address_gateway.rb
77
+ - lib/braintree/subscription_gateway.rb
78
+ - lib/braintree/customer_gateway.rb
79
+ - lib/braintree/plan_gateway.rb
85
80
  - lib/braintree/credit_card_verification_search.rb
86
- - lib/braintree/add_on_gateway.rb
81
+ - lib/braintree/successful_result.rb
87
82
  - lib/braintree/settlement_batch.rb
83
+ - lib/braintree/plan.rb
84
+ - lib/braintree/gateway.rb
88
85
  - lib/braintree/transparent_redirect_gateway.rb
89
- - lib/braintree/test/venmo_sdk.rb
90
- - lib/braintree/test/transaction_amounts.rb
91
- - lib/braintree/test/credit_card.rb
92
- - lib/braintree/subscription.rb
93
- - lib/braintree/plan_gateway.rb
94
- - lib/braintree/exceptions.rb
95
- - lib/braintree/error_result.rb
96
- - lib/braintree/configuration.rb
86
+ - lib/braintree/base_module.rb
87
+ - lib/braintree/add_on_gateway.rb
97
88
  - lib/braintree/transaction/subscription_details.rb
98
- - lib/braintree/transaction/address_details.rb
99
- - lib/braintree/transaction/status_details.rb
89
+ - lib/braintree/transaction/disbursement_details.rb
100
90
  - lib/braintree/transaction/customer_details.rb
101
91
  - lib/braintree/transaction/credit_card_details.rb
102
- - lib/braintree/transaction/disbursement_details.rb
92
+ - lib/braintree/transaction/status_details.rb
93
+ - lib/braintree/transaction/address_details.rb
94
+ - lib/braintree/transaction_search.rb
95
+ - lib/braintree/error_result.rb
96
+ - lib/braintree/credit_card_gateway.rb
97
+ - lib/braintree/descriptor.rb
98
+ - lib/braintree/transaction_gateway.rb
99
+ - lib/braintree/subscription.rb
100
+ - lib/braintree/merchant_account.rb
101
+ - lib/braintree/address/country_names.rb
102
+ - lib/braintree/webhook_notification_gateway.rb
103
+ - lib/braintree/merchant_account_gateway.rb
104
+ - lib/braintree/customer.rb
105
+ - lib/braintree/discount_gateway.rb
103
106
  - lib/ssl/www_braintreegateway_com.ca.crt
104
- - lib/ssl/securetrust_ca.crt
105
107
  - lib/ssl/sandbox_braintreegateway_com.ca.crt
106
- - spec/integration/spec_helper.rb
107
- - spec/integration/braintree/error_codes_spec.rb
108
- - spec/integration/braintree/transparent_redirect_spec.rb
109
- - spec/integration/braintree/credit_card_verification_search_spec.rb
110
- - spec/integration/braintree/advanced_search_spec.rb
111
- - spec/integration/braintree/discount_spec.rb
112
- - spec/integration/braintree/credit_card_spec.rb
113
- - spec/integration/braintree/settlement_batch_summary_spec.rb
114
- - spec/integration/braintree/address_spec.rb
115
- - spec/integration/braintree/customer_search_spec.rb
116
- - spec/integration/braintree/credit_card_verification_spec.rb
117
- - spec/integration/braintree/plan_spec.rb
118
- - spec/integration/braintree/http_spec.rb
119
- - spec/integration/braintree/customer_spec.rb
120
- - spec/integration/braintree/add_on_spec.rb
121
- - spec/integration/braintree/transaction_spec.rb
122
- - spec/integration/braintree/transaction_search_spec.rb
123
- - spec/integration/braintree/subscription_spec.rb
124
- - spec/integration/braintree/test/transaction_amounts_spec.rb
108
+ - lib/ssl/securetrust_ca.crt
109
+ - spec/script/httpsd.rb
125
110
  - spec/spec_helper.rb
126
- - spec/ssl/certificate.crt
127
- - spec/ssl/geotrust_global.crt
128
- - spec/ssl/privateKey.key
129
- - spec/httpsd.pid
130
- - spec/unit/braintree_spec.rb
131
111
  - spec/unit/spec_helper.rb
132
- - spec/unit/braintree/transparent_redirect_spec.rb
133
- - spec/unit/braintree/credit_card_verification_search_spec.rb
134
- - spec/unit/braintree/base_module_spec.rb
135
- - spec/unit/braintree/credit_card_spec.rb
136
- - spec/unit/braintree/xml_spec.rb
137
- - spec/unit/braintree/address_spec.rb
138
- - spec/unit/braintree/validation_error_collection_spec.rb
139
- - spec/unit/braintree/util_spec.rb
112
+ - spec/unit/braintree/transaction_search_spec.rb
140
113
  - spec/unit/braintree/error_result_spec.rb
114
+ - spec/unit/braintree/xml_spec.rb
115
+ - spec/unit/braintree/customer_spec.rb
116
+ - spec/unit/braintree/transaction_spec.rb
117
+ - spec/unit/braintree/webhook_notification_spec.rb
118
+ - spec/unit/braintree/http_spec.rb
119
+ - spec/unit/braintree/subscription_spec.rb
120
+ - spec/unit/braintree/credit_card_verification_search_spec.rb
121
+ - spec/unit/braintree/subscription_search_spec.rb
122
+ - spec/unit/braintree/successful_result_spec.rb
141
123
  - spec/unit/braintree/credit_card_verification_spec.rb
142
- - spec/unit/braintree/xml/rexml_spec.rb
143
- - spec/unit/braintree/xml/parser_spec.rb
124
+ - spec/unit/braintree/validation_error_spec.rb
125
+ - spec/unit/braintree/resource_collection_spec.rb
144
126
  - spec/unit/braintree/xml/libxml_spec.rb
127
+ - spec/unit/braintree/xml/parser_spec.rb
128
+ - spec/unit/braintree/xml/rexml_spec.rb
145
129
  - spec/unit/braintree/configuration_spec.rb
130
+ - spec/unit/braintree/validation_error_collection_spec.rb
131
+ - spec/unit/braintree/merchant_account_spec.rb
146
132
  - spec/unit/braintree/errors_spec.rb
147
- - spec/unit/braintree/digest_spec.rb
148
- - spec/unit/braintree/validation_error_spec.rb
149
- - spec/unit/braintree/webhook_notification_spec.rb
150
- - spec/unit/braintree/subscription_search_spec.rb
151
- - spec/unit/braintree/http_spec.rb
152
- - spec/unit/braintree/customer_spec.rb
153
133
  - spec/unit/braintree/modification_spec.rb
154
- - spec/unit/braintree/transaction_spec.rb
155
- - spec/unit/braintree/resource_collection_spec.rb
156
- - spec/unit/braintree/successful_result_spec.rb
157
- - spec/unit/braintree/transaction_search_spec.rb
158
- - spec/unit/braintree/subscription_spec.rb
134
+ - spec/unit/braintree/util_spec.rb
135
+ - spec/unit/braintree/base_module_spec.rb
136
+ - spec/unit/braintree/address_spec.rb
137
+ - spec/unit/braintree/transparent_redirect_spec.rb
159
138
  - spec/unit/braintree/transaction/deposit_details_spec.rb
160
- - spec/unit/braintree/transaction/customer_details_spec.rb
161
139
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
162
- - spec/spec.opts
140
+ - spec/unit/braintree/transaction/customer_details_spec.rb
141
+ - spec/unit/braintree/credit_card_spec.rb
142
+ - spec/unit/braintree/digest_spec.rb
143
+ - spec/unit/braintree_spec.rb
163
144
  - spec/hacks/tcp_socket.rb
164
- - spec/script/httpsd.rb
145
+ - spec/httpsd.pid
146
+ - spec/integration/spec_helper.rb
147
+ - spec/integration/braintree/settlement_batch_summary_spec.rb
148
+ - spec/integration/braintree/transaction_search_spec.rb
149
+ - spec/integration/braintree/test/transaction_amounts_spec.rb
150
+ - spec/integration/braintree/customer_spec.rb
151
+ - spec/integration/braintree/transaction_spec.rb
152
+ - spec/integration/braintree/add_on_spec.rb
153
+ - spec/integration/braintree/http_spec.rb
154
+ - spec/integration/braintree/subscription_spec.rb
155
+ - spec/integration/braintree/credit_card_verification_search_spec.rb
156
+ - spec/integration/braintree/credit_card_verification_spec.rb
157
+ - spec/integration/braintree/advanced_search_spec.rb
158
+ - spec/integration/braintree/customer_search_spec.rb
159
+ - spec/integration/braintree/merchant_account_spec.rb
160
+ - spec/integration/braintree/plan_spec.rb
161
+ - spec/integration/braintree/error_codes_spec.rb
162
+ - spec/integration/braintree/address_spec.rb
163
+ - spec/integration/braintree/transparent_redirect_spec.rb
164
+ - spec/integration/braintree/credit_card_spec.rb
165
+ - spec/integration/braintree/discount_spec.rb
166
+ - spec/spec.opts
167
+ - spec/ssl/geotrust_global.crt
168
+ - spec/ssl/certificate.crt
169
+ - spec/ssl/privateKey.key
165
170
  - braintree.gemspec
166
171
  homepage: http://www.braintreepayments.com/
167
172
  licenses: []