paid_up 0.4.0 → 0.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d49bea00e60ca17806304d426b58aef6baf161d
4
- data.tar.gz: 7262d982ce4c8c2f5cba4b027d0b42e91886603b
3
+ metadata.gz: 4c5c93d2db20e8152a346dee55ed095d166258bb
4
+ data.tar.gz: b46846afea23f975d2373b4ba45eaf3b4e8ebbf8
5
5
  SHA512:
6
- metadata.gz: 8bacd723841bf8192b60400fe68143591863c7626e58469beda266a52bdfffa19ab86b29ee32ac0f1d44c2b5281aa8b104bff004617258c04524fc6e83081756
7
- data.tar.gz: 91f22ec84207fbe22565b17d865b4ae7762eb0e740b9967d1c64b05599a19d4b4913961f2f06818a4430c3d11ee1de0a00656f657b68b174a7647823fc735053
6
+ metadata.gz: 85966a87a4a92f0a7ed6f0cf0c6107f66c38b8f446e59460d731448ee1beea7ee2acbf6b42f1bd00453022f538b0ac519abf4c460a04d15ee1e25a87b9e1f217
7
+ data.tar.gz: 82fb4ca355abfc9ad160c481b41030dcf7b0c8a3177f3236f3d2ff90a4f990aad3c0bee49b3f5aa306c7d4e491bbef9fcbe3f08ecddd6cf7e6d7e8077fbbd3bc
data/Gemfile CHANGED
@@ -9,7 +9,6 @@ gem 'jeweler', '~> 2'
9
9
 
10
10
  gem 'bootstrap_leather', '~> 0.5'
11
11
 
12
- gem 'seedbank', '~> 0.3'
13
12
  gem 'chronic', '~> 0.10'
14
13
  gem 'money', '~> 6.5'
15
14
 
data/README.md CHANGED
@@ -31,7 +31,6 @@ Next, install PaidUp for your user model by executing these commands:
31
31
 
32
32
  ## Configuration
33
33
 
34
-
35
34
  Edit your config file at `config/initializers/paid_up.rb` to set up some other key details.
36
35
 
37
36
  Set your environment variables with your STRIPE_PUBLISHABLE_KEY and your STRIPE_SECRET_KEY. (Check your operating system or IDE's documentation for details)
@@ -44,7 +43,7 @@ Next, add a `Stripe::Customer` to serve as the Anonymous User, and subscribe tha
44
43
 
45
44
  ## Features Setup
46
45
 
47
- 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 files in [`spec/dummy/db/seeds/`](spec/dummy/db/seeds/)
46
+ 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)
48
47
 
49
48
  Possible `:setting_type` values are: `boolean`, `table_rows`, `rolify_rows`. The latter two require that a table corresponding to the feature's `:name` value.
50
49
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.4.1
data/paid_up.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: paid_up 0.4.0 ruby lib
5
+ # stub: paid_up 0.4.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "paid_up"
9
- s.version = "0.4.0"
9
+ s.version = "0.4.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -135,8 +135,6 @@ Gem::Specification.new do |s|
135
135
  "spec/dummy/db/migrate/20150523010840_add_stripe_id_column_to_users.paid_up.rb",
136
136
  "spec/dummy/db/schema.rb",
137
137
  "spec/dummy/db/seeds.rb",
138
- "spec/dummy/db/seeds/plan_feature_settings.seeds.rb",
139
- "spec/dummy/db/seeds/plans.seeds.rb",
140
138
  "spec/dummy/db/test.sqlite3",
141
139
  "spec/dummy/lib/assets/.keep",
142
140
  "spec/dummy/log/.keep",
@@ -176,7 +174,7 @@ Gem::Specification.new do |s|
176
174
  ]
177
175
  s.homepage = "http://www.gemvein.com/museum/cases/paid_up"
178
176
  s.licenses = ["MIT"]
179
- s.rubygems_version = "2.4.6"
177
+ s.rubygems_version = "2.4.5"
180
178
  s.summary = "Allows a model of your choosing to subscribe to a plan, which enables features."
181
179
 
182
180
  if s.respond_to? :specification_version then
