mks_auth 1.0.10 → 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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/mks/auth/access_controller.rb +51 -0
  3. data/app/controllers/mks/auth/application_controller.rb +13 -40
  4. data/app/controllers/mks/auth/application_modules_controller.rb +2 -0
  5. data/app/controllers/mks/auth/user_roles_controller.rb +32 -40
  6. data/app/controllers/mks/auth/users_controller.rb +29 -47
  7. data/app/helpers/mks/auth/access_helper.rb +47 -0
  8. data/app/helpers/mks/auth/application_helper.rb +10 -0
  9. data/app/models/mks/auth/application_module.rb +3 -3
  10. data/app/models/mks/auth/menu.rb +5 -5
  11. data/app/models/mks/auth/user.rb +8 -30
  12. data/app/models/mks/auth/user_role.rb +5 -10
  13. data/config/routes.rb +18 -17
  14. data/db/migrate/20161029065810_create_mks_auth_application_modules.rb +1 -1
  15. data/db/migrate/20161029065959_create_mks_auth_users.rb +4 -1
  16. data/db/migrate/20161029070807_create_mks_auth_user_roles.rb +2 -3
  17. data/db/migrate/20161029071047_create_mks_users_user_roles.rb +4 -4
  18. data/db/migrate/20161029072256_create_mks_auth_menus.rb +3 -3
  19. data/db/migrate/20161029074023_create_mks_menus_user_roles.rb +3 -3
  20. data/lib/mks/auth/engine.rb +12 -5
  21. data/lib/mks/auth/version.rb +1 -1
  22. data/lib/mks_auth.rb +0 -1
  23. data/spec/controllers/mks/auth/users_controller_spec.rb +2 -91
  24. data/spec/dummy/config/application.rb +0 -2
  25. data/spec/dummy/config/database.yml +3 -5
  26. data/spec/dummy/config/initializers/new_framework_defaults.rb +1 -1
  27. data/spec/dummy/db/schema.rb +30 -38
  28. data/spec/factories/application_modules.rb +1 -1
  29. data/spec/factories/menus.rb +1 -1
  30. data/spec/factories/user_roles.rb +1 -2
  31. data/spec/factories/users.rb +2 -1
  32. data/spec/models/mks/auth/application_module_spec.rb +1 -2
  33. data/spec/models/mks/auth/user_role_spec.rb +0 -6
  34. data/spec/models/mks/auth/user_spec.rb +0 -21
  35. data/spec/rails_helper.rb +0 -1
  36. data/spec/spec_helper.rb +1 -1
  37. data/spec/support/factory_girl.rb +2 -2
  38. metadata +69 -92
  39. data/app/controllers/mks/auth/menus_controller.rb +0 -29
  40. data/db/migrate/20180201104912_create_mks_users_application_modules.rb +0 -12
  41. data/lib/mks/auth/token_auth.rb +0 -19
  42. data/spec/controllers/mks/auth/menus_controller_spec.rb +0 -53
  43. data/spec/controllers/mks/auth/user_roles_controller_spec.rb +0 -129
  44. data/spec/dummy/log/development.log +0 -14612
  45. data/spec/dummy/log/test.log +0 -44921
@@ -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,4 +1,4 @@
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 }
@@ -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
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,27 +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
43
  end
65
44
  end
66
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mks_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
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: 2018-07-28 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
@@ -16,112 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.0
19
+ version: 5.1.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 5.2.0
26
+ version: 5.1.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mks_common
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.2
33
+ version: 1.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.2
40
+ version: 1.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 3.7.2
47
+ version: 3.6.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 3.7.2
54
+ version: 3.6.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: factory_bot_rails
56
+ name: factory_girl_rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 4.10.0
61
+ version: 4.8.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 4.10.0
68
+ version: 4.8.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ffaker
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 2.9.0
75
+ version: 2.5.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 2.9.0
82
+ version: 2.5.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pg
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.0.0
89
+ version: 0.20.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 1.0.0
96
+ version: 0.20.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bcrypt
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 3.1.12
103
+ version: 3.1.16
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 3.1.12
111
- - !ruby/object:Gem::Dependency
112
- name: jwt
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '='
116
- - !ruby/object:Gem::Version
117
- version: 2.1.0
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '='
123
- - !ruby/object:Gem::Version
124
- version: 2.1.0
110
+ version: 3.1.16
125
111
  description: Authentication module for MKS apps
126
112
  email:
127
113
  - henockl@live.com
@@ -135,11 +121,13 @@ files:
135
121
  - app/assets/config/mks_auth_manifest.js
136
122
  - app/assets/javascripts/mks_auth/application.js
137
123
  - app/assets/stylesheets/mks_auth/application.css
124
+ - app/controllers/mks/auth/access_controller.rb
138
125
  - app/controllers/mks/auth/application_controller.rb
139
126
  - app/controllers/mks/auth/application_modules_controller.rb
140
- - app/controllers/mks/auth/menus_controller.rb
141
127
  - app/controllers/mks/auth/user_roles_controller.rb
142
128
  - app/controllers/mks/auth/users_controller.rb
129
+ - app/helpers/mks/auth/access_helper.rb
130
+ - app/helpers/mks/auth/application_helper.rb
143
131
  - app/jobs/mks_auth/application_job.rb
144
132
  - app/mailers/mks_auth/application_mailer.rb
145
133
  - app/models/mks/auth/application_module.rb
@@ -154,15 +142,11 @@ files:
154
142
  - db/migrate/20161029071047_create_mks_users_user_roles.rb
155
143
  - db/migrate/20161029072256_create_mks_auth_menus.rb
156
144
  - db/migrate/20161029074023_create_mks_menus_user_roles.rb
157
- - db/migrate/20180201104912_create_mks_users_application_modules.rb
158
145
  - lib/mks/auth.rb
159
146
  - lib/mks/auth/engine.rb
160
- - lib/mks/auth/token_auth.rb
161
147
  - lib/mks/auth/version.rb
162
148
  - lib/mks_auth.rb
163
149
  - lib/tasks/mks_auth_tasks.rake
164
- - spec/controllers/mks/auth/menus_controller_spec.rb
165
- - spec/controllers/mks/auth/user_roles_controller_spec.rb
166
150
  - spec/controllers/mks/auth/users_controller_spec.rb
167
151
  - spec/dummy/Rakefile
168
152
  - spec/dummy/app/assets/config/manifest.js
@@ -209,8 +193,6 @@ files:
209
193
  - spec/dummy/config/secrets.yml
210
194
  - spec/dummy/config/spring.rb
211
195
  - spec/dummy/db/schema.rb
212
- - spec/dummy/log/development.log
213
- - spec/dummy/log/test.log
214
196
  - spec/dummy/public/404.html
215
197
  - spec/dummy/public/422.html
216
198
  - spec/dummy/public/500.html
@@ -247,76 +229,71 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
229
  - !ruby/object:Gem::Version
248
230
  version: '0'
249
231
  requirements: []
250
- rubyforge_project:
251
- rubygems_version: 2.7.6
232
+ rubygems_version: 3.0.3
252
233
  signing_key:
253
234
  specification_version: 4
254
235
  summary: Authentication module for MKS apps
255
236
  test_files:
256
- - spec/controllers/mks/auth/menus_controller_spec.rb
257
- - spec/controllers/mks/auth/user_roles_controller_spec.rb
258
- - spec/controllers/mks/auth/users_controller_spec.rb
259
- - spec/dummy/app/assets/config/manifest.js
260
- - spec/dummy/app/assets/javascripts/application.js
261
- - spec/dummy/app/assets/javascripts/cable.js
262
- - spec/dummy/app/assets/stylesheets/application.css
263
- - spec/dummy/app/channels/application_cable/channel.rb
264
- - spec/dummy/app/channels/application_cable/connection.rb
265
- - spec/dummy/app/controllers/application_controller.rb
266
- - spec/dummy/app/helpers/application_helper.rb
267
- - spec/dummy/app/jobs/application_job.rb
268
- - spec/dummy/app/mailers/application_mailer.rb
269
- - spec/dummy/app/models/application_record.rb
270
- - spec/dummy/app/views/layouts/application.html.erb
271
- - spec/dummy/app/views/layouts/mailer.html.erb
272
- - spec/dummy/app/views/layouts/mailer.text.erb
273
- - spec/dummy/bin/bundle
274
- - spec/dummy/bin/rails
275
- - spec/dummy/bin/rake
276
- - spec/dummy/bin/setup
277
- - spec/dummy/bin/update
237
+ - spec/spec_helper.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
247
+ - spec/dummy/config/locales/en.yml
278
248
  - spec/dummy/config/application.rb
279
- - spec/dummy/config/boot.rb
280
249
  - spec/dummy/config/cable.yml
250
+ - spec/dummy/config/boot.rb
251
+ - spec/dummy/config/spring.rb
281
252
  - spec/dummy/config/database.yml
253
+ - spec/dummy/config/routes.rb
282
254
  - spec/dummy/config/environment.rb
255
+ - spec/dummy/config/puma.rb
283
256
  - spec/dummy/config/environments/development.rb
284
- - spec/dummy/config/environments/production.rb
285
257
  - spec/dummy/config/environments/test.rb
286
- - spec/dummy/config/initializers/application_controller_renderer.rb
287
- - spec/dummy/config/initializers/assets.rb
288
- - spec/dummy/config/initializers/backtrace_silencers.rb
258
+ - spec/dummy/config/environments/production.rb
259
+ - spec/dummy/config/initializers/wrap_parameters.rb
260
+ - spec/dummy/config/initializers/mime_types.rb
261
+ - spec/dummy/config/initializers/session_store.rb
289
262
  - spec/dummy/config/initializers/cookies_serializer.rb
263
+ - spec/dummy/config/initializers/backtrace_silencers.rb
290
264
  - spec/dummy/config/initializers/filter_parameter_logging.rb
291
- - spec/dummy/config/initializers/inflections.rb
292
- - spec/dummy/config/initializers/mime_types.rb
293
265
  - spec/dummy/config/initializers/new_framework_defaults.rb
294
- - spec/dummy/config/initializers/session_store.rb
295
- - spec/dummy/config/initializers/wrap_parameters.rb
296
- - spec/dummy/config/locales/en.yml
297
- - spec/dummy/config/puma.rb
298
- - spec/dummy/config/routes.rb
266
+ - spec/dummy/config/initializers/application_controller_renderer.rb
267
+ - spec/dummy/config/initializers/assets.rb
268
+ - spec/dummy/config/initializers/inflections.rb
299
269
  - spec/dummy/config/secrets.yml
300
- - spec/dummy/config/spring.rb
301
- - spec/dummy/config.ru
302
- - spec/dummy/db/schema.rb
303
- - spec/dummy/log/development.log
304
- - spec/dummy/log/test.log
305
- - spec/dummy/public/404.html
306
- - spec/dummy/public/422.html
307
- - spec/dummy/public/500.html
308
- - spec/dummy/public/apple-touch-icon-precomposed.png
309
- - spec/dummy/public/apple-touch-icon.png
310
- - spec/dummy/public/favicon.ico
311
270
  - spec/dummy/Rakefile
312
- - spec/factories/application_modules.rb
313
- - 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
314
290
  - spec/factories/user_roles.rb
291
+ - spec/factories/application_modules.rb
315
292
  - spec/factories/users.rb
316
- - spec/models/mks/auth/application_module_spec.rb
293
+ - spec/factories/menus.rb
294
+ - spec/support/factory_girl.rb
295
+ - spec/controllers/mks/auth/users_controller_spec.rb
317
296
  - spec/models/mks/auth/menu_spec.rb
318
- - spec/models/mks/auth/user_role_spec.rb
319
297
  - spec/models/mks/auth/user_spec.rb
320
- - spec/rails_helper.rb
321
- - spec/spec_helper.rb
322
- - spec/support/factory_girl.rb
298
+ - spec/models/mks/auth/application_module_spec.rb
299
+ - spec/models/mks/auth/user_role_spec.rb
@@ -1,29 +0,0 @@
1
- module Mks
2
- module Auth
3
- class MenusController < ApplicationController
4
- before_action :set_user, only: [:menus]
5
-
6
- def menus
7
- roles = @user.roles.joins(:application_module)
8
- .where('mks_auth_application_modules.code = ?', params[:app_module])
9
- menus = []
10
- menu_list = roles.inject([]) { |items, r| items += r.menus }.uniq
11
- parents = menu_list.select { |menu| menu.parent.nil? }
12
- parents.each do |parent|
13
- children = (menu_list.select { |menu| menu.parent == parent }).uniq
14
- .map { |menu|
15
- { 'text': menu.text, 'location': menu.location, 'iconCls': menu.icon_cls }
16
- }
17
- menus << { 'text': parent.text, 'className': parent.class_name, 'iconCls': parent.icon_cls, children: children }
18
- end
19
- render json: { success: true, data: menus }
20
- end
21
-
22
- private
23
-
24
- def set_user
25
- @user = User.find(params[:id])
26
- end
27
- end
28
- end
29
- end