mks_auth 1.0.14 → 1.2.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +17 -3
  3. data/app/assets/config/mks_auth_manifest.js +2 -0
  4. data/app/assets/javascripts/mks_auth/application.js +13 -0
  5. data/app/assets/stylesheets/mks_auth/application.css +15 -0
  6. data/app/controllers/mks/auth/access_controller.rb +51 -0
  7. data/app/controllers/mks/auth/application_controller.rb +13 -39
  8. data/app/controllers/mks/auth/application_modules_controller.rb +2 -0
  9. data/app/controllers/mks/auth/user_roles_controller.rb +32 -40
  10. data/app/controllers/mks/auth/users_controller.rb +29 -47
  11. data/app/helpers/mks/auth/access_helper.rb +47 -0
  12. data/app/helpers/mks/auth/application_helper.rb +10 -0
  13. data/app/jobs/mks_auth/application_job.rb +4 -0
  14. data/app/mailers/mks_auth/application_mailer.rb +6 -0
  15. data/app/models/mks/auth/application_module.rb +3 -3
  16. data/app/models/mks/auth/menu.rb +5 -5
  17. data/app/models/mks/auth/user.rb +9 -35
  18. data/app/models/mks/auth/user_role.rb +5 -10
  19. data/config/routes.rb +20 -16
  20. data/db/migrate/20161029065810_create_mks_auth_application_modules.rb +1 -1
  21. data/db/migrate/20161029065959_create_mks_auth_users.rb +4 -1
  22. data/db/migrate/20161029070807_create_mks_auth_user_roles.rb +2 -3
  23. data/db/migrate/20161029071047_create_mks_users_user_roles.rb +4 -4
  24. data/db/migrate/20161029072256_create_mks_auth_menus.rb +3 -3
  25. data/db/migrate/20161029074023_create_mks_menus_user_roles.rb +3 -3
  26. data/lib/mks/auth/engine.rb +12 -5
  27. data/lib/mks/auth/version.rb +1 -1
  28. data/lib/mks_auth.rb +0 -1
  29. data/spec/controllers/mks/auth/users_controller_spec.rb +2 -91
  30. data/spec/dummy/config/application.rb +0 -2
  31. data/spec/dummy/config/database.yml +3 -5
  32. data/spec/dummy/config/initializers/new_framework_defaults.rb +1 -1
  33. data/spec/dummy/db/schema.rb +35 -442
  34. data/spec/factories/application_modules.rb +1 -1
  35. data/spec/factories/menus.rb +2 -2
  36. data/spec/factories/user_roles.rb +1 -2
  37. data/spec/factories/users.rb +3 -2
  38. data/spec/models/mks/auth/application_module_spec.rb +1 -2
  39. data/spec/models/mks/auth/user_role_spec.rb +0 -6
  40. data/spec/models/mks/auth/user_spec.rb +0 -33
  41. data/spec/rails_helper.rb +0 -1
  42. data/spec/spec_helper.rb +1 -1
  43. data/spec/support/factory_girl.rb +2 -2
  44. metadata +95 -140
  45. data/app/controllers/mks/auth/menus_controller.rb +0 -29
  46. data/db/migrate/20180201104912_create_mks_users_application_modules.rb +0 -12
  47. data/lib/mks/auth/token_auth.rb +0 -19
  48. data/spec/controllers/mks/auth/menus_controller_spec.rb +0 -53
  49. data/spec/controllers/mks/auth/user_roles_controller_spec.rb +0 -129
  50. data/spec/dummy/log/development.log +0 -16526
  51. data/spec/dummy/log/test.log +0 -49665
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :application_module, class: 'Mks::Auth::ApplicationModule' do
3
3
  code { FFaker::Name.name }
4
4
  name { FFaker::Name.name }
@@ -1,10 +1,10 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :menu, class: 'Mks::Auth::Menu' do
3
3
  text { FFaker::Name.name }
4
4
  icon_cls { FFaker::Name.name }
5
5
  class_name { FFaker::Name.name }
6
6
  location { FFaker::Name.name }
7
- parent { nil }
7
+ parent nil
8
8
  association :application_module
9
9
  end
10
10
  end
@@ -1,7 +1,6 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :user_role, class: 'Mks::Auth::UserRole' do
3
3
  name { FFaker::Name.name }
4
- association :application_module
5
4
 
6
5
  trait :with_menu do
7
6
  after(:create) do |role|