@@ -190,7 +188,6 @@ Gem::Specification.new do |s|
190
188
  s.add_runtime_dependency(%q<uglifier>, ["~> 2.7"])
191
189
  s.add_runtime_dependency(%q<jeweler>, ["~> 2"])
192
190
  s.add_runtime_dependency(%q<bootstrap_leather>, ["~> 0.5"])
193
- s.add_runtime_dependency(%q<seedbank>, ["~> 0.3"])
194
191
  s.add_runtime_dependency(%q<chronic>, ["~> 0.10"])
195
192
  s.add_runtime_dependency(%q<money>, ["~> 6.5"])
196
193
  s.add_runtime_dependency(%q<devise>, ["~> 3.4"])
@@ -210,7 +207,6 @@ Gem::Specification.new do |s|
210
207
  s.add_dependency(%q<uglifier>, ["~> 2.7"])
211
208
  s.add_dependency(%q<jeweler>, ["~> 2"])
212
209
  s.add_dependency(%q<bootstrap_leather>, ["~> 0.5"])
213
- s.add_dependency(%q<seedbank>, ["~> 0.3"])
214
210
  s.add_dependency(%q<chronic>, ["~> 0.10"])
215
211
  s.add_dependency(%q<money>, ["~> 6.5"])
216
212
  s.add_dependency(%q<devise>, ["~> 3.4"])
@@ -231,7 +227,6 @@ Gem::Specification.new do |s|
231
227
  s.add_dependency(%q<uglifier>, ["~> 2.7"])
232
228
  s.add_dependency(%q<jeweler>, ["~> 2"])
233
229
  s.add_dependency(%q<bootstrap_leather>, ["~> 0.5"])
234
- s.add_dependency(%q<seedbank>, ["~> 0.3"])
235
230
  s.add_dependency(%q<chronic>, ["~> 0.10"])
236
231
  s.add_dependency(%q<money>, ["~> 6.5"])
237
232
  s.add_dependency(%q<devise>, ["~> 3.4"])
