paid_up 0.12.4 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
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