@@ -1,10 +1,11 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :user, class: 'Mks::Auth::User' do
3
3
  first_name { FFaker::Name.name }
4
4
  last_name { FFaker::Name.name }
5
5
  email { FFaker::Internet.email }
6
- active { true }
6
+ active true
7
7
  password { FFaker::Internet.password(min_length=6) }
8
+ association :application_module
8
9
 
9
10
  trait :with_role do
10
11
  after(:create) do |user|
@@ -22,8 +22,7 @@ module Mks
22
22
 
23
23
  it 'can access users' do
24
24
  am = create(:application_module)
25
- 2.times { create(:user) }
26
- User.all.each { |u| u.application_modules = [am] }
25
+ 2.times { create(:user, :application_module => am) }
27
26
  expect(am.users.count).to eq 2
28
27
  end
29
28
 
@@ -16,12 +16,6 @@ module Mks
16
16
  expect(build(:user_role, name: ur.name)).not_to be_valid
17
17
  end
18
18
 
19
- it 'converts name to symbol' do
20
- ur = create(:user_role)
21
- result = ur.name.underscore.to_sym
22
- expect(ur.sym_name).to eq result
23
- end
24
-
25
19
  it 'can access users' do
26
20
  u = create(:user, :with_role)
27
21
  role = u.roles.first
@@ -40,39 +40,6 @@ module Mks
40
40
  u = create(:user, :with_roles)
41
41
  expect(u.roles.count).to eq 3
42
42
  end
43
-
44
- it 'role_names returns role names' do
45
- r1 = create(:user_role)
46
- r2 = create(:user_role)
47
- u = create(:user, roles: [r1, r2])
48
-
49
- roles = u.role_names
50
- expect(roles).to include r1.name
51
- expect(roles).to include r2.name
52
- end
53
-
54
- it 'role? checks if a role exists' do
55
- r1 = create(:user_role)
56
- r2 = create(:user_role)
57
- r3 = create(:user_role)
58
- u = create(:user, roles: [r1, r2])
59
-
60
- expect(u.role?(r1.sym_name)).to be_truthy
61
- expect(u.role?(r2.sym_name)).to be_truthy
62
- expect(u.role?(r3.sym_name)).to be_falsey
63
- end
64
-
65
- it 'any_role? checks if any of the listed roles belong to user' do
66
- r1 = create(:user_role)
67
- r2 = create(:user_role)
68
- r3 = create(:user_role)
69
- r4 = create(:user_role)
70
- u = create(:user, roles: [r1, r2])
71
-
72
- expect(u.any_role?([r1.sym_name, r3.sym_name])).to be_truthy
73
- expect(u.any_role?([r1.sym_name, r2.sym_name])).to be_truthy
74
- expect(u.any_role?([r3.sym_name, r4.sym_name])).to be_falsey
75
- end
76
43
  end
77
44
  end
78
45
  end
@@ -5,7 +5,6 @@ require File.expand_path('../dummy/config/environment', __FILE__)
5
5
  abort('The Rails environment is running in production mode!') if Rails.env.production?
6
6
  require 'spec_helper'
7
7
  require 'rspec/rails'
8
- require 'mks/auth/token_auth'
9
8
  # Add additional requires below this line. Rails is not loaded until this point!
10
9
 
11
10
  # Requires supporting ruby files with custom matchers and macros, etc, in
@@ -17,7 +17,7 @@
17
17
  #
18
18
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
19
19
 
20
- require 'factory_bot_rails'
20
+ require 'factory_girl_rails'
21
21
 
22
22
  require 'ffaker'
23
23
 
@@ -1,5 +1,5 @@
1
- require 'factory_bot'
1
+ require 'factory_girl'
2
2
 
3
3
  RSpec.configure do |config|
4
- config.include FactoryBot::Syntax::Methods
4
+ config.include FactoryGirl::Syntax::Methods
5
5
  end
metadata CHANGED
@@ -1,155 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mks_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-19 00:00:00.000000000 Z
11
+ date: 2020-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 6.0.3.3
19
+ version: 5.1.1
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '6.0'
30
- - - ">="
24
+ - - '='
31
25
  - !ruby/object:Gem::Version
32
- version: 6.0.3.3
26
+ version: 5.1.1
33
27
  - !ruby/object:Gem::Dependency
34
- name: rspec-rails
28
+ name: mks_common
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '4.0'
40
- - - ">="
31
+ - - '='
41
32
  - !ruby/object:Gem::Version