@@ -0,0 +1,139 @@
1
+ ###############
2
+ # Plans #
3
+ ###############
4
+
5
+ Stripe::Plan.find_or_create_by_id(
6
+ 'anonymous-plan',
7
+ {
8
+ :amount => 0,
9
+ :interval => 'month',
10
+ :name => 'Anonymous Plan',
11
+ :currency => 'usd',
12
+ :id => 'anonymous-plan'
13
+ }
14
+ )
15
+ anonymous = PaidUp::Plan.create(
16
+ name: 'Anonymous',
17
+ stripe_id: 'anonymous-plan',
18
+ description: "What you can do without logging in.",
19
+ sort_order: -1
20
+ )
21
+ Stripe::Plan.find_or_create_by_id(
22
+ 'free-plan',
23
+ {
24
+ :amount => 0,
25
+ :interval => 'month',
26
+ :name => 'Free Plan',
27
+ :currency => 'usd',
28
+ :id => 'free-plan'
29
+ }
30
+ )
31
+ free = PaidUp::Plan.create(
32
+ name: 'Free',
33
+ stripe_id: 'free-plan',
34
+ description: "Can't beat the price!",
35
+ sort_order: 0
36
+ )
37
+ Stripe::Plan.find_or_create_by_id(
38
+ 'no-ads-plan',
39
+ {
40
+ :amount => 100,
41
+ :interval => 'month',
42
+ :name => 'No Ads Plan',
43
+ :currency => 'usd',
44
+ :id => 'no-ads-plan'
45
+ }
46
+ )
47
+ no_ads = PaidUp::Plan.create(
48
+ name: 'No Ads',
49
+ stripe_id: 'no-ads-plan',
50
+ description: "No frills, just removes the ads.",
51
+ sort_order: 1
52
+ )
53
+ Stripe::Plan.find_or_create_by_id(
54
+ 'group-leader-plan',
55
+ {
56
+ :amount => 500,
57
+ :interval => 'month',
58
+ :name => 'Group Leader Plan',
59
+ :currency => 'usd',
60
+ :id => 'group-leader-plan'
61
+ }
62
+ )
63
+ group_leader = PaidUp::Plan.create(
64
+ name: 'Group Leader',
65
+ stripe_id: 'group-leader-plan',
66
+ description: "For leaders of single groups, with configuration.",
67
+ sort_order: 2
68
+ )
69
+ Stripe::Plan.find_or_create_by_id(
70
+ 'professional-plan',
71
+ {
72
+ :amount => 1000,
73
+ :interval => 'month',
74
+ :name => 'Professional Plan',
75
+ :currency => 'usd',
76
+ :id => 'professional-plan'
77
+ }
78
+ )
79
+ professional = PaidUp::Plan.create(
80
+ name: 'Professional',
81
+ stripe_id: 'professional-plan',
82
+ description: "Designed for professionals with unlimited groups, a calendar and configuration.",
83
+ sort_order: 3
84
+ )
85
+ ######################
86
+ # Anonymous Customer #
87
+ ######################
88
+ Stripe::Customer.find_or_create_by_id(
89
+ 'anonymous-customer',
90
+ {
91
+ id: 'anonymous-customer',
92
+ description: 'Anonymous Customer',
93
+ plan: 'anonymous-plan'
94
+ }
95
+ )
96
+ #######################
97
+ # PlanFeatureSettings #
98
+ #######################
99
+
100
+ # Ad Free
101
+ PaidUp::PlanFeatureSetting.create(
102
+ feature: 'ad_free',
103
+ plan: no_ads,
104
+ setting: 1
105
+ )
106
+
107
+ # Group Leader
108
+ PaidUp::PlanFeatureSetting.create(
109
+ feature: 'ad_free',
110
+ plan: group_leader,
111
+ setting: 1
112
+ )
113
+ PaidUp::PlanFeatureSetting.create(
114
+ feature: 'groups',
115
+ plan: group_leader,
116
+ setting: 1
117
+ )
118
+ PaidUp::PlanFeatureSetting.create(
119
+ feature: 'doodads',
120
+ plan: group_leader,
121
+ setting: 5
122
+ )
123
+
124
+ # Professional
125
+ PaidUp::PlanFeatureSetting.create(
126
+ feature: 'ad_free',
127
+ plan: professional,
128
+ setting: 1
129
+ )
130
+ PaidUp::PlanFeatureSetting.create(
131
+ feature: 'groups',
132
+ plan: professional,
133
+ setting: PaidUp::Unlimited.to_i(:db)
134
+ )
135
+ PaidUp::PlanFeatureSetting.create(
136
+ feature: 'doodads',
137
+ plan: professional,
138
+ setting: PaidUp::Unlimited.to_i(:db)
139
+ )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paid_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen Lundgren
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.5'
111
- - !ruby/object:Gem::Dependency
112
- name: seedbank
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.3'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.3'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: chronic
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -401,8 +387,6 @@ files:
401
387
  - spec/dummy/db/migrate/20150523010840_add_stripe_id_column_to_users.paid_up.rb
402
388
  - spec/dummy/db/schema.rb
403
389
  - spec/dummy/db/seeds.rb
404
- - spec/dummy/db/seeds/plan_feature_settings.seeds.rb
405
- - spec/dummy/db/seeds/plans.seeds.rb
406
390
  - spec/dummy/db/test.sqlite3
407
391
  - spec/dummy/lib/assets/.keep
408
392
  - spec/dummy/log/.keep
@@ -459,7 +443,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
459
443
  version: '0'
460
444
  requirements: []
461
445
  rubyforge_project:
462
- rubygems_version: 2.4.6
446
+ rubygems_version: 2.4.5
463
447
  signing_key:
464
448
  specification_version: 4
465
449
  summary: Allows a model of your choosing to subscribe to a plan, which enables features.
