saucy 0.11.3 → 0.11.5

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,3 +1,12 @@
1
+ 0.11.5
2
+
3
+ Trying to fix gemspec.
4
+
5
+ 0.11.4
6
+
7
+ Bugfix: Billing problem mailer has no need for a transaction.
8
+ Fix broken test suite.
9
+
1
10
  0.11.3
2
11
 
3
12
  Bugfix: Billing emails previously used an arbitrarily chosen transaction.
@@ -10,9 +10,8 @@ class BillingMailer < ActionMailer::Base
10
10
  :from => Saucy::Configuration.support_email_address)
11
11
  end
12
12
 
13
- def problem(account, transaction)
13
+ def problem(account)
14
14
  @account = account
15
- @transaction = transaction
16
15
  mail(:to => account.customer.email,
17
16
  :subject => I18n.t(:subject,
18
17
  :scope => [:saucy, :mailers, :billing_mailer, :problem],
@@ -1,4 +1,4 @@
1
- <p>Unfortunately there was a problem processing your latest payment on <%= @transaction.created_at.to_s(:short_date) %> for your <%= @account.name -%> account on <%= t("app_name") %>.</p>
1
+ <p>Unfortunately there was a problem processing your latest payment for your <%= @account.name -%> account on <%= t("app_name") %>.</p>
2
2
 
3
3
  <p>Some functionality of your <%= @account.name -%> account on <%= t("app_name") %> is now disabled.</p>
4
4
 
@@ -1,4 +1,4 @@
1
- Unfortunately there was a problem processing your latest payment on <%= @transaction.created_at.to_s(:short_date) %> for your <%= @account.name -%> account on <%= t("app_name") %>.
1
+ Unfortunately there was a problem processing your latest payment for your <%= @account.name -%> account on <%= t("app_name") %>.
2
2
 
3
3
  Some functionality of your <%= @account.name -%> account on <%= t("app_name") %> is now disabled.
4
4
 
@@ -232,7 +232,7 @@ module Saucy
232
232
  account.next_billing_date = account.subscription.next_billing_date
233
233
  account.save!
234
234
  if account.past_due?
235
- BillingMailer.problem(account, account.most_recent_transaction).deliver!
235
+ BillingMailer.problem(account).deliver!
236
236
  else
237
237
  BillingMailer.receipt(account, account.most_recent_transaction).deliver!
238
238
  Saucy::Notifications.notify_observers("billed", :account => account)
@@ -21,7 +21,7 @@ describe "with an account and transaction" do
21
21
  end
22
22
 
23
23
  describe BillingMailer, "problem" do
24
- subject { BillingMailer.problem(account, account.subscription.transactions.first) }
24
+ subject { BillingMailer.problem(account) }
25
25
 
26
26
  it "sends the problem mail from the support address" do
27
27
  subject.from.should == [Saucy::Configuration.support_email_address]
@@ -30,11 +30,6 @@ describe "with an account and transaction" do
30
30
  it "sets the problem mail reply-to to the support address" do
31
31
  subject.reply_to.should == [Saucy::Configuration.support_email_address]
32
32
  end
33
-
34
- it "includes the attempted billing date" do
35
- billing_date = account.subscription.transactions.first.created_at
36
- subject.to_s.should include(billing_date.to_s(:short_date))
37
- end
38
33
  end
39
34
 
40
35
  describe BillingMailer, "expiring trial" do
@@ -339,7 +339,7 @@ describe Account, "with a paid subscription" do
339
339
  end
340
340
  end
341
341
 
342
- context "with multiple historical transactions" do
342
+ context "with multiple historical transactions and an active account" do
343
343
  let(:subscription) { FakeBraintree.subscriptions[subject.subscription_token] }
344
344
 
345
345
  let!(:earlier_transaction_date) { 2.months.ago }
@@ -357,48 +357,11 @@ describe Account, "with a paid subscription" do
357
357
 
358
358
  before do
359
359
  subscription["next_billing_date"] = 2.months.from_now
360
- end
361
-
362
- context "and a past due account" do
363
- let(:earlier_transaction) {
364
- build_transaction(:created_at => earlier_transaction_date, :status => Braintree::Transaction::Status::Failed)
365
- }
366
-
367
- let(:later_transaction) {
368
- build_transaction(:created_at => later_transaction_date, :status => Braintree::Transaction::Status::Failed)
369
- }
370
-
371
- before do
372
- subscription["status"] = Braintree::Subscription::Status::PastDue
373
- subscription["transactions"] = [later_transaction, earlier_transaction]
374
- end
375
-
376
- it "receives a problem email with the correct transaction" do
377
- Timecop.travel(subject.next_billing_date + 1.day) do
378
- ActionMailer::Base.deliveries.clear
379
- Account.update_subscriptions!
380
-
381
- ActionMailer::Base.deliveries.any? do |email|
382
- email.subject =~ /problem/i &&
383
- email.to_s.include?(later_transaction_date.strftime("%x"))
384
- end.should be
385
- end
386
- end
387
- end
388
-
389
- context "and an actively billed account" do
390
- let(:earlier_transaction) {
391
- build_transaction(:created_at => earlier_transaction_date, :status => Braintree::Transaction::Status::Settled)
392
- }
393
-
394
- let(:later_transaction) {
395
- build_transaction(:created_at => later_transaction_date, :status => Braintree::Transaction::Status::Settled)
396
- }
397
-
398
- before do
399
- subscription["status"] = Braintree::Subscription::Status::Active
400
- subscription["transactions"] = [later_transaction, earlier_transaction]
401
- end
360
+ subscription["status"] = Braintree::Subscription::Status::Active
361
+ subscription["transactions"] = [
362
+ build_transaction(:created_at => later_transaction_date),
363
+ build_transaction(:created_at => earlier_transaction_date)
364
+ ]
402
365
 
403
366
  it "receives a receipt email with the correct transaction for active accounts" do
404
367
  Timecop.travel(subject.next_billing_date + 1.day) do
@@ -407,7 +370,7 @@ describe Account, "with a paid subscription" do
407
370
 
408
371
  ActionMailer::Base.deliveries.any? do |email|
409
372
  email.subject =~ /receipt/i &&
410
- email.to_s.include?(later_transaction_date.strftime("%x"))
373
+ email.to_s.include?(later_transaction_date.strftime("%x"))
411
374
  end.should be
412
375
  end
413
376
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: saucy
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.11.3
5
+ version: 0.11.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - thoughtbot, inc.
@@ -15,10 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-03 00:00:00 Z
18
+ date: 2011-10-04 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: clearance
22
+ prerelease: false
22
23
  requirement: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
@@ -26,10 +27,10 @@ dependencies:
26
27
  - !ruby/object:Gem::Version
27
28
  version: 0.11.2
28
29
  type: :runtime
29
- prerelease: false
30
30
  version_requirements: *id001
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: formtastic
33
+ prerelease: false
33
34
  requirement: &id002 !ruby/object:Gem::Requirement
34
35
  none: false
35
36
  requirements:
@@ -37,10 +38,10 @@ dependencies:
37
38
  - !ruby/object:Gem::Version
38
39
  version: "1.2"
39
40
  type: :runtime
40
- prerelease: false
41
41
  version_requirements: *id002
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: railties
44
+ prerelease: false
44
45
  requirement: &id003 !ruby/object:Gem::Requirement
45
46
  none: false
46
47
  requirements:
@@ -48,10 +49,10 @@ dependencies:
48
49
  - !ruby/object:Gem::Version
49
50
  version: 3.0.3
50
51
  type: :runtime
51
- prerelease: false
52
52
  version_requirements: *id003
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: braintree
55
+ prerelease: false
55
56
  requirement: &id004 !ruby/object:Gem::Requirement
56
57
  none: false
57
58
  requirements:
@@ -59,10 +60,10 @@ dependencies:
59
60
  - !ruby/object:Gem::Version
60
61
  version: 2.6.2
61
62
  type: :runtime
62
- prerelease: false
63
63
  version_requirements: *id004
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: sham_rack
66
+ prerelease: false
66
67
  requirement: &id005 !ruby/object:Gem::Requirement
67
68
  none: false
68
69
  requirements:
@@ -70,10 +71,10 @@ dependencies:
70
71
  - !ruby/object:Gem::Version
71
72
  version: 1.3.3
72
73
  type: :runtime
73
- prerelease: false
74
74
  version_requirements: *id005
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: sinatra
77
+ prerelease: false
77
78
  requirement: &id006 !ruby/object:Gem::Requirement
78
79
  none: false
79
80
  requirements:
@@ -81,10 +82,10 @@ dependencies:
81
82
  - !ruby/object:Gem::Version
82
83
  version: 1.1.2
83
84
  type: :runtime
84
- prerelease: false
85
85
  version_requirements: *id006
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: aruba
88
+ prerelease: false
88
89
  requirement: &id007 !ruby/object:Gem::Requirement
89
90
  none: false
90
91
  requirements:
@@ -92,7 +93,6 @@ dependencies:
92
93
  - !ruby/object:Gem::Version
93
94
  version: 0.2.6
94
95
  type: :development
95
- prerelease: false
96
96
  version_requirements: *id007
97
97
  description: Clearance-based Rails engine for Software as a Service (Saas) that provides account and project management
98
98
  email: support@thoughtbot.com
@@ -287,9 +287,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
287
287
  requirements:
288
288
  - - ">="
289
289
  - !ruby/object:Gem::Version
290
- hash: 1978592027769739368
291
- segments:
292
- - 0
293
290
  version: "0"
294
291
  required_rubygems_version: !ruby/object:Gem::Requirement
295
292
  none: false