paid_up 0.12.4 → 0.13.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4612a810fe632d12ebeb7f0c68f4579353d9f7e
4
- data.tar.gz: a87cac6155ef7cb64ed0e926a0698b0c39002167
3
+ metadata.gz: ac10b7aa446893be36c1bbe6ebce746e92f9d648
4
+ data.tar.gz: 147c61473a523d4bd2377061ac5096f542ef4956
5
5
  SHA512:
6
- metadata.gz: f291f849d8e96bb3683a12b62226ce08686f67c618dc3f8720d126592b1ddd3cb3183e23fe23a61acae87b87a96c03b0af21abb31352be176913c4b2ee9e9d8e
7
- data.tar.gz: 89f5b07826d3971823a34b4aafacab78ddcd27a65527d42c51fd639c97e7b41019312d0e5ad762c50bc15d6bf4d761b32b47e73ed25a80a170e860961edcf66b
6
+ metadata.gz: f2292eee3ae93b7e4a8fdb3141dbfa80b292d99e7be312eec1cb9aa61ee404465a749aa5bb2fbbd4afd05f83a7b3fc6b0eb0c848ed2e6b38ac57b520a96c03fe
7
+ data.tar.gz: c1fe2155e1f5a66fbbb0ca278b0d83a05429939cd50c8cea261f1fc3aad9bd69ebc8f75560162e3fb61876994f9899cb11dfff9c775421a40616762f7554a4c2
data/Gemfile CHANGED
@@ -17,10 +17,10 @@ gem 'bootstrap_leather', '~> 0.9'
17
17
  gem 'chronic', '~> 0.10'
18
18
  gem 'money', '~> 6.5'
19
19
 
20
- gem 'cancancan', '~> 1'
20
+ gem 'cancancan', '>= 1', '< 3'
21
21
  gem 'devise', '>= 3.4', '< 5'
22
22
  gem 'rolify', '~> 5'
23
- gem 'stripe', '>= 1.36', '< 3'
23
+ gem 'stripe', '>= 1.36', '< 3.4' # 3.4 and 3.5 break caching, because they return a singleton
24
24
 
25
25
  group :development do
26
26
  gem 'bundler', '~> 1'
@@ -28,18 +28,18 @@ group :development do
28
28
  gem 'juwelier', '~> 2'
29
29
  gem 'nokogiri', '>= 1.7'
30
30
  gem 'pre-commit', '~> 0.32'
31
- gem 'rubocop', git: 'https://github.com/bbatsov/rubocop.git' # Wait for 0.49
32
- gem 'scss_lint', '~> 0.52.0', require: false
31
+ gem 'rubocop', '>= 0.49', '< 1'
32
+ gem 'scss_lint', '>= 0.52.0', '< 1', require: false
33
33
  gem 'web-console', '~> 3'
34
34
  end
35
35
 
36
36
  group :test, :development do
37
- gem 'bootstrap-sass', '~> 3'
37
+ gem 'bootstrap-sass', '>= 3.3', '< 4'
38
38
  gem 'factory_girl_rails', '~> 4.5'
39
39
  gem 'forgery', '~> 0.6'
40
40
  gem 'rails-controller-testing', '~> 1'
41
41
  gem 'rspec-rails', '~> 3'
42
- gem 'sass-rails', '~> 5'
42
+ gem 'sass-rails', '>= 5', '< 7'
43
43
  gem 'sqlite3', '~> 1.3'
44
44
  end
45
45
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.12.4
1
+ 0.13.0
@@ -50,7 +50,7 @@ module PaidUp
50
50
  allowed = rolify_setting.rows_allowed
51
51
  remaining = rolify_setting.rows_remaining
52
52
  if allowed.positive?
53
- can :manage, model, id: model.with_role(:owner, user).ids
53
+ can :manage, model, roles: { name: 'owner', users: { id: user.id } }
54
54
  end
55
55
  enable_rows(model, allowed, remaining)
56
56
  end
@@ -6,3 +6,5 @@ Rails.configuration.stripe = {
6
6
  }
7
7
 
8
8
  Stripe.api_key = Rails.configuration.stripe[:secret_key]
9
+
10
+ Stripe.set_app_info('Rails PaidUp', version: PaidUp::VERSION, url: 'https://www.gemvein.com/museum/cases/paid_up')
@@ -52,7 +52,6 @@ module PaidUp
52
52
 
