paid_up 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -9
- data/README.md +3 -1
- data/VERSION +1 -1
- data/app/controllers/paid_up/paid_up_controller.rb +9 -0
- data/app/controllers/paid_up/subscriptions_controller.rb +2 -2
- data/app/helpers/paid_up/plans_helper.rb +4 -1
- data/app/mailers/paid_up/paid_up_mailer.rb +6 -0
- data/app/mailers/paid_up/subscription_mailer.rb +9 -0
- data/app/views/layouts/mailer.html.haml +3 -0
- data/app/views/layouts/mailer.text.haml +1 -0
- data/app/views/paid_up/features/_abilities_table.html.haml +22 -2
- data/app/views/paid_up/subscription_mailer/payment_failed_email.html.haml +0 -0
- data/app/views/paid_up/subscription_mailer/payment_failed_email.text.haml +0 -0
- data/app/views/paid_up/subscriptions/index.html.haml +16 -14
- data/config/locales/en.yml +8 -0
- data/coverage/.last_run.json +1 -1
- data/coverage/.resultset.json +162 -63
- data/lib/paid_up.rb +1 -2
- data/lib/paid_up/extensions/stripe.rb +1 -0
- data/lib/paid_up/mixins/subscriber.rb +27 -10
- data/paid_up.gemspec +15 -3
- data/spec/dummy/config/routes.rb +2 -15
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/seeds.rb +149 -121
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/tasks/system.rake +12 -0
- data/spec/dummy/log/development.log +16385 -10278
- data/spec/factories/user.rb +22 -8
- data/spec/mailers/paid_up/subscription_mailer_spec.rb +5 -0
- data/spec/mailers/previews/paid_up/subscription_mailer_preview.rb +7 -0
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 954e8e00f2f48658af2ebd13a213bfcf5fce324c
|
4
|
+
data.tar.gz: bd53708ca30d9ec690cd59501dc6b69199db3b3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 722c22b55fb992937f6295aa57516bf220892eb777c0ba91a8dbe67e6563e3d51f6da2ff5b299336438571fbb9b4cf7d135a3390f65335c0aa18531e8b999dc8
|
7
|
+
data.tar.gz: 6870caa2fa1b6c5dd392c5a6b0ac5904c34579d3a4d1b41821d9181f239333f8d4dbe4515f84c7fff6b117f7070a1cb013e4fabe1534296ce201322c29e93615
|
data/Gemfile
CHANGED
@@ -19,6 +19,7 @@ gem 'stripe', '~> 1.21'
|
|
19
19
|
group :development do
|
20
20
|
gem 'jeweler', '~> 2'
|
21
21
|
gem 'bundler', '~> 1'
|
22
|
+
gem 'web-console', '~> 3.0'
|
22
23
|
end
|
23
24
|
|
24
25
|
group :test, :development do
|
@@ -38,12 +39,4 @@ group :test do
|
|
38
39
|
gem 'shoulda-matchers', '~> 2.8'
|
39
40
|
gem 'launchy', '~> 2.1.2', require: false
|
40
41
|
gem 'coveralls', '~> 0.8', require: false
|
41
|
-
end
|
42
|
-
|
43
|
-
# Declare any dependencies that are still in development here instead of in
|
44
|
-
# your gemspec. These might include edge Rails or gems from your path or
|
45
|
-
# Git. Remember to move these dependencies to your gemspec before releasing
|
46
|
-
# your gem to rubygems.org.
|
47
|
-
|
48
|
-
# To use debugger
|
49
|
-
# gem 'debugger'
|
42
|
+
end
|
data/README.md
CHANGED
@@ -33,7 +33,7 @@ Next, install PaidUp for your user model by executing these commands:
|
|
33
33
|
|
34
34
|
Edit your config file at `config/initializers/paid_up.rb` to set up some other key details.
|
35
35
|
|
36
|
-
Set your environment variables with your STRIPE_PUBLISHABLE_KEY and
|
36
|
+
Set your environment variables with your `STRIPE_PUBLISHABLE_KEY` and `STRIPE_SECRET_KEY`. (Check your operating system or IDE's documentation for details. I use the gem `dotenv` for this.)
|
37
37
|
|
38
38
|
## Stripe Setup
|
39
39
|
|
@@ -45,6 +45,8 @@ Coupons do not need any further configuration, other than adding them to your St
|
|
45
45
|
|
46
46
|
Next, add a `Stripe::Customer` to serve as the Anonymous User, and subscribe that customer to the anonymous plan. Note the customer's `id` and copy that into your stripe configuration file.
|
47
47
|
|
48
|
+
Pay close attention to the settings in `My Account` under `Subscriptions` and `Email`, as they have a big effect on how your site behaves.
|
49
|
+
|
48
50
|
## Features Setup
|
49
51
|
|
50
52
|
Set up each `PaidUp::Feature` using the config file. (A config file is used rather than using records in an `ActiveRecord::Base` model because relationships cannot be created at runtime.) Associate the features with the corresponding plans using the `PaidUp::PlanFeatureSetting` model. For an example, check out the seeds file at [`spec/dummy/db/seeds.db`](spec/dummy/db/seeds.db)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.2
|
@@ -3,10 +3,19 @@ module PaidUp
|
|
3
3
|
helper :all
|
4
4
|
|
5
5
|
before_action :set_locale
|
6
|
+
before_filter :warn_if_delinquent
|
6
7
|
|
7
8
|
private
|
8
9
|
def set_locale
|
9
10
|
I18n.locale = params[:locale] || I18n.default_locale
|
10
11
|
end
|
12
|
+
|
13
|
+
def warn_if_delinquent
|
14
|
+
if user_signed_in? && params[:controller] != 'paid_up/subscriptions'
|
15
|
+
if current_user.plan.nil? || current_user.stripe_data.delinquent
|
16
|
+
flash[:error] = :account_is_delinquent.l + :to_disable_this_message_subscribe.l(subscribe_link: paid_up.plans_path)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
11
20
|
end
|
12
21
|
end
|
@@ -9,7 +9,7 @@ module PaidUp
|
|
9
9
|
|
10
10
|
def new
|
11
11
|
# nothing to do, @plan set by #set_plan
|
12
|
-
if current_user.can_downgrade_to?
|
12
|
+
if current_user.can_downgrade_to?(@plan) || @plan.amount == 0
|
13
13
|
create
|
14
14
|
end
|
15
15
|
end
|
@@ -24,7 +24,7 @@ module PaidUp
|
|
24
24
|
end
|
25
25
|
rescue Stripe::InvalidRequestError => e
|
26
26
|
flash[:error] = e.message
|
27
|
-
redirect_to
|
27
|
+
redirect_to subscriptions_path
|
28
28
|
rescue Stripe::CardError => e
|
29
29
|
flash[:error] = e.message
|
30
30
|
redirect_to new_plan_subscription_path
|
@@ -38,7 +38,10 @@ module PaidUp
|
|
38
38
|
link = paid_up.new_plan_subscription_path(plan)
|
39
39
|
if user_signed_in?
|
40
40
|
text ||= :subscribe.l
|
41
|
-
if current_user.
|
41
|
+
if current_user.stripe_data.delinquent
|
42
|
+
icon_class = 'arrow-right'
|
43
|
+
css_class += 'btn-info'
|
44
|
+
elsif current_user.can_upgrade_to? plan
|
42
45
|
icon_class = 'arrow-up'
|
43
46
|
css_class += 'btn-success'
|
44
47
|
elsif current_user.can_downgrade_to? plan
|
@@ -0,0 +1,9 @@
|
|
1
|
+
module PaidUp
|
2
|
+
class SubscriptionMailer < PaidUpMailer
|
3
|
+
def payment_failed_email(invoice)
|
4
|
+
@invoice = invoice
|
5
|
+
@user = User.find_by_stripe_id(@invoice.customer)
|
6
|
+
mail(to: @user.email, subject: :your_site_subscription_payment_failed.l(site: PaidUp.configuration.site_name))
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
= yield
|
@@ -17,7 +17,17 @@
|
|
17
17
|
- if current_user.table_rows_unlimited?(feature.slug)
|
18
18
|
= :unlimited.l
|
19
19
|
- else
|
20
|
-
|
20
|
+
- remaining = current_user.table_rows_remaining(feature.slug)
|
21
|
+
- allowed = current_user.table_rows_allowed(feature.slug)
|
22
|
+
- used = current_user.table_rows(feature.slug)
|
23
|
+
- if remaining < 0
|
24
|
+
= :x_used_y_allowed.l x: used, y: allowed
|
25
|
+
- elsif allowed == 0
|
26
|
+
= :not_allowed.l
|
27
|
+
- elsif remaining == 0
|
28
|
+
= :y_remaining.l y: remaining
|
29
|
+
- else
|
30
|
+
= :x_of_y_remaining.l x: remaining, y: allowed
|
21
31
|
- when 'rolify_rows'
|
22
32
|
- if can? :own, feature.feature_model
|
23
33
|
= icon 'ok'
|
@@ -26,6 +36,16 @@
|
|
26
36
|
- if current_user.rolify_rows_unlimited?(feature.slug)
|
27
37
|
= :unlimited.l
|
28
38
|
- else
|
29
|
-
|
39
|
+
- remaining = current_user.rolify_rows_remaining(feature.slug)
|
40
|
+
- allowed = current_user.rolify_rows_allowed(feature.slug)
|
41
|
+
- used = current_user.rolify_rows(feature.slug)
|
42
|
+
- if remaining < 0
|
43
|
+
= :x_used_y_allowed.l x: used, y: allowed
|
44
|
+
- elsif allowed == 0
|
45
|
+
= :not_allowed.l
|
46
|
+
- elsif remaining == 0
|
47
|
+
= :y_remaining.l y: remaining
|
48
|
+
- else
|
49
|
+
= :x_of_y_remaining.l x: remaining, y: allowed
|
30
50
|
- else
|
31
51
|
= :error.l
|
File without changes
|
File without changes
|
@@ -1,16 +1,18 @@
|
|
1
1
|
- add_title :my_subscription_information.l
|
2
2
|
|
3
|
-
|
4
|
-
=
|
5
|
-
|
6
|
-
|
7
|
-
=
|
8
|
-
|
9
|
-
-
|
10
|
-
%
|
11
|
-
|
12
|
-
|
13
|
-
=
|
14
|
-
|
15
|
-
%
|
16
|
-
=
|
3
|
+
- if current_user.stripe_data.delinquent
|
4
|
+
%p= :account_is_delinquent.l
|
5
|
+
%p= :to_enable_paid_features_subscribe.l(subscribe_link: paid_up.plans_path)
|
6
|
+
%h3= :abilities.l
|
7
|
+
= feature_abilities_table mode: :delinquent
|
8
|
+
%p= icon_button_to 'info btn-lg', 'arrow-right', :choose_a_plan.l, paid_up.plans_path, method: :get
|
9
|
+
- else
|
10
|
+
%h2
|
11
|
+
= current_user.plan.title
|
12
|
+
.small= plan_charge_human current_user.plan, current_user.stripe_data.discount
|
13
|
+
= subscription_dl current_user.subscription
|
14
|
+
- if current_user.subscription.cancel_at_period_end
|
15
|
+
%h3= :canceled.l
|
16
|
+
%h3= :abilities.l
|
17
|
+
= feature_abilities_table
|
18
|
+
%p= icon_button_to 'info btn-lg', 'arrow-right', :switch_plans.l, paid_up.plans_path, method: :get
|
data/config/locales/en.yml
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
|
22
22
|
en:
|
23
23
|
abilities: "Abilities"
|
24
|
+
account_is_delinquent: 'The paid features associated with your account have been disabled pending payment.'
|
24
25
|
already_subscribed: "Already Subscribed"
|
25
26
|
are_you_sure: "Are you sure?"
|
26
27
|
cancel_my_account: 'Cancel My Account'
|
@@ -29,6 +30,7 @@ en:
|
|
29
30
|
card_ending_with: "%{brand} ending with %{last4}"
|
30
31
|
card_number: 'Card Number'
|
31
32
|
change_your_password: 'Change your password'
|
33
|
+
choose_a_plan: 'Choose a Plan'
|
32
34
|
cost: 'Cost'
|
33
35
|
could_not_cancel_subscription: 'Could not cancel subscription'
|
34
36
|
could_not_associate_subscription: 'Could not associate subscription'
|
@@ -57,8 +59,10 @@ en:
|
|
57
59
|
my_subscription_information: 'My Subscription Information'
|
58
60
|
no_implicit_conversion_of_type_features: 'No implicit conversion of %{type} Features'
|
59
61
|
no_features_associated_with_table: 'No features associated with %{table} table.'
|
62
|
+
not_allowed: 'Not Allowed'
|
60
63
|
or_sign_in: "Or, Sign In"
|
61
64
|
or_sign_up: "Or, Sign Up"
|
65
|
+
payment_failed_statement: "Hi there,\n\nUnfortunately your most recent invoice payment for %{amount} was declined.\n\nThis could be due to a change in your card number or your card expiring, cancelation of your credit card, or the bank not recognizing the payment and taking action to prevent it.\n\nPlease update your payment information as soon as possible by logging in here:\n\n%{url}"
|
62
66
|
paid_thru: "Paid Thru"
|
63
67
|
plan_name: "Plan Name"
|
64
68
|
plans: "Plans"
|
@@ -77,6 +81,8 @@ en:
|
|
77
81
|
subscription_plan_pricing: 'Subscription Plan Pricing'
|
78
82
|
switch_plans: "Switch Plans"
|
79
83
|
thank_you: "Thank You"
|
84
|
+
to_disable_this_message_subscribe: "To disable this message, please <a href='%{subscribe_link}'>Choose a Plan</a>."
|
85
|
+
to_enable_paid_features_subscribe: "To enable the paid features previously associated with your account, please <a href='%{subscribe_link}'>Choose a Plan</a>."
|
80
86
|
trial_period: "Trial Period"
|
81
87
|
unhappy: "Unhappy?"
|
82
88
|
unknown_feature_type: 'Unknown Feature Type'
|
@@ -87,5 +93,7 @@ en:
|
|
87
93
|
when_using_table_rows_table_must_exist: 'When using table_rows, the table must exist.'
|
88
94
|
when_using_rolify_rows_table_must_exist: 'When using rolify_rows, the table must exist.'
|
89
95
|
x_of_y_remaining: '%{x} of %{y} remaining'
|
96
|
+
x_used_y_allowed: '%{x} used, %{y} allowed'
|
90
97
|
you_are_now_subscribed_to_the_plan: "You are now subscribed to the %{plan_name} Plan"
|
91
98
|
you_will_be_charged: "You will be charged %{charge_amount}."
|
99
|
+
your_site_subscription_payment failed: "Your %{site} Subscription Payment Failed."
|
data/coverage/.last_run.json
CHANGED
data/coverage/.resultset.json
CHANGED
@@ -50,6 +50,8 @@
|
|
50
50
|
1,
|
51
51
|
null,
|
52
52
|
null,
|
53
|
+
1,
|
54
|
+
null,
|
53
55
|
null,
|
54
56
|
null
|
55
57
|
],
|
@@ -103,7 +105,6 @@
|
|
103
105
|
1,
|
104
106
|
null,
|
105
107
|
1,
|
106
|
-
1,
|
107
108
|
null,
|
108
109
|
1,
|
109
110
|
1
|
@@ -140,7 +141,7 @@
|
|
140
141
|
null,
|
141
142
|
null,
|
142
143
|
1,
|
143
|
-
|
144
|
+
101,
|
144
145
|
null,
|
145
146
|
null,
|
146
147
|
1,
|
@@ -151,6 +152,8 @@
|
|
151
152
|
1,
|
152
153
|
1,
|
153
154
|
1,
|
155
|
+
1,
|
156
|
+
1,
|
154
157
|
null,
|
155
158
|
null,
|
156
159
|
null
|
@@ -297,8 +300,8 @@
|
|
297
300
|
1,
|
298
301
|
null,
|
299
302
|
1,
|
300
|
-
|
301
|
-
|
303
|
+
518,
|
304
|
+
518,
|
302
305
|
null,
|
303
306
|
1,
|
304
307
|
null,
|
@@ -325,10 +328,11 @@
|
|
325
328
|
1,
|
326
329
|
1,
|
327
330
|
1,
|
328
|
-
|
329
|
-
|
331
|
+
8,
|
332
|
+
8,
|
330
333
|
null,
|
331
334
|
0,
|
335
|
+
0,
|
332
336
|
null,
|
333
337
|
null,
|
334
338
|
null,
|
@@ -359,13 +363,13 @@
|
|
359
363
|
1,
|
360
364
|
null,
|
361
365
|
1,
|
362
|
-
|
363
|
-
|
364
|
-
|
366
|
+
66,
|
367
|
+
66,
|
368
|
+
66,
|
365
369
|
null,
|
366
370
|
1,
|
367
|
-
|
368
|
-
|
371
|
+
4775,
|
372
|
+
4775,
|
369
373
|
null,
|
370
374
|
null,
|
371
375
|
1,
|
@@ -376,7 +380,7 @@
|
|
376
380
|
null,
|
377
381
|
null,
|
378
382
|
1,
|
379
|
-
|
383
|
+
57,
|
380
384
|
49,
|
381
385
|
9,
|
382
386
|
9,
|
@@ -387,28 +391,33 @@
|
|
387
391
|
6,
|
388
392
|
null,
|
389
393
|
49,
|
394
|
+
0,
|
395
|
+
0,
|
396
|
+
null,
|
397
|
+
49,
|
390
398
|
49,
|
391
399
|
null,
|
392
|
-
|
400
|
+
8,
|
393
401
|
null,
|
394
402
|
null,
|
395
403
|
null,
|
396
404
|
null,
|
397
|
-
|
405
|
+
null,
|
406
|
+
8,
|
398
407
|
0,
|
399
408
|
null,
|
400
|
-
|
409
|
+
8,
|
401
410
|
null,
|
402
|
-
|
403
|
-
|
411
|
+
8,
|
412
|
+
8,
|
404
413
|
null,
|
405
414
|
0,
|
406
415
|
null,
|
407
416
|
null,
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
417
|
+
57,
|
418
|
+
57,
|
419
|
+
57,
|
420
|
+
57,
|
412
421
|
null,
|
413
422
|
0,
|
414
423
|
null,
|
@@ -417,7 +426,11 @@
|
|
417
426
|
2,
|
418
427
|
null,
|
419
428
|
1,
|
420
|
-
|
429
|
+
1043,
|
430
|
+
1043,
|
431
|
+
null,
|
432
|
+
0,
|
433
|
+
null,
|
421
434
|
null,
|
422
435
|
1,
|
423
436
|
21,
|
@@ -429,7 +442,7 @@
|
|
429
442
|
113,
|
430
443
|
null,
|
431
444
|
1,
|
432
|
-
|
445
|
+
45,
|
433
446
|
null,
|
434
447
|
1,
|
435
448
|
21,
|
@@ -441,8 +454,8 @@
|
|
441
454
|
113,
|
442
455
|
null,
|
443
456
|
1,
|
444
|
-
|
445
|
-
|
457
|
+
45,
|
458
|
+
45,
|
446
459
|
null,
|
447
460
|
1,
|
448
461
|
2,
|
@@ -451,51 +464,59 @@
|
|
451
464
|
2,
|
452
465
|
null,
|
453
466
|
1,
|
454
|
-
|
467
|
+
2265,
|
455
468
|
0,
|
456
469
|
null,
|
457
|
-
|
470
|
+
2265,
|
458
471
|
null,
|
459
472
|
1,
|
460
473
|
201,
|
461
474
|
null,
|
462
475
|
1,
|
476
|
+
null,
|
477
|
+
null,
|
478
|
+
84,
|
463
479
|
84,
|
464
480
|
null,
|
465
481
|
1,
|
482
|
+
null,
|
483
|
+
null,
|
484
|
+
94,
|
466
485
|
94,
|
467
486
|
null,
|
468
487
|
1,
|
488
|
+
null,
|
489
|
+
2,
|
469
490
|
2,
|
470
491
|
null,
|
471
492
|
1,
|
472
|
-
|
473
|
-
|
493
|
+
302,
|
494
|
+
31,
|
474
495
|
null,
|
475
496
|
null,
|
476
497
|
1,
|
477
498
|
1,
|
478
|
-
|
479
|
-
|
499
|
+
368,
|
500
|
+
31,
|
480
501
|
null,
|
481
|
-
|
502
|
+
337,
|
482
503
|
0,
|
483
504
|
null,
|
484
|
-
|
505
|
+
337,
|
485
506
|
null,
|
486
507
|
null,
|
487
|
-
|
488
|
-
|
508
|
+
368,
|
509
|
+
57,
|
489
510
|
null,
|
490
511
|
null,
|
491
|
-
|
512
|
+
368,
|
492
513
|
0,
|
493
514
|
null,
|
494
515
|
null,
|
495
516
|
1,
|
496
517
|
1,
|
497
|
-
|
498
|
-
|
518
|
+
34,
|
519
|
+
8,
|
499
520
|
null,
|
500
521
|
null,
|
501
522
|
1,
|
@@ -632,7 +653,23 @@
|
|
632
653
|
null,
|
633
654
|
null,
|
634
655
|
null,
|
635
|
-
|
656
|
+
null,
|
657
|
+
1,
|
658
|
+
null,
|
659
|
+
null,
|
660
|
+
null,
|
661
|
+
null,
|
662
|
+
null,
|
663
|
+
null,
|
664
|
+
null,
|
665
|
+
null,
|
666
|
+
null,
|
667
|
+
null,
|
668
|
+
null,
|
669
|
+
null,
|
670
|
+
null,
|
671
|
+
null,
|
672
|
+
null
|
636
673
|
],
|
637
674
|
"/Users/karen/Gems/paid_up/spec/dummy/config/initializers/assets.rb": [
|
638
675
|
null,
|
@@ -1038,7 +1075,7 @@
|
|
1038
1075
|
null,
|
1039
1076
|
null,
|
1040
1077
|
1,
|
1041
|
-
|
1078
|
+
31,
|
1042
1079
|
null,
|
1043
1080
|
null,
|
1044
1081
|
null
|
@@ -1064,37 +1101,30 @@
|
|
1064
1101
|
"/Users/karen/Gems/paid_up/spec/dummy/spec/factories/user.rb": [
|
1065
1102
|
1,
|
1066
1103
|
1,
|
1067
|
-
|
1104
|
+
9,
|
1068
1105
|
1,
|
1069
1106
|
1,
|
1070
1107
|
1,
|
1071
1108
|
2,
|
1109
|
+
1,
|
1072
1110
|
null,
|
1073
1111
|
null,
|
1074
1112
|
null,
|
1075
1113
|
null,
|
1076
1114
|
null,
|
1077
1115
|
1,
|
1078
|
-
|
1079
|
-
|
1116
|
+
8,
|
1117
|
+
1,
|
1080
1118
|
null,
|
1081
1119
|
null,
|
1082
1120
|
null,
|
1083
1121
|
null,
|
1084
1122
|
null,
|
1085
1123
|
null,
|
1086
|
-
7,
|
1087
1124
|
null,
|
1088
|
-
null,
|
1089
|
-
null
|
1090
|
-
],
|
1091
|
-
"/Users/karen/Gems/paid_up/spec/dummy/config/routes.rb": [
|
1092
1125
|
1,
|
1093
1126
|
null,
|
1094
|
-
|
1095
|
-
null,
|
1096
|
-
1,
|
1097
|
-
1,
|
1127
|
+
7,
|
1098
1128
|
null,
|
1099
1129
|
null,
|
1100
1130
|
null,
|
@@ -1102,11 +1132,19 @@
|
|
1102
1132
|
null,
|
1103
1133
|
null,
|
1104
1134
|
null,
|
1135
|
+
7,
|
1105
1136
|
null,
|
1137
|
+
8,
|
1106
1138
|
null,
|
1107
1139
|
null,
|
1108
1140
|
null
|
1109
1141
|
],
|
1142
|
+
"/Users/karen/Gems/paid_up/spec/dummy/config/routes.rb": [
|
1143
|
+
1,
|
1144
|
+
1,
|
1145
|
+
1,
|
1146
|
+
null
|
1147
|
+
],
|
1110
1148
|
"/Users/karen/Gems/paid_up/spec/dummy/app/models/user.rb": [
|
1111
1149
|
1,
|
1112
1150
|
1,
|
@@ -1228,12 +1266,21 @@
|
|
1228
1266
|
1,
|
1229
1267
|
null,
|
1230
1268
|
1,
|
1269
|
+
1,
|
1231
1270
|
null,
|
1232
1271
|
1,
|
1233
1272
|
1,
|
1234
1273
|
36,
|
1235
1274
|
null,
|
1236
1275
|
null,
|
1276
|
+
1,
|
1277
|
+
36,
|
1278
|
+
0,
|
1279
|
+
0,
|
1280
|
+
null,
|
1281
|
+
null,
|
1282
|
+
null,
|
1283
|
+
null,
|
1237
1284
|
null
|
1238
1285
|
],
|
1239
1286
|
"/Users/karen/Gems/paid_up/spec/dummy/app/controllers/application_controller.rb": [
|
@@ -1369,6 +1416,9 @@
|
|
1369
1416
|
0,
|
1370
1417
|
0,
|
1371
1418
|
null,
|
1419
|
+
0,
|
1420
|
+
0,
|
1421
|
+
null,
|
1372
1422
|
60,
|
1373
1423
|
60,
|
1374
1424
|
60,
|
@@ -1667,6 +1717,13 @@
|
|
1667
1717
|
null,
|
1668
1718
|
null
|
1669
1719
|
],
|
1720
|
+
"/Users/karen/Gems/paid_up/spec/mailers/paid_up/subscription_mailer_spec.rb": [
|
1721
|
+
1,
|
1722
|
+
null,
|
1723
|
+
null,
|
1724
|
+
null,
|
1725
|
+
null
|
1726
|
+
],
|
1670
1727
|
"/Users/karen/Gems/paid_up/spec/models/group_spec.rb": [
|
1671
1728
|
1,
|
1672
1729
|
1,
|
@@ -1944,7 +2001,7 @@
|
|
1944
2001
|
1,
|
1945
2002
|
1,
|
1946
2003
|
null,
|
1947
|
-
|
2004
|
+
2159,
|
1948
2005
|
54,
|
1949
2006
|
4,
|
1950
2007
|
null,
|
@@ -1996,8 +2053,8 @@
|
|
1996
2053
|
null,
|
1997
2054
|
null,
|
1998
2055
|
1,
|
1999
|
-
|
2000
|
-
|
2056
|
+
186,
|
2057
|
+
186,
|
2001
2058
|
null,
|
2002
2059
|
0,
|
2003
2060
|
null,
|
@@ -2022,8 +2079,8 @@
|
|
2022
2079
|
1,
|
2023
2080
|
null,
|
2024
2081
|
1,
|
2025
|
-
|
2026
|
-
|
2082
|
+
2279,
|
2083
|
+
2274,
|
2027
2084
|
5,
|
2028
2085
|
null,
|
2029
2086
|
null,
|
@@ -2590,9 +2647,21 @@
|
|
2590
2647
|
null,
|
2591
2648
|
null
|
2592
2649
|
],
|
2593
|
-
"/Users/karen/Gems/paid_up/spec/dummy/
|
2594
|
-
|
2650
|
+
"/Users/karen/Gems/paid_up/spec/dummy/lib/tasks/system.rake": [
|
2651
|
+
1,
|
2652
|
+
1,
|
2653
|
+
1,
|
2654
|
+
0,
|
2655
|
+
0,
|
2656
|
+
0,
|
2657
|
+
0,
|
2658
|
+
0,
|
2659
|
+
0,
|
2660
|
+
0,
|
2595
2661
|
null,
|
2662
|
+
null
|
2663
|
+
],
|
2664
|
+
"/Users/karen/Gems/paid_up/spec/dummy/db/seeds.rb": [
|
2596
2665
|
null,
|
2597
2666
|
null,
|
2598
2667
|
null,
|
@@ -2606,7 +2675,6 @@
|
|
2606
2675
|
null,
|
2607
2676
|
null,
|
2608
2677
|
null,
|
2609
|
-
null,
|
2610
2678
|
1,
|
2611
2679
|
null,
|
2612
2680
|
null,
|
@@ -2622,7 +2690,6 @@
|
|
2622
2690
|
null,
|
2623
2691
|
null,
|
2624
2692
|
null,
|
2625
|
-
null,
|
2626
2693
|
1,
|
2627
2694
|
null,
|
2628
2695
|
null,
|
@@ -2638,7 +2705,6 @@
|
|
2638
2705
|
null,
|
2639
2706
|
null,
|
2640
2707
|
null,
|
2641
|
-
null,
|
2642
2708
|
1,
|
2643
2709
|
null,
|
2644
2710
|
null,
|
@@ -2654,6 +2720,11 @@
|
|
2654
2720
|
null,
|
2655
2721
|
null,
|
2656
2722
|
null,
|
2723
|
+
1,
|
2724
|
+
null,
|
2725
|
+
null,
|
2726
|
+
null,
|
2727
|
+
null,
|
2657
2728
|
null,
|
2658
2729
|
1,
|
2659
2730
|
null,
|
@@ -2661,6 +2732,9 @@
|
|
2661
2732
|
null,
|
2662
2733
|
null,
|
2663
2734
|
null,
|
2735
|
+
null,
|
2736
|
+
null,
|
2737
|
+
null,
|
2664
2738
|
1,
|
2665
2739
|
null,
|
2666
2740
|
null,
|
@@ -2671,6 +2745,7 @@
|
|
2671
2745
|
null,
|
2672
2746
|
null,
|
2673
2747
|
null,
|
2748
|
+
null,
|
2674
2749
|
1,
|
2675
2750
|
null,
|
2676
2751
|
null,
|
@@ -2692,6 +2767,17 @@
|
|
2692
2767
|
null,
|
2693
2768
|
null,
|
2694
2769
|
null,
|
2770
|
+
1,
|
2771
|
+
null,
|
2772
|
+
null,
|
2773
|
+
null,
|
2774
|
+
null,
|
2775
|
+
null,
|
2776
|
+
null,
|
2777
|
+
null,
|
2778
|
+
null,
|
2779
|
+
null,
|
2780
|
+
null,
|
2695
2781
|
null,
|
2696
2782
|
1,
|
2697
2783
|
null,
|
@@ -2773,6 +2859,13 @@
|
|
2773
2859
|
null,
|
2774
2860
|
null,
|
2775
2861
|
null,
|
2862
|
+
1,
|
2863
|
+
null,
|
2864
|
+
null,
|
2865
|
+
null,
|
2866
|
+
null,
|
2867
|
+
null,
|
2868
|
+
null,
|
2776
2869
|
null,
|
2777
2870
|
null,
|
2778
2871
|
null,
|
@@ -2803,6 +2896,12 @@
|
|
2803
2896
|
null,
|
2804
2897
|
null,
|
2805
2898
|
null,
|
2899
|
+
null,
|
2900
|
+
null,
|
2901
|
+
1,
|
2902
|
+
null,
|
2903
|
+
null,
|
2904
|
+
null,
|
2806
2905
|
null
|
2807
2906
|
],
|
2808
2907
|
"/Users/karen/Gems/paid_up/app/models/paid_up/unlimited.rb": [
|
@@ -2901,6 +3000,6 @@
|
|
2901
3000
|
null
|
2902
3001
|
]
|
2903
3002
|
},
|
2904
|
-
"timestamp":
|
3003
|
+
"timestamp": 1455582470
|
2905
3004
|
}
|
2906
3005
|
}
|