42
- version: 4.0.1
43
- type: :development
33
+ version: 1.2.0
34
+ type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - "~>"
38
+ - - '='
48
39
  - !ruby/object:Gem::Version
49
- version: '4.0'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 4.0.1
40
+ version: 1.2.0
53
41
  - !ruby/object:Gem::Dependency
54
- name: factory_bot_rails
42
+ name: rspec-rails
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
- - - "~>"
45
+ - - '='
58
46
  - !ruby/object:Gem::Version
59
- version: '6.1'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 6.1.0
47
+ version: 3.6.0
63
48
  type: :development
64
49
  prerelease: false
65
50
  version_requirements: !ruby/object:Gem::Requirement
66
51
  requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '6.1'
70
- - - ">="
52
+ - - '='
71
53
  - !ruby/object:Gem::Version
72
- version: 6.1.0
54
+ version: 3.6.0
73
55
  - !ruby/object:Gem::Dependency
74
- name: ffaker
56
+ name: factory_girl_rails
75
57
  requirement: !ruby/object:Gem::Requirement
76
58
  requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: '2.17'
80
- - - ">="
59
+ - - '='
81
60
  - !ruby/object:Gem::Version
82
- version: 2.17.0
61
+ version: 4.8.0
83
62
  type: :development
84
63
  prerelease: false
85
64
  version_requirements: !ruby/object:Gem::Requirement
86
65
  requirements:
87
- - - "~>"
66
+ - - '='
88
67
  - !ruby/object:Gem::Version
89
- version: '2.17'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 2.17.0
68
+ version: 4.8.0
93
69
  - !ruby/object:Gem::Dependency
94
- name: pg
70
+ name: ffaker
95
71
  requirement: !ruby/object:Gem::Requirement
96
72
  requirements:
97
- - - "~>"
98
- - !ruby/object:Gem::Version
99
- version: '1.2'
100
- - - ">="
73
+ - - '='
101
74
  - !ruby/object:Gem::Version
102
- version: 1.2.3
75
+ version: 2.5.0
103
76
  type: :development
104
77
  prerelease: false
105
78
  version_requirements: !ruby/object:Gem::Requirement
106
79
  requirements:
107
- - - "~>"
80
+ - - '='
108
81
  - !ruby/object:Gem::Version
109
- version: '1.2'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 1.2.3
82
+ version: 2.5.0
113
83
  - !ruby/object:Gem::Dependency
114
- name: bcrypt
84
+ name: pg
115
85
  requirement: !ruby/object:Gem::Requirement
116
86
  requirements:
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: '3.1'
120
- - - ">="
87
+ - - '='
121
88
  - !ruby/object:Gem::Version
122
- version: 3.1.16
123
- type: :runtime
89
+ version: 0.20.0
90
+ type: :development
124
91
  prerelease: false
125
92
  version_requirements: !ruby/object:Gem::Requirement
126
93
  requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '3.1'
130
- - - ">="
94
+ - - '='
131
95
  - !ruby/object:Gem::Version
132
- version: 3.1.16
96
+ version: 0.20.0
133
97
  - !ruby/object:Gem::Dependency
134
- name: jwt
98
+ name: bcrypt
135
99
  requirement: !ruby/object:Gem::Requirement
136
100
  requirements:
137
- - - "~>"
101
+ - - '='
138
102
  - !ruby/object:Gem::Version
139
- version: '2.2'
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 2.2.2
103
+ version: 3.1.16
143
104
  type: :runtime
144
105
  prerelease: false
145
106
  version_requirements: !ruby/object:Gem::Requirement
146
107
  requirements:
147
- - - "~>"
108
+ - - '='
148
109
  - !ruby/object:Gem::Version
149
- version: '2.2'
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 2.2.2
110
+ version: 3.1.16
153
111
  description: Authentication module for MKS apps
154
112
  email:
155
113
  - henockl@live.com
@@ -160,11 +118,18 @@ files:
160
118
  - MIT-LICENSE
161
119
  - README.md
162
120
  - Rakefile
121
+ - app/assets/config/mks_auth_manifest.js
122
+ - app/assets/javascripts/mks_auth/application.js
123
+ - app/assets/stylesheets/mks_auth/application.css
124
+ - app/controllers/mks/auth/access_controller.rb
163
125
  - app/controllers/mks/auth/application_controller.rb
164
126
  - app/controllers/mks/auth/application_modules_controller.rb
165
- - app/controllers/mks/auth/menus_controller.rb
166
127
  - app/controllers/mks/auth/user_roles_controller.rb