53
53
  def associations_for_rolify_rows
54
54
  resourcify
55
- attr_accessor :owner
56
55
  end
57
56
 
58
57
  def associations_for_table_rows
@@ -69,6 +68,8 @@ module PaidUp
69
68
  [user]
70
69
  when 'rolify_rows'
71
70
  User.with_role(:owner, self)
71
+ else
72
+ raise :value_is_not_a_valid_setting_type.l
72
73
  end
73
74
  end
74
75
 
@@ -91,19 +92,19 @@ module PaidUp
91
92
  end
92
93
 
93
94
  def owners_records
94
- self.class.where(id: owners_records_ids)
95
- end
96
-
97
- def owners_records_ids
98
- setting = self.class.feature.setting_type
99
- .gsub('_rows', '_setting')
100
- table_name = self.class.table_name
101
- unless %w(table_setting rolify_setting).include? setting
102
- raise :no_features_associated_with_table.l(table: table_name)
95
+ scoped_records = self.class.paid_for_scope
96
+ case self.class.feature.setting_type
97
+ when 'table_rows'
98
+ scoped_records.where(user_id: user_id)
99
+ when 'rolify_rows'
100
+ scoped_records
101
+ .includes(roles: :users)
102
+ .references(:roles, :users)
103
+ .where('roles.name = ?', 'owner')
104
+ .where('users.id IN (?)', owners.ids)
105
+ else
106
+ raise :value_is_not_a_valid_setting_type.l
103
107
  end
104
- owners.map do |subscriber|
105
- subscriber.send(setting, table_name).ids
106
- end.flatten
107
108
  end
108
109
 
109
110
  def owners_records_count
data/paid_up.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: paid_up 0.12.4 ruby lib
5
+ # stub: paid_up 0.13.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "paid_up".freeze
9
- s.version = "0.12.4"
9
+ s.version = "0.13.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Karen Lundgren".freeze]
14
- s.date = "2017-10-06"
14
+ s.date = "2017-10-11"
15
15
  s.description = "Allows a model of your choosing (such as users) to subscribe to a plan, which enables features.".freeze
16
16
  s.email = "karen.e.lundgren@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -196,25 +196,25 @@ Gem::Specification.new do |s|
196
196
  s.add_runtime_dependency(%q<bootstrap_leather>.freeze, ["~> 0.9"])
197
197
  s.add_runtime_dependency(%q<chronic>.freeze, ["~> 0.10"])
198
198
  s.add_runtime_dependency(%q<money>.freeze, ["~> 6.5"])
199
- s.add_runtime_dependency(%q<cancancan>.freeze, ["~> 1"])
199
+ s.add_runtime_dependency(%q<cancancan>.freeze, ["< 3", ">= 1"])
200
200
  s.add_runtime_dependency(%q<devise>.freeze, ["< 5", ">= 3.4"])
201
201
  s.add_runtime_dependency(%q<rolify>.freeze, ["~> 5"])
202
- s.add_runtime_dependency(%q<stripe>.freeze, ["< 3", ">= 1.36"])
202
+ s.add_runtime_dependency(%q<stripe>.freeze, ["< 3.4", ">= 1.36"])
203
203
  s.add_development_dependency(%q<dotenv-rails>.freeze, ["~> 2.2"])
204
204
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1"])
205
205
  s.add_development_dependency(%q<coffeelint>.freeze, ["~> 1.14"])
206
206
  s.add_development_dependency(%q<juwelier>.freeze, ["~> 2"])
207
207
  s.add_development_dependency(%q<nokogiri>.freeze, [">= 1.7"])
208
208
  s.add_development_dependency(%q<pre-commit>.freeze, ["~> 0.32"])
209
- s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
210
- s.add_development_dependency(%q<scss_lint>.freeze, ["~> 0.52.0"])
209
+ s.add_development_dependency(%q<rubocop>.freeze, ["< 1", ">= 0.49"])
210
+ s.add_development_dependency(%q<scss_lint>.freeze, ["< 1", ">= 0.52.0"])
211
211
  s.add_development_dependency(%q<web-console>.freeze, ["~> 3"])
212
- s.add_development_dependency(%q<bootstrap-sass>.freeze, ["~> 3"])
212
+ s.add_development_dependency(%q<bootstrap-sass>.freeze, ["< 4", ">= 3.3"])
213
213
  s.add_development_dependency(%q<factory_girl_rails>.freeze, ["~> 4.5"])