@@ -1,47 +0,0 @@
1
- after :plans do
2
- free = PaidUp::Plan.find_by_name 'Free'
3
- no_ads = PaidUp::Plan.find_by_name 'No Ads'
4
- group_leader = PaidUp::Plan.find_by_name 'Group Leader'
5
- professional = PaidUp::Plan.find_by_name 'Professional'
6
-
7
- # Ad Free
8
- PaidUp::PlanFeatureSetting.create(
9
- feature: 'ad_free',
10
- plan: no_ads,
11
- setting: 1
12
- )
13
-
14
- # Group Leader
15
- PaidUp::PlanFeatureSetting.create(
16
- feature: 'ad_free',
17
- plan: group_leader,
18
- setting: 1
19
- )
20
- PaidUp::PlanFeatureSetting.create(
21
- feature: 'groups',
22
- plan: group_leader,
23
- setting: 1
24
- )
25
- PaidUp::PlanFeatureSetting.create(
26
- feature: 'doodads',
27
- plan: group_leader,
28
- setting: 5
29
- )
30
-
31
- # Professional
32
- PaidUp::PlanFeatureSetting.create(
33
- feature: 'ad_free',
34
- plan: professional,
35
- setting: 1
36
- )
37
- PaidUp::PlanFeatureSetting.create(
38
- feature: 'groups',
39
- plan: professional,
40
- setting: PaidUp::Unlimited.to_i(:db)
41
- )
42
- PaidUp::PlanFeatureSetting.create(
43
- feature: 'doodads',
44
- plan: professional,
45
- setting: PaidUp::Unlimited.to_i(:db)
46
- )
47
- end
@@ -1,91 +0,0 @@
1
- Stripe::Plan.find_or_create_by_id(
2
- 'anonymous-plan',
3
- {
4
- :amount => 0,
5
- :interval => 'month',
6
- :name => 'Anonymous Plan',
7
- :currency => 'usd',
8
- :id => 'anonymous-plan'
9
- }
10
- )
11
- PaidUp::Plan.create(
12
- name: 'Anonymous',
13
- stripe_id: 'anonymous-plan',
14
- description: "What you can do without logging in.",
15
- sort_order: -1
16
- )
17
- Stripe::Plan.find_or_create_by_id(
18
- 'free-plan',
19
- {
20
- :amount => 0,
21
- :interval => 'month',
22
- :name => 'Free Plan',
23
- :currency => 'usd',
24
- :id => 'free-plan'
25
- }
26
- )
27
- PaidUp::Plan.create(
28
- name: 'Free',
29
- stripe_id: 'free-plan',
30
- description: "Can't beat the price!",
31
- sort_order: 0
32
- )
33
- Stripe::Plan.find_or_create_by_id(
34
- 'no-ads-plan',
35
- {
36
- :amount => 100,
37
- :interval => 'month',
38
- :name => 'No Ads Plan',
39
- :currency => 'usd',
40
- :id => 'no-ads-plan'
41
- }
42
- )
43
- PaidUp::Plan.create(
44
- name: 'No Ads',
45
- stripe_id: 'no-ads-plan',
46
- description: "No frills, just removes the ads.",
47
- sort_order: 1
48
- )
49
- Stripe::Plan.find_or_create_by_id(
50
- 'group-leader-plan',
51
- {
52
- :amount => 500,
53
- :interval => 'month',
54
- :name => 'Group Leader Plan',
55
- :currency => 'usd',
56
- :id => 'group-leader-plan'
57
- }
58
- )
59
- PaidUp::Plan.create(
60
- name: 'Group Leader',
61
- stripe_id: 'group-leader-plan',
62
- description: "For leaders of single groups, with configuration.",
63
- sort_order: 2
64
- )
65
- Stripe::Plan.find_or_create_by_id(
66
- 'professional-plan',
67
- {
68
- :amount => 1000,
69
- :interval => 'month',
70
- :name => 'Professional Plan',
71
- :currency => 'usd',
72
- :id => 'professional-plan'
73
- }
74
- )
75
- PaidUp::Plan.create(
76
- name: 'Professional',
77
- stripe_id: 'professional-plan',
78
- description: "Designed for professionals with unlimited groups, a calendar and configuration.",
79
- sort_order: 3
80
- )
81
- ######################
82
- # Anonymous Customer #
83
- ######################
84
- Stripe::Customer.find_or_create_by_id(
85
- 'anonymous-customer',
86
- {
87
- id: 'anonymous-customer',
88
- description: 'Anonymous Customer',
89
- plan: 'anonymous-plan'
90
- }
91
- )