167
128
  - app/controllers/mks/auth/users_controller.rb
129
+ - app/helpers/mks/auth/access_helper.rb
130
+ - app/helpers/mks/auth/application_helper.rb
131
+ - app/jobs/mks_auth/application_job.rb
132
+ - app/mailers/mks_auth/application_mailer.rb
168
133
  - app/models/mks/auth/application_module.rb
169
134
  - app/models/mks/auth/application_record.rb
170
135
  - app/models/mks/auth/menu.rb
@@ -177,15 +142,11 @@ files:
177
142
  - db/migrate/20161029071047_create_mks_users_user_roles.rb
178
143
  - db/migrate/20161029072256_create_mks_auth_menus.rb
179
144
  - db/migrate/20161029074023_create_mks_menus_user_roles.rb
180
- - db/migrate/20180201104912_create_mks_users_application_modules.rb
181
145
  - lib/mks/auth.rb
182
146
  - lib/mks/auth/engine.rb
183
- - lib/mks/auth/token_auth.rb
184
147
  - lib/mks/auth/version.rb
185
148
  - lib/mks_auth.rb
186
149
  - lib/tasks/mks_auth_tasks.rake
187
- - spec/controllers/mks/auth/menus_controller_spec.rb
188
- - spec/controllers/mks/auth/user_roles_controller_spec.rb
189
150
  - spec/controllers/mks/auth/users_controller_spec.rb
190
151
  - spec/dummy/Rakefile
191
152
  - spec/dummy/app/assets/config/manifest.js
@@ -232,8 +193,6 @@ files:
232
193
  - spec/dummy/config/secrets.yml
233
194
  - spec/dummy/config/spring.rb
234
195
  - spec/dummy/db/schema.rb
235
- - spec/dummy/log/development.log
236
- - spec/dummy/log/test.log
237
196
  - spec/dummy/public/404.html
238
197
  - spec/dummy/public/422.html
239
198
  - spec/dummy/public/500.html
@@ -270,75 +229,71 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
229
  - !ruby/object:Gem::Version
271
230
  version: '0'
272
231
  requirements: []
273
- rubygems_version: 3.1.4
232
+ rubygems_version: 3.0.3
274
233
  signing_key:
275
234
  specification_version: 4
276
- summary: Auth module for MKS apps
235
+ summary: Authentication module for MKS apps
277
236
  test_files:
278
237
  - spec/spec_helper.rb
279
- - spec/dummy/app/mailers/application_mailer.rb
280
- - spec/dummy/app/models/application_record.rb
281
- - spec/dummy/app/jobs/application_job.rb
282
- - spec/dummy/app/controllers/application_controller.rb
283
- - spec/dummy/app/views/layouts/application.html.erb
284
- - spec/dummy/app/views/layouts/mailer.html.erb
285
- - spec/dummy/app/views/layouts/mailer.text.erb
286
- - spec/dummy/app/assets/config/manifest.js
287
- - spec/dummy/app/assets/javascripts/cable.js
288
- - spec/dummy/app/assets/javascripts/application.js
289
- - spec/dummy/app/assets/stylesheets/application.css
290
- - spec/dummy/app/helpers/application_helper.rb
291
- - spec/dummy/app/channels/application_cable/connection.rb
292
- - spec/dummy/app/channels/application_cable/channel.rb
293
- - spec/dummy/bin/update
294
- - spec/dummy/bin/rake
295
- - spec/dummy/bin/setup
296
- - spec/dummy/bin/bundle
297
- - spec/dummy/bin/rails
298
- - spec/dummy/config/secrets.yml
299
- - spec/dummy/config/routes.rb
238
+ - spec/rails_helper.rb
239
+ - spec/dummy/public/apple-touch-icon-precomposed.png
240
+ - spec/dummy/public/422.html
241
+ - spec/dummy/public/500.html
242
+ - spec/dummy/public/favicon.ico
243
+ - spec/dummy/public/404.html
244
+ - spec/dummy/public/apple-touch-icon.png
245
+ - spec/dummy/config.ru
246
+ - spec/dummy/db/schema.rb
300
247
  - spec/dummy/config/locales/en.yml
248
+ - spec/dummy/config/application.rb
301
249
  - spec/dummy/config/cable.yml
302
- - spec/dummy/config/environments/production.rb
303
- - spec/dummy/config/environments/development.rb
304
- - spec/dummy/config/environments/test.rb
250
+ - spec/dummy/config/boot.rb
305
251
  - spec/dummy/config/spring.rb
252
+ - spec/dummy/config/database.yml
253
+ - spec/dummy/config/routes.rb
306
254
  - spec/dummy/config/environment.rb
307
- - spec/dummy/config/application.rb
308
255
  - spec/dummy/config/puma.rb
309
- - spec/dummy/config/database.yml
310
- - spec/dummy/config/boot.rb
311
- - spec/dummy/config/initializers/application_controller_renderer.rb
312
- - spec/dummy/config/initializers/backtrace_silencers.rb
256
+ - spec/dummy/config/environments/development.rb
257
+ - spec/dummy/config/environments/test.rb
258
+ - spec/dummy/config/environments/production.rb
259
+ - spec/dummy/config/initializers/wrap_parameters.rb
313
260
  - spec/dummy/config/initializers/mime_types.rb
314
- - spec/dummy/config/initializers/filter_parameter_logging.rb
315
261
  - spec/dummy/config/initializers/session_store.rb
316
- - spec/dummy/config/initializers/wrap_parameters.rb
262
+ - spec/dummy/config/initializers/cookies_serializer.rb
263
+ - spec/dummy/config/initializers/backtrace_silencers.rb
264
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
317
265
  - spec/dummy/config/initializers/new_framework_defaults.rb
266
+ - spec/dummy/config/initializers/application_controller_renderer.rb
318
267
  - spec/dummy/config/initializers/assets.rb
319
- - spec/dummy/config/initializers/cookies_serializer.rb
320
268
  - spec/dummy/config/initializers/inflections.rb
321
- - spec/dummy/config.ru
269
+ - spec/dummy/config/secrets.yml
322
270
  - spec/dummy/Rakefile
323
- - spec/dummy/public/favicon.ico
324
- - spec/dummy/public/422.html
325
- - spec/dummy/public/apple-touch-icon.png
326
- - spec/dummy/public/500.html
327
- - spec/dummy/public/404.html
328
- - spec/dummy/public/apple-touch-icon-precomposed.png
329
- - spec/dummy/db/schema.rb
330
- - spec/dummy/log/test.log
331
- - spec/dummy/log/development.log
332
- - spec/models/mks/auth/menu_spec.rb
333
- - spec/models/mks/auth/application_module_spec.rb
334
- - spec/models/mks/auth/user_role_spec.rb
335
- - spec/models/mks/auth/user_spec.rb
336
- - spec/support/factory_girl.rb
337
- - spec/factories/menus.rb
271
+ - spec/dummy/app/views/layouts/application.html.erb
272
+ - spec/dummy/app/views/layouts/mailer.html.erb
273
+ - spec/dummy/app/views/layouts/mailer.text.erb
274
+ - spec/dummy/app/helpers/application_helper.rb
275
+ - spec/dummy/app/assets/javascripts/cable.js
276
+ - spec/dummy/app/assets/javascripts/application.js
277
+ - spec/dummy/app/assets/stylesheets/application.css
278
+ - spec/dummy/app/assets/config/manifest.js
279
+ - spec/dummy/app/jobs/application_job.rb
280
+ - spec/dummy/app/channels/application_cable/connection.rb
281
+ - spec/dummy/app/channels/application_cable/channel.rb
282
+ - spec/dummy/app/mailers/application_mailer.rb
283
+ - spec/dummy/app/controllers/application_controller.rb
284
+ - spec/dummy/app/models/application_record.rb
285
+ - spec/dummy/bin/rake
286
+ - spec/dummy/bin/rails
287
+ - spec/dummy/bin/bundle
288
+ - spec/dummy/bin/setup
289
+ - spec/dummy/bin/update
338
290
  - spec/factories/user_roles.rb
339
291
  - spec/factories/application_modules.rb
340
292
  - spec/factories/users.rb
293
+ - spec/factories/menus.rb
294
+ - spec/support/factory_girl.rb
341
295
  - spec/controllers/mks/auth/users_controller_spec.rb
342
- - spec/controllers/mks/auth/user_roles_controller_spec.rb
343
- - spec/controllers/mks/auth/menus_controller_spec.rb
344
- - spec/rails_helper.rb
296
+ - spec/models/mks/auth/menu_spec.rb
297
+ - spec/models/mks/auth/user_spec.rb
298
+ - spec/models/mks/auth/application_module_spec.rb
299
+ - spec/models/mks/auth/user_role_spec.rb