214
214
  s.add_development_dependency(%q<forgery>.freeze, ["~> 0.6"])
215
215
  s.add_development_dependency(%q<rails-controller-testing>.freeze, ["~> 1"])
216
216
  s.add_development_dependency(%q<rspec-rails>.freeze, ["~> 3"])
217
- s.add_development_dependency(%q<sass-rails>.freeze, ["~> 5"])
217
+ s.add_development_dependency(%q<sass-rails>.freeze, ["< 7", ">= 5"])
218
218
  s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.3"])
219
219
  else
220
220
  s.add_dependency(%q<haml-rails>.freeze, ["< 2", ">= 1"])
@@ -225,25 +225,25 @@ Gem::Specification.new do |s|
225
225
  s.add_dependency(%q<bootstrap_leather>.freeze, ["~> 0.9"])
226
226
  s.add_dependency(%q<chronic>.freeze, ["~> 0.10"])
227
227
  s.add_dependency(%q<money>.freeze, ["~> 6.5"])
228
- s.add_dependency(%q<cancancan>.freeze, ["~> 1"])
228
+ s.add_dependency(%q<cancancan>.freeze, ["< 3", ">= 1"])
229
229
  s.add_dependency(%q<devise>.freeze, ["< 5", ">= 3.4"])
230
230
  s.add_dependency(%q<rolify>.freeze, ["~> 5"])
231
- s.add_dependency(%q<stripe>.freeze, ["< 3", ">= 1.36"])
231
+ s.add_dependency(%q<stripe>.freeze, ["< 3.4", ">= 1.36"])
232
232
  s.add_dependency(%q<dotenv-rails>.freeze, ["~> 2.2"])
233
233
  s.add_dependency(%q<bundler>.freeze, ["~> 1"])
234
234
  s.add_dependency(%q<coffeelint>.freeze, ["~> 1.14"])
235
235
  s.add_dependency(%q<juwelier>.freeze, ["~> 2"])
236
236
  s.add_dependency(%q<nokogiri>.freeze, [">= 1.7"])
237
237
  s.add_dependency(%q<pre-commit>.freeze, ["~> 0.32"])
238
- s.add_dependency(%q<rubocop>.freeze, [">= 0"])
239
- s.add_dependency(%q<scss_lint>.freeze, ["~> 0.52.0"])
238
+ s.add_dependency(%q<rubocop>.freeze, ["< 1", ">= 0.49"])
239
+ s.add_dependency(%q<scss_lint>.freeze, ["< 1", ">= 0.52.0"])
240
240
  s.add_dependency(%q<web-console>.freeze, ["~> 3"])
241
- s.add_dependency(%q<bootstrap-sass>.freeze, ["~> 3"])
241
+ s.add_dependency(%q<bootstrap-sass>.freeze, ["< 4", ">= 3.3"])
242
242
  s.add_dependency(%q<factory_girl_rails>.freeze, ["~> 4.5"])
243
243
  s.add_dependency(%q<forgery>.freeze, ["~> 0.6"])
244
244
  s.add_dependency(%q<rails-controller-testing>.freeze, ["~> 1"])
245
245
  s.add_dependency(%q<rspec-rails>.freeze, ["~> 3"])
246
- s.add_dependency(%q<sass-rails>.freeze, ["~> 5"])
246
+ s.add_dependency(%q<sass-rails>.freeze, ["< 7", ">= 5"])
247
247
  s.add_dependency(%q<sqlite3>.freeze, ["~> 1.3"])
248
248
  end
249
249
  else
@@ -255,25 +255,25 @@ Gem::Specification.new do |s|
255
255
  s.add_dependency(%q<bootstrap_leather>.freeze, ["~> 0.9"])
256
256
  s.add_dependency(%q<chronic>.freeze, ["~> 0.10"])
257
257
  s.add_dependency(%q<money>.freeze, ["~> 6.5"])
258
- s.add_dependency(%q<cancancan>.freeze, ["~> 1"])
258
+ s.add_dependency(%q<cancancan>.freeze, ["< 3", ">= 1"])
259
259
  s.add_dependency(%q<devise>.freeze, ["< 5", ">= 3.4"])
260
260
  s.add_dependency(%q<rolify>.freeze, ["~> 5"])
261
- s.add_dependency(%q<stripe>.freeze, ["< 3", ">= 1.36"])
261
+ s.add_dependency(%q<stripe>.freeze, ["< 3.4", ">= 1.36"])
262
262
  s.add_dependency(%q<dotenv-rails>.freeze, ["~> 2.2"])
263
263
  s.add_dependency(%q<bundler>.freeze, ["~> 1"])
264
264
  s.add_dependency(%q<coffeelint>.freeze, ["~> 1.14"])
265
265
  s.add_dependency(%q<juwelier>.freeze, ["~> 2"])
266
266
  s.add_dependency(%q<nokogiri>.freeze, [">= 1.7"])
267
267
  s.add_dependency(%q<pre-commit>.freeze, ["~> 0.32"])
268
- s.add_dependency(%q<rubocop>.freeze, [">= 0"])
269
- s.add_dependency(%q<scss_lint>.freeze, ["~> 0.52.0"])
268
+ s.add_dependency(%q<rubocop>.freeze, ["< 1", ">= 0.49"])
269
+ s.add_dependency(%q<scss_lint>.freeze, ["< 1", ">= 0.52.0"])
270
270
  s.add_dependency(%q<web-console>.freeze, ["~> 3"])
271
- s.add_dependency(%q<bootstrap-sass>.freeze, ["~> 3"])
271
+ s.add_dependency(%q<bootstrap-sass>.freeze, ["< 4", ">= 3.3"])
272
272
  s.add_dependency(%q<factory_girl_rails>.freeze, ["~> 4.5"])
273
273
  s.add_dependency(%q<forgery>.freeze, ["~> 0.6"])
274
274
  s.add_dependency(%q<rails-controller-testing>.freeze, ["~> 1"])
275
275
  s.add_dependency(%q<rspec-rails>.freeze, ["~> 3"])
276
- s.add_dependency(%q<sass-rails>.freeze, ["~> 5"])
276
+ s.add_dependency(%q<sass-rails>.freeze, ["< 7", ">= 5"])
277
277
  s.add_dependency(%q<sqlite3>.freeze, ["~> 1.3"])
278
278
  end
279
279
  end
Binary file
@@ -11,7 +11,7 @@ FactoryGirl.define do
11
11
  # attributes; `create_list`'s second argument is the number of records
12
12
  # to create and we make sure the user is associated properly to the post
13
13
  after(:create) do |group, evaluator|
14
- evaluator.owner.add_role(:owner, group)
14
+ group.save_with_owner(evaluator.owner)
15
15
  end
16
16
  end
17
17
  end
@@ -8,7 +8,7 @@ RSpec.describe 'paid_up/plans/index' do
8
8
  before do
9
9
  view.extend PaidUp::PlansHelper
10
10
  view.extend PaidUp::FeaturesHelper
11
- view.extend BootstrapLeatherHelper
11
+ view.extend BootstrapLeather::ApplicationHelper
12
12
  end
13
13
 
14
14
  context 'when user is anonymous' do
@@ -8,7 +8,7 @@ RSpec.describe 'paid_up/subscriptions/new' do
8
8
  before do
9
9
  view.extend PaidUp::PlansHelper
10
10
  view.extend PaidUp::FeaturesHelper
11
- view.extend BootstrapLeatherHelper
11
+ view.extend BootstrapLeather::ApplicationHelper
12
12
  end
13
13
 
14
14
  context 'when user is logged in as free customer' do
@@ -49,7 +49,7 @@ RSpec.describe 'paid_up/subscriptions/index' do
49
49
  before do
50
50
  view.extend PaidUp::PlansHelper
51
51
  view.extend PaidUp::FeaturesHelper
52
- view.extend BootstrapLeatherHelper
52
+ view.extend BootstrapLeather::ApplicationHelper
53
53
  end
54
54
 
55
55
  context 'when user is logged in' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paid_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.4
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen Lundgren
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-06 00:00:00.000000000 Z
11
+ date: 2017-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml-rails
@@ -150,14 +150,20 @@ dependencies:
150
150
  name: cancancan
151
151
  requirement: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - "~>"
153
+ - - "<"
154
+ - !ruby/object:Gem::Version
155
+ version: '3'
156
+ - - ">="
154
157
  - !ruby/object:Gem::Version
155
158
  version: '1'
156
159
  type: :runtime
157
160
  prerelease: false
158
161
  version_requirements: !ruby/object:Gem::Requirement
159
162
  requirements:
160
- - - "~>"
163
+ - - "<"
164
+ - !ruby/object:Gem::Version
165
+ version: '3'
166
+ - - ">="
161
167
  - !ruby/object:Gem::Version
162
168
  version: '1'
163
169
  - !ruby/object:Gem::Dependency
@@ -200,7 +206,7 @@ dependencies:
200
206
  requirements:
201
207
  - - "<"
202
208
  - !ruby/object:Gem::Version
203
- version: '3'
209
+ version: '3.4'
204
210
  - - ">="
205
211
  - !ruby/object:Gem::Version
206
212
  version: '1.36'
@@ -210,7 +216,7 @@ dependencies:
210
216
  requirements:
211
217
  - - "<"
212
218
  - !ruby/object:Gem::Version
213
- version: '3'
219
+ version: '3.4'
214
220
  - - ">="
215
221
  - !ruby/object:Gem::Version
216
222
  version: '1.36'
@@ -302,28 +308,40 @@ dependencies:
302
308
  name: rubocop
303
309
  requirement: !ruby/object:Gem::Requirement
304
310
  requirements:
311
+ - - "<"
312
+ - !ruby/object:Gem::Version
313
+ version: '1'
305
314
  - - ">="
306
315
  - !ruby/object:Gem::Version
307
- version: '0'
316
+ version: '0.49'
308
317
  type: :development
309
318
  prerelease: false
310
319
  version_requirements: !ruby/object:Gem::Requirement
311
320
  requirements:
321
+ - - "<"
322
+ - !ruby/object:Gem::Version
323
+ version: '1'
312
324
  - - ">="
313
325
  - !ruby/object:Gem::Version
314
- version: '0'
326
+ version: '0.49'
315
327
  - !ruby/object:Gem::Dependency
316
328
  name: scss_lint
317
329
  requirement: !ruby/object:Gem::Requirement
318
330
  requirements:
319
- - - "~>"
331
+ - - "<"
332
+ - !ruby/object:Gem::Version
333
+ version: '1'
334
+ - - ">="
320
335
  - !ruby/object:Gem::Version
321
336
  version: 0.52.0
322
337
  type: :development
323
338
  prerelease: false
324
339
  version_requirements: !ruby/object:Gem::Requirement
325
340
  requirements:
326
- - - "~>"
341
+ - - "<"
342
+ - !ruby/object:Gem::Version
343
+ version: '1'
344
+ - - ">="
327
345
  - !ruby/object:Gem::Version
328
346
  version: 0.52.0
329
347
  - !ruby/object:Gem::Dependency
@@ -344,16 +362,22 @@ dependencies:
344
362
  name: bootstrap-sass
345
363
  requirement: !ruby/object:Gem::Requirement
346
364
  requirements:
347
- - - "~>"
365
+ - - "<"
348
366
  - !ruby/object:Gem::Version
349
- version: '3'
367
+ version: '4'
368
+ - - ">="
369
+ - !ruby/object:Gem::Version
370
+ version: '3.3'
350
371
  type: :development
351
372
  prerelease: false
352
373
  version_requirements: !ruby/object:Gem::Requirement
353
374
  requirements:
354
- - - "~>"
375
+ - - "<"
355
376
  - !ruby/object:Gem::Version
356
- version: '3'
377
+ version: '4'
378
+ - - ">="
379
+ - !ruby/object:Gem::Version
380
+ version: '3.3'
357
381
  - !ruby/object:Gem::Dependency
358
382
  name: factory_girl_rails
359
383
  requirement: !ruby/object:Gem::Requirement
@@ -414,14 +438,20 @@ dependencies:
414
438
  name: sass-rails
415
439
  requirement: !ruby/object:Gem::Requirement
416
440
  requirements:
417
- - - "~>"
441
+ - - "<"
442
+ - !ruby/object:Gem::Version
443
+ version: '7'
444
+ - - ">="
418
445
  - !ruby/object:Gem::Version
419
446
  version: '5'
420
447
  type: :development
421
448
  prerelease: false
422
449
  version_requirements: !ruby/object:Gem::Requirement
423
450
  requirements:
424
- - - "~>"
451
+ - - "<"
452
+ - !ruby/object:Gem::Version
453
+ version: '7'
454
+ - - ">="
425
455
  - !ruby/object:Gem::Version
426
456
  version: '5'
427
457
  - !ruby/object:Gem::Dependency