strongbolt 0.3.12 → 0.3.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +56 -0
  3. data/.rubocop_todo.yml +91 -0
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +18 -2
  6. data/Rakefile +1 -1
  7. data/app/controllers/strongbolt/capabilities_controller.rb +36 -45
  8. data/app/controllers/strongbolt/roles_controller.rb +39 -47
  9. data/app/controllers/strongbolt/security_controller.rb +2 -3
  10. data/app/controllers/strongbolt/user_groups_controller.rb +48 -54
  11. data/app/controllers/strongbolt/user_groups_users_controller.rb +2 -4
  12. data/app/controllers/strongbolt_controller.rb +1 -1
  13. data/circle.yml +13 -0
  14. data/lib/generators/strongbolt/fix_generator.rb +5 -6
  15. data/lib/generators/strongbolt/fix_unique_group_members_generator.rb +2 -3
  16. data/lib/generators/strongbolt/indexes_generator.rb +3 -4
  17. data/lib/generators/strongbolt/install_generator.rb +8 -9
  18. data/lib/generators/strongbolt/templates/fix_unique_group_members.rb +1 -1
  19. data/lib/generators/strongbolt/templates/indexes.rb +1 -1
  20. data/lib/generators/strongbolt/templates/migration.rb +11 -12
  21. data/lib/generators/strongbolt/templates/strongbolt.rb +1 -1
  22. data/lib/generators/strongbolt/views_generator.rb +4 -4
  23. data/lib/strongbolt.rb +51 -54
  24. data/lib/strongbolt/base.rb +1 -1
  25. data/lib/strongbolt/bolted.rb +12 -13
  26. data/lib/strongbolt/bolted_controller.rb +46 -57
  27. data/lib/strongbolt/capabilities_role.rb +5 -5
  28. data/lib/strongbolt/capability.rb +32 -31
  29. data/lib/strongbolt/configuration.rb +18 -19
  30. data/lib/strongbolt/controllers/url_helpers.rb +5 -5
  31. data/lib/strongbolt/engine.rb +9 -9
  32. data/lib/strongbolt/errors.rb +4 -4
  33. data/lib/strongbolt/generators/migration.rb +4 -6
  34. data/lib/strongbolt/helpers.rb +5 -7
  35. data/lib/strongbolt/rails/routes.rb +4 -4
  36. data/lib/strongbolt/role.rb +11 -12
  37. data/lib/strongbolt/roles_user_group.rb +5 -5
  38. data/lib/strongbolt/rspec.rb +2 -2
  39. data/lib/strongbolt/rspec/user.rb +13 -15
  40. data/lib/strongbolt/tenantable.rb +78 -80
  41. data/lib/strongbolt/user_abilities.rb +44 -54
  42. data/lib/strongbolt/user_group.rb +8 -10
  43. data/lib/strongbolt/user_groups_user.rb +6 -6
  44. data/lib/strongbolt/version.rb +1 -1
  45. data/lib/tasks/strongbolt_tasks.rake +4 -4
  46. data/spec/controllers/strongbolt/capabilities_controller_spec.rb +28 -45
  47. data/spec/controllers/strongbolt/roles_controller_spec.rb +39 -72
  48. data/spec/controllers/strongbolt/user_groups_controller_spec.rb +34 -65
  49. data/spec/controllers/strongbolt/user_groups_users_controller_spec.rb +11 -19
  50. data/spec/controllers/without_authorization_controller_spec.rb +5 -5
  51. data/spec/dummy/app/controllers/posts_controller.rb +2 -2
  52. data/spec/dummy/app/controllers/test_controller.rb +1 -1
  53. data/spec/dummy/app/controllers/without_authorization_controller.rb +1 -1
  54. data/spec/dummy/bin/rails +1 -1
  55. data/spec/dummy/config.ru +1 -1
  56. data/spec/dummy/config/application.rb +4 -5
  57. data/spec/dummy/config/initializers/cookies_serializer.rb +1 -1
  58. data/spec/dummy/config/initializers/strongbolt.rb +2 -2
  59. data/spec/dummy/config/routes.rb +1 -3
  60. data/spec/dummy/db/migrate/20150630212236_create_strongbolt_tables.rb +9 -10
  61. data/spec/dummy/db/migrate/20150630212251_create_strongbolt_tables_indexes.rb +2 -2
  62. data/spec/dummy/db/migrate/20160531110509_fix_unique_group_members.rb +1 -1
  63. data/spec/fabricators/capability_fabricator.rb +4 -4
  64. data/spec/fabricators/role_fabricator.rb +3 -3
  65. data/spec/fabricators/user_fabricator.rb +2 -2
  66. data/spec/fabricators/user_group_fabricator.rb +3 -3
  67. data/spec/fixtures/application.rb +6 -3
  68. data/spec/fixtures/controllers.rb +1 -1
  69. data/spec/spec_helper.rb +7 -8
  70. data/spec/strongbolt/bolted_controller_spec.rb +110 -208
  71. data/spec/strongbolt/bolted_spec.rb +26 -40
  72. data/spec/strongbolt/capability_spec.rb +72 -86
  73. data/spec/strongbolt/configuration_spec.rb +33 -46
  74. data/spec/strongbolt/controllers/url_helpers_spec.rb +7 -9
  75. data/spec/strongbolt/helpers_spec.rb +14 -16
  76. data/spec/strongbolt/role_spec.rb +32 -35
  77. data/spec/strongbolt/tenantable_spec.rb +88 -86
  78. data/spec/strongbolt/user_abilities_multiple_tenants_spec.rb +29 -34
  79. data/spec/strongbolt/user_abilities_spec.rb +142 -188
  80. data/spec/strongbolt/user_group_spec.rb +14 -14
  81. data/spec/strongbolt/users_tenant_spec.rb +10 -12
  82. data/spec/strongbolt_spec.rb +53 -73
  83. data/spec/support/controller_macros.rb +1 -3
  84. data/spec/support/db_setup.rb +31 -25
  85. data/spec/support/helpers.rb +12 -12
  86. data/spec/support/transactional_specs.rb +1 -3
  87. data/strongbolt.gemspec +14 -12
  88. metadata +20 -3
@@ -1,8 +1,7 @@
1
1
  module Strongbolt
2
2
  class SecurityController < ::StrongboltController
3
- self.model_for_authorization = "Strongbolt::Role"
3
+ self.model_for_authorization = 'Strongbolt::Role'
4
4
 
5
- def index
6
- end
5
+ def index; end
7
6
  end
8
7
  end
@@ -1,76 +1,70 @@
1
1
  module Strongbolt
2
2
  class UserGroupsController < ::StrongboltController
3
- def index
4
- @user_groups = UserGroup.all
5
- end
3
+ def index
4
+ @user_groups = UserGroup.all
5
+ end
6
6
 
7
- def show
7
+ def show
8
8
  @user_group = UserGroup.find params[:id]
9
9
  # We select the users not yet in the user group
10
10
  @users = Strongbolt.user_class_constant
11
- .joins("LEFT JOIN strongbolt_user_groups_users sugu ON sugu.user_id = #{Strongbolt.user_class_constant.table_name}.id")
12
- .joins("LEFT JOIN strongbolt_user_groups sug ON sug.id = sugu.user_group_id")
13
- .where("sug.id IS NULL OR sug.id != ?", @user_group.id)
14
- end
11
+ .joins("LEFT JOIN strongbolt_user_groups_users sugu ON sugu.user_id = #{Strongbolt.user_class_constant.table_name}.id")
12
+ .joins('LEFT JOIN strongbolt_user_groups sug ON sug.id = sugu.user_group_id')
13
+ .where('sug.id IS NULL OR sug.id != ?', @user_group.id)
14
+ end
15
15
 
16
- def create
17
- begin
18
- @user_group = UserGroup.create! user_group_params
16
+ def create
17
+ @user_group = UserGroup.create! user_group_params
19
18
 
20
- flash[:success] = "Use group was successfully created!"
21
- redirect_to user_group_path(@user_group)
22
- rescue ActiveRecord::RecordInvalid => e
23
- flash[:danger] = "User Group could not be created, please review the errors below"
24
- redirect_to new_user_group_path
25
- rescue ActionController::ParameterMissing => e
26
- flash[:danger] = "User Group could not be created: ERROR #{e}"
27
- redirect_to new_user_group_path
28
- end
29
- end
19
+ flash[:success] = 'Use group was successfully created!'
20
+ redirect_to user_group_path(@user_group)
21
+ rescue ActiveRecord::RecordInvalid
22
+ flash[:danger] = 'User Group could not be created, please review the errors below'
23
+ redirect_to new_user_group_path
24
+ rescue ActionController::ParameterMissing => e
25
+ flash[:danger] = "User Group could not be created: ERROR #{e}"
26
+ redirect_to new_user_group_path
27
+ end
30
28
 
31
- def update
32
- begin
33
- @user_group = UserGroup.find params[:id]
34
- @user_group.update_attributes! user_group_params
35
-
36
- flash[:success] = "User group was successfully updated!"
37
- redirect_to user_group_path params[:id]
38
- rescue ActiveRecord::RecordInvalid => e
39
- flash[:danger] = "User Group could not be modified, please review the errors below"
40
- redirect_to edit_user_group_path(params[:id])
41
- rescue ActionController::ParameterMissing => e
42
- flash[:danger] = "User Group could not be updated: ERROR #{e}"
43
- redirect_to edit_user_group_path(params[:id])
44
- end
45
- end
29
+ def update
30
+ @user_group = UserGroup.find params[:id]
31
+ @user_group.update_attributes! user_group_params
46
32
 
47
- def destroy
48
- begin
49
- @user_group = UserGroup.find params[:id]
50
- @user_group.destroy!
33
+ flash[:success] = 'User group was successfully updated!'
34
+ redirect_to user_group_path params[:id]
35
+ rescue ActiveRecord::RecordInvalid
36
+ flash[:danger] = 'User Group could not be modified, please review the errors below'
37
+ redirect_to edit_user_group_path(params[:id])
38
+ rescue ActionController::ParameterMissing => e
39
+ flash[:danger] = "User Group could not be updated: ERROR #{e}"
40
+ redirect_to edit_user_group_path(params[:id])
41
+ end
51
42
 
52
- flash[:success] = "User group #{@user_group.name} successfully deleted"
53
-
54
- redirect_to user_groups_path
55
- rescue ActiveRecord::DeleteRestrictionError
56
- flash[:danger] = "User group #{@user_group.name} cannot be deleted because #{@user_group.users.size} users belong to it"
43
+ def destroy
44
+ @user_group = UserGroup.find params[:id]
45
+ @user_group.destroy!
57
46
 
58
- redirect_to user_group_path(@user_group)
59
- end
60
- end
47
+ flash[:success] = "User group #{@user_group.name} successfully deleted"
61
48
 
62
- def edit
49
+ redirect_to user_groups_path
50
+ rescue ActiveRecord::DeleteRestrictionError
51
+ flash[:danger] = "User group #{@user_group.name} cannot be deleted because #{@user_group.users.size} users belong to it"
52
+
53
+ redirect_to user_group_path(@user_group)
54
+ end
55
+
56
+ def edit
63
57
  @user_group = UserGroup.find params[:id]
64
- end
58
+ end
65
59
 
66
- def new
60
+ def new
67
61
  @user_group = UserGroup.new
68
- end
62
+ end
69
63
 
70
64
  private
71
65
 
72
66
  def user_group_params
73
- params.require(:user_group).permit(:name, :role_ids => [])
67
+ params.require(:user_group).permit(:name, role_ids: [])
74
68
  end
75
69
  end
76
- end
70
+ end
@@ -1,7 +1,6 @@
1
1
  module Strongbolt
2
2
  class UserGroupsUsersController < ::StrongboltController
3
-
4
- self.model_for_authorization = "Strongbolt::UserGroup"
3
+ self.model_for_authorization = 'Strongbolt::UserGroup'
5
4
 
6
5
  def create
7
6
  @user_group = UserGroup.find(params[:user_group_id])
@@ -24,7 +23,7 @@ module Strongbolt
24
23
  redirect_to request.referrer || user_group_path(@user_group)
25
24
  end
26
25
 
27
- rescue_from ActiveRecord::RecordNotFound do |e|
26
+ rescue_from ActiveRecord::RecordNotFound do |_e|
28
27
  if @user_group.nil?
29
28
  flash[:danger] = "User Group ##{params[:user_group_id]} does not exist"
30
29
  redirect_to user_groups_path
@@ -33,6 +32,5 @@ module Strongbolt
33
32
  redirect_to user_group_path(@user_group)
34
33
  end
35
34
  end
36
-
37
35
  end
38
36
  end
@@ -1,2 +1,2 @@
1
1
  class StrongboltController < Strongbolt.parent_controller.constantize
2
- end
2
+ end
@@ -0,0 +1,13 @@
1
+ dependencies:
2
+ pre:
3
+ - gem install bundler
4
+
5
+ database:
6
+ override:
7
+ # no need for a database right now
8
+ - echo "Skipping DB section."
9
+
10
+ test:
11
+ override:
12
+ - bundle exec rspec --profile 10
13
+ - bundle exec rubocop
@@ -1,4 +1,4 @@
1
- require "strongbolt/generators/migration"
1
+ require 'strongbolt/generators/migration'
2
2
 
3
3
  module Strongbolt
4
4
  module Generators
@@ -11,13 +11,12 @@ module Strongbolt
11
11
  source_root File.expand_path('../templates', __FILE__)
12
12
 
13
13
  def copy_fix
14
- unless Strongbolt::UsersTenant.primary_key.nil?
15
- puts"Strongbolt::UsersTenant already has a primary key, no need to use the fix"
14
+ if Strongbolt::UsersTenant.primary_key.nil?
15
+ copy_migration 'fix', 'fix_strongbolt_users_tenants_id'
16
16
  else
17
- copy_migration "fix", "fix_strongbolt_users_tenants_id"
17
+ puts 'Strongbolt::UsersTenant already has a primary key, no need to use the fix'
18
18
  end
19
19
  end
20
-
21
20
  end
22
21
  end
23
- end
22
+ end
@@ -1,4 +1,4 @@
1
- require "strongbolt/generators/migration"
1
+ require 'strongbolt/generators/migration'
2
2
 
3
3
  module Strongbolt
4
4
  module Generators
@@ -12,9 +12,8 @@ module Strongbolt
12
12
  source_root File.expand_path('../templates', __FILE__)
13
13
 
14
14
  def copy_fix
15
- copy_migration "fix_unique_group_members", "fix_unique_group_members"
15
+ copy_migration 'fix_unique_group_members', 'fix_unique_group_members'
16
16
  end
17
-
18
17
  end
19
18
  end
20
19
  end
@@ -1,4 +1,4 @@
1
- require "strongbolt/generators/migration"
1
+ require 'strongbolt/generators/migration'
2
2
 
3
3
  module Strongbolt
4
4
  module Generators
@@ -11,9 +11,8 @@ module Strongbolt
11
11
  source_root File.expand_path('../templates', __FILE__)
12
12
 
13
13
  def copy_fix
14
- copy_migration "indexes", "create_strongbolt_tables_indexes"
14
+ copy_migration 'indexes', 'create_strongbolt_tables_indexes'
15
15
  end
16
-
17
16
  end
18
17
  end
19
- end
18
+ end
@@ -1,4 +1,4 @@
1
- require "strongbolt/generators/migration"
1
+ require 'strongbolt/generators/migration'
2
2
 
3
3
  module Strongbolt
4
4
  module Generators
@@ -8,22 +8,21 @@ module Strongbolt
8
8
  source_root File.expand_path('../templates', __FILE__)
9
9
 
10
10
  def copy_migrations
11
- copy_migration "migration", "create_strongbolt_tables"
11
+ copy_migration 'migration', 'create_strongbolt_tables'
12
12
  end
13
13
 
14
14
  def copy_initializer
15
15
  # Laods all the application models
16
16
  Rails.application.eager_load!
17
17
  # Copy the file
18
- copy_file "strongbolt.rb", "config/initializers/strongbolt.rb"
18
+ copy_file 'strongbolt.rb', 'config/initializers/strongbolt.rb'
19
19
  # Fill in the list of models of the application
20
- gsub_file "config/initializers/strongbolt.rb", '%MODELS%',
21
- ActiveRecord::Base.descendants
22
- .reject { |m| m.name =~ /^Strongbolt::/ }
23
- .map { |m| "'#{m.name}'" }
24
- .join(", ")
20
+ gsub_file 'config/initializers/strongbolt.rb', '%MODELS%',
21
+ ActiveRecord::Base.descendants
22
+ .reject { |m| m.name =~ /^Strongbolt::/ }
23
+ .map { |m| "'#{m.name}'" }
24
+ .join(', ')
25
25
  end
26
-
27
26
  end
28
27
  end
29
28
  end
@@ -1,5 +1,5 @@
1
1
  class FixUniqueGroupMembers < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_index :strongbolt_user_groups_users, [:user_group_id, :user_id], unique: true, name: :index_strongbolt_user_groups_users_unique
3
+ add_index :strongbolt_user_groups_users, %i[user_group_id user_id], unique: true, name: :index_strongbolt_user_groups_users_unique
4
4
  end
5
5
  end
@@ -16,6 +16,6 @@ class CreateStrongboltTablesIndexes < ActiveRecord::Migration[4.2]
16
16
  add_index :strongbolt_users_tenants, :user_id
17
17
  add_index :strongbolt_users_tenants, :tenant_id
18
18
  add_index :strongbolt_users_tenants, :type
19
- add_index :strongbolt_users_tenants, [:tenant_id, :type]
19
+ add_index :strongbolt_users_tenants, %i[tenant_id type]
20
20
  end
21
21
  end
@@ -1,18 +1,18 @@
1
1
  class CreateStrongboltTables < ActiveRecord::Migration[4.2]
2
2
  def change
3
- create_table :strongbolt_capabilities, :force => true do |t|
3
+ create_table :strongbolt_capabilities, force: true do |t|
4
4
  t.string :name
5
5
  t.string :description
6
6
  t.string :model
7
7
  t.string :action
8
8
  t.string :attr
9
- t.boolean :require_ownership, :default => false, :null => false
10
- t.boolean :require_tenant_access, :default => true, :null => false
9
+ t.boolean :require_ownership, default: false, null: false
10
+ t.boolean :require_tenant_access, default: true, null: false
11
11
 
12
12
  t.timestamps
13
13
  end
14
14
 
15
- create_table :strongbolt_roles, :force => true do |t|
15
+ create_table :strongbolt_roles, force: true do |t|
16
16
  t.string :name
17
17
  t.integer :parent_id
18
18
  t.integer :lft
@@ -22,29 +22,29 @@ class CreateStrongboltTables < ActiveRecord::Migration[4.2]
22
22
  t.timestamps
23
23
  end
24
24
 
25
- create_table :strongbolt_user_groups, :force => true do |t|
25
+ create_table :strongbolt_user_groups, force: true do |t|
26
26
  t.string :name
27
27
  t.text :description
28
28
 
29
29
  t.timestamps
30
30
  end
31
31
 
32
- create_table :strongbolt_user_groups_users, :force => true do |t|
32
+ create_table :strongbolt_user_groups_users, force: true do |t|
33
33
  t.integer :user_group_id
34
34
  t.integer :user_id
35
35
  end
36
36
 
37
- create_table :strongbolt_roles_user_groups, :force => true do |t|
37
+ create_table :strongbolt_roles_user_groups, force: true do |t|
38
38
  t.integer :user_group_id
39
39
  t.integer :role_id
40
40
  end
41
41
 
42
- create_table :strongbolt_capabilities_roles, :force => true do |t|
42
+ create_table :strongbolt_capabilities_roles, force: true do |t|
43
43
  t.integer :role_id
44
44
  t.integer :capability_id
45
45
  end
46
46
 
47
- create_table :strongbolt_users_tenants, :force => true do |t|
47
+ create_table :strongbolt_users_tenants, force: true do |t|
48
48
  t.integer :user_id
49
49
  t.integer :tenant_id
50
50
  t.string :type
@@ -67,9 +67,8 @@ class CreateStrongboltTables < ActiveRecord::Migration[4.2]
67
67
  add_index :strongbolt_users_tenants, :user_id
68
68
  add_index :strongbolt_users_tenants, :tenant_id
69
69
  add_index :strongbolt_users_tenants, :type
70
- add_index :strongbolt_users_tenants, [:tenant_id, :type]
70
+ add_index :strongbolt_users_tenants, %i[tenant_id type]
71
71
 
72
- add_index :strongbolt_user_groups_users, [:user_group_id, :user_id], unique: true, name: :index_strongbolt_user_groups_users_unique
72
+ add_index :strongbolt_user_groups_users, %i[user_group_id user_id], unique: true, name: :index_strongbolt_user_groups_users_unique
73
73
  end
74
74
  end
75
-
@@ -42,4 +42,4 @@ Strongbolt.setup do |config|
42
42
  # You can list here all the models of your application that doesn't indirectly belong to a tenant.
43
43
  #
44
44
  config.models = %MODELS%
45
- end
45
+ end
@@ -3,14 +3,14 @@ require 'rails/generators/base'
3
3
  module Strongbolt
4
4
  module Generators
5
5
  class ViewsGenerator < Rails::Generators::Base
6
- desc "Copies Strongbolt views to your application."
6
+ desc 'Copies Strongbolt views to your application.'
7
7
 
8
8
  argument :scope, required: false, default: nil,
9
- desc: "The scope to copy views to"
9
+ desc: 'The scope to copy views to'
10
10
 
11
11
  public_task :copy_views
12
12
 
13
- source_root File.expand_path("../../../../app/views", __FILE__)
13
+ source_root File.expand_path('../../../../app/views', __FILE__)
14
14
 
15
15
  def copy_views
16
16
  directory :strongbolt, target_path
@@ -23,4 +23,4 @@ module Strongbolt
23
23
  end
24
24
  end
25
25
  end
26
- end
26
+ end
@@ -1,33 +1,33 @@
1
- require "active_record"
2
- require "awesome_nested_set"
3
- require "simple_form"
1
+ require 'active_record'
2
+ require 'awesome_nested_set'
3
+ require 'simple_form'
4
4
 
5
- require "grant/grantable"
6
- require "grant/status"
5
+ require 'grant/grantable'
6
+ require 'grant/status'
7
7
  require 'grant/user'
8
8
 
9
- require "strongbolt/version"
10
- require "strongbolt/errors"
11
- require "strongbolt/configuration"
12
- require "strongbolt/tenantable"
13
- require "strongbolt/bolted"
14
- require "strongbolt/bolted_controller"
15
- require "strongbolt/user_abilities"
16
- require "strongbolt/base"
17
- require "strongbolt/capability"
18
- require "strongbolt/user_groups_user"
19
- require "strongbolt/roles_user_group"
20
- require "strongbolt/capabilities_role"
21
- require "strongbolt/role"
22
- require "strongbolt/user_group"
23
- require "strongbolt/users_tenant"
9
+ require 'strongbolt/version'
10
+ require 'strongbolt/errors'
11
+ require 'strongbolt/configuration'
12
+ require 'strongbolt/tenantable'
13
+ require 'strongbolt/bolted'
14
+ require 'strongbolt/bolted_controller'
15
+ require 'strongbolt/user_abilities'
16
+ require 'strongbolt/base'
17
+ require 'strongbolt/capability'
18
+ require 'strongbolt/user_groups_user'
19
+ require 'strongbolt/roles_user_group'
20
+ require 'strongbolt/capabilities_role'
21
+ require 'strongbolt/role'
22
+ require 'strongbolt/user_group'
23
+ require 'strongbolt/users_tenant'
24
24
 
25
25
  #
26
26
  # Raise an error if version of AR not compatible (4.1.0 and 4.1.1)
27
27
  #
28
28
  ar_version = ActiveRecord.version.version
29
- if ar_version >= "4.1.0" && ar_version <= "4.1.1"
30
- raise StandardError, "You cannot use Strongbolt with ActiveRecord versions 4.1.0 and 4.1.1. Please upgrade to >= 4.1.2"
29
+ if ar_version >= '4.1.0' && ar_version <= '4.1.1'
30
+ raise StandardError, 'You cannot use Strongbolt with ActiveRecord versions 4.1.0 and 4.1.1. Please upgrade to >= 4.1.2'
31
31
  end
32
32
 
33
33
  #
@@ -38,7 +38,7 @@ ActiveRecord::Base.send :include, Strongbolt::Bolted
38
38
  #
39
39
  # Default behavior, when method current_user defined on controller
40
40
  #
41
- if defined?(ActionController) and defined?(ActionController::Base)
41
+ if defined?(ActionController) && defined?(ActionController::Base)
42
42
 
43
43
  ActionController::Base.send :include, Strongbolt::BoltedController
44
44
 
@@ -49,7 +49,6 @@ end
49
49
  #
50
50
  require 'strongbolt/engine' if defined?(Rails::Engine)
51
51
 
52
-
53
52
  #
54
53
  # Main module
55
54
  #
@@ -62,20 +61,20 @@ module Strongbolt
62
61
 
63
62
  # Delegates to the configuration the access denied
64
63
  def_delegators Configuration, :access_denied, :logger, :tenants, :user_class, :user_class_constant,
65
- :default_capabilities
64
+ :default_capabilities
66
65
  module_function :access_denied, :logger, :tenants, :user_class, :user_class_constant,
67
- :default_capabilities
66
+ :default_capabilities
68
67
 
69
68
  # Delegates switching thread behavior
70
69
  def_delegators Grant::Status, :switch_to_multithread,
71
- :switch_to_monothread
70
+ :switch_to_monothread
72
71
  module_function :switch_to_multithread, :switch_to_monothread
73
72
 
74
73
  #
75
74
  # Tje parent controller to all strongbolt controllers
76
75
  #
77
76
  mattr_accessor :parent_controller
78
- @@parent_controller = "ApplicationController"
77
+ @@parent_controller = 'ApplicationController'
79
78
 
80
79
  #
81
80
  # Current User
@@ -86,13 +85,11 @@ module Strongbolt
86
85
 
87
86
  # We keep an hash so we don't have each time to test
88
87
  # if the module is included in the list
89
- def self.current_user= user
88
+ def self.current_user=(user)
90
89
  # If user is an instance of something and different from what we have
91
90
  if user.present?
92
91
  # Raise error if wrong user class
93
- unless valid_user? user
94
- raise Strongbolt::WrongUserClass
95
- end
92
+ raise Strongbolt::WrongUserClass unless valid_user? user
96
93
 
97
94
  # If the user class doesn't have included the module yet
98
95
  unless user.class.included_modules.include? Strongbolt::UserAbilities
@@ -107,7 +104,7 @@ module Strongbolt
107
104
  #
108
105
  # Setting up Strongbolt
109
106
  #
110
- def self.setup &block
107
+ def self.setup(&block)
111
108
  # Configuration by user
112
109
  block.call Configuration
113
110
 
@@ -120,36 +117,36 @@ module Strongbolt
120
117
  logger.warn "User class #{Configuration.user_class} wasn't found"
121
118
  end
122
119
  rescue => e
123
- error = <<-CONTENT
124
- [ERROR] Strongbolt could not initialized successfully.
125
- This can happen when running migrations, and in this situation, you can ignore this message.
126
- If it happens in test, make sure you've run `rake db:test:prepare` so that test database is ready.
127
- Otherwise, please review the error below to check what happened:
120
+ error = <<~CONTENT
121
+ [ERROR] Strongbolt could not initialized successfully.
122
+ This can happen when running migrations, and in this situation, you can ignore this message.
123
+ If it happens in test, make sure you've run `rake db:test:prepare` so that test database is ready.
124
+ Otherwise, please review the error below to check what happened:
128
125
 
129
- Error message:
130
- #{e.message}
126
+ Error message:
127
+ #{e.message}
131
128
 
132
- #{e.backtrace.join("\n")}
129
+ #{e.backtrace.join("\n")}
133
130
  CONTENT
134
131
  logger.fatal error
135
132
  # Display in the console when error test env
136
133
  puts error if defined?(Rails) && Rails.env.test?
137
134
  # If not being done in a rake task, this should propagate the error
138
- raise e unless $0 =~ /rake$/ # && ARGV.join(" ").include?("db:")
135
+ raise e unless $PROGRAM_NAME =~ /rake$/ # && ARGV.join(" ").include?("db:")
139
136
  end
140
137
 
141
138
  #
142
139
  # Perform the block without grant
143
140
  #
144
- def self.without_authorization &block
145
- Grant::Status.without_grant &block
141
+ def self.without_authorization(&block)
142
+ Grant::Status.without_grant(&block)
146
143
  end
147
144
 
148
145
  #
149
146
  # Perform the block with grant
150
147
  #
151
- def self.with_authorization &block
152
- Grant::Status.with_grant &block
148
+ def self.with_authorization(&block)
149
+ Grant::Status.with_grant(&block)
153
150
  end
154
151
 
155
152
  #
@@ -166,8 +163,9 @@ Error message:
166
163
  def self.enabled?
167
164
  Grant::Status.grant_enabled?
168
165
  end
166
+
169
167
  def self.disabled?
170
- ! enabled?
168
+ !enabled?
171
169
  end
172
170
 
173
171
  #
@@ -175,7 +173,7 @@ Error message:
175
173
  # It checks whether the class or the base_class (in case of STI) of the instance class
176
174
  # has been configured as the user model
177
175
  #
178
- def self.valid_user? user
176
+ def self.valid_user?(user)
179
177
  user.class.name == Strongbolt::Configuration.user_class ||
180
178
  user.class.base_class.name == Strongbolt::Configuration.user_class
181
179
  end
@@ -193,7 +191,7 @@ Error message:
193
191
  end
194
192
 
195
193
  # Not to use directly, only used in tests
196
- def self.tenants= tenants
194
+ def self.tenants=(tenants)
197
195
  @@tenants = tenants
198
196
  end
199
197
  private_class_method :tenants=
@@ -204,13 +202,11 @@ end
204
202
  # should not have any authorization check perform
205
203
  #
206
204
  class Object
207
- def self.perform_without_authorization *method_names
208
- method_names.each {|name| setup_without_authorization name}
205
+ def self.perform_without_authorization(*method_names)
206
+ method_names.each { |name| setup_without_authorization name }
209
207
  end
210
208
 
211
- private
212
-
213
- def self.setup_without_authorization method_name
209
+ def self.setup_without_authorization(method_name)
214
210
  aliased_name = "_with_autorization_#{method_name}"
215
211
  alias_method aliased_name, method_name
216
212
  define_method method_name do |*args, &block|
@@ -219,4 +215,5 @@ class Object
219
215
  end
220
216
  end
221
217
  end
218
+ private_class_method :setup_without_authorization
222
219
  end