eac_users_support 0.10.1 → 0.11.1

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
  SHA256:
3
- metadata.gz: d3ed3defb3b9314942f5a971d0aa2ae5682084431f23d18f205d979bb3e7519f
4
- data.tar.gz: 46800014e7ef30eb229ebd1082bad065d71eee8c7d37464c554405b3e7391214
3
+ metadata.gz: '01836f2b85b02d79795bcfcee579d5df0a0de9aac958f4a4a316d273dedabae8'
4
+ data.tar.gz: 4388ffd42d6253c15eaa9733c8d1fb7860f987e54019aae0a64679e068c1c326
5
5
  SHA512:
6
- metadata.gz: 1577f552d81e7450c5f729968f2c7a9d86474704cb8128502d59f1d6da3e74c4dcb9ea3799f432d17667c83d4c8263f706e5e0e17aca19a3b16251d30a838d90
7
- data.tar.gz: df3cae8ad609b9d573510c7a9fe960ff570c3d35a74109579719b41c73479f387d31df2b6a30d1d84742c31332edf932b08aa6b227fec184f9f93fddad324c3a
6
+ metadata.gz: 103bbb79f08060cce8e2cadc58f0d4d2963d81d1d77897446827740ed3b082d002731d28bc4dca72bce461313e09ff997b3efc4019e91b26f7c66409a2c1705c
7
+ data.tar.gz: 5e31abb9ad4fac9d7bab365ebe39908285771d621ac9be2915e5c73d5a131e650b8f608f02e631d4eb5245054ffce880fc7d04b37f2e8fc593a62b7b05ff17cb
@@ -28,7 +28,7 @@ module EacUsersSupport
28
28
  flash[:info] = ::I18n.t(:'eac_users_support.password_reset.successful',
29
29
  user: record, password: record.password)
30
30
  else
31
- flash[:error] = ::I18n.t(:'eac_users_support.password_reset.failed', user: user) +
31
+ flash[:error] = ::I18n.t(:'eac_users_support.password_reset.failed', user: user) + # rubocop:disable Style/StringConcatenation
32
32
  ': ' + record.errors.to_s
33
33
  end
34
34
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_rails_utils/patches/application'
4
+
5
+ Rails.application.root_menu.group(:admin).group(:eac_users_support, :eac_users_support)
6
+ .within do |g|
7
+ g.action(:admin_users).label(-> { EacUsersSupport::User.plural_name })
8
+ end
@@ -13,6 +13,12 @@ en:
13
13
  eac_users_support/user:
14
14
  one: User
15
15
  other: Users
16
+ eac_rails_utils:
17
+ menus:
18
+ root:
19
+ admin:
20
+ eac_users_support:
21
+ __self: Users
16
22
  eac_users_support:
17
23
  password_reset:
18
24
  action: Reset password
@@ -13,6 +13,12 @@ pt-BR:
13
13
  eac_users_support/user:
14
14
  one: Usuário
15
15
  other: Usuários
16
+ eac_rails_utils:
17
+ menus:
18
+ root:
19
+ admin:
20
+ eac_users_support:
21
+ __self: Usuários
16
22
  eac_users_support:
17
23
  password_reset:
18
24
  action: Resetar senha
@@ -3,7 +3,7 @@
3
3
  class AddDeviseInvitableToEacUsersSupportUsers < (
4
4
  Rails.version < '5' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
5
5
  )
6
- def up
6
+ def up # rubocop:disable Metrics/MethodLength
7
7
  change_table :eac_users_support_users do |t|
8
8
  t.string :invitation_token
9
9
  t.datetime :invitation_created_at
@@ -1,41 +1,58 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/simple_cache'
3
+ require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module EacUsersSupport
6
6
  module Tasks
7
7
  class PasswordReset
8
- include ::EacRubyUtils::SimpleCache
9
-
10
- def initialize(email, administrator)
11
- @email = email
12
- @administrator = administrator
13
- end
8
+ enable_simple_cache
9
+ common_constructor :email, :administrator
14
10
 
15
11
  def run
16
- if found_user
17
- Rails.logger.info "Usuário encontrado com o email \"#{@email}\""
18
- found_user.update!(attributes_to_update)
19
- else
20
- Rails.logger.info "Usuário não encontrado com o email \"#{@email}\". Criando..."
21
- User.create!({ email: @email }.merge(attributes_to_update))
22
- end
23
- Rails.logger.info "Senha resetada para #{@email}"
12
+ found_user ? run_on_user_found : run_on_user_not_found
13
+ Rails.logger.info "Senha resetada para #{email}"
24
14
  end
25
15
 
26
16
  private
27
17
 
18
+ # @return [Hash]
19
+ def administrator_attributes_to_update
20
+ administrator ? { administrator: true } : {}
21
+ end
22
+
23
+ # @return [Hash]
28
24
  def attributes_to_update
29
- r = { password: @email, password_confirmation: @email }
30
- if found_user.present? && found_user.confirmed_at.blank?
31
- r.merge(confirmed_at: ::DateTime.now)
25
+ %w[common confirmation administrator].inject({}) do |a, e|
26
+ a.merge(send("#{e}_attributes_to_update"))
32
27
  end
33
- r[:administrator] = true if @administrator
34
- r
28
+ end
29
+
30
+ # @return [Hash]
31
+ def common_attributes_to_update
32
+ { password: email, password_confirmation: email }
33
+ end
34
+
35
+ # @return [Hash]
36
+ def confirmation_attributes_to_update
37
+ return {} unless found_user.blank? || found_user.confirmed_at.blank?
38
+
39
+ { confirmed_at: ::DateTime.now }
35
40
  end
36
41
 
37
42
  def found_user_uncached
38
- ::EacUsersSupport::User.find_by(email: @email)
43
+ ::EacUsersSupport::User.find_by(email: email)
44
+ end
45
+
46
+ # @return [void]
47
+ def run_on_user_found
48
+ Rails.logger.info "Usuário encontrado com o email \"#{email}\""
49
+ found_user.update!(attributes_to_update)
50
+ end
51
+
52
+ # @return [void]
53
+ def run_on_user_not_found
54
+ Rails.logger.info "Usuário não encontrado com o email \"#{email}\". Criando..."
55
+ User.create!({ email: email }.merge(attributes_to_update))
39
56
  end
40
57
  end
41
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacUsersSupport
4
- VERSION = '0.10.1'
4
+ VERSION = '0.11.1'
5
5
  end
@@ -14,6 +14,6 @@ namespace :eac_users_support do
14
14
  bin/rake eac_users_support:password_reset[fulano@example.com,1]
15
15
  DESCRIPTION
16
16
  task :password_reset, %i[email administrator] => :environment do |_t, args|
17
- ::EacUsersSupport::Tasks::PasswordReset.new(args.email, args.administrator.present?).run
17
+ EacUsersSupport::Tasks::PasswordReset.new(args.email, args.administrator.present?).run
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_users_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2024-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.6'
19
+ version: '4.9'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.6.1
22
+ version: 4.9.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.6'
29
+ version: '4.9'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.6.1
32
+ version: 4.9.3
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: devise_invitable
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '2.0'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 2.0.5
42
+ version: 2.0.9
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,35 +49,61 @@ dependencies:
49
49
  version: '2.0'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 2.0.5
52
+ version: 2.0.9
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: eac_active_scaffold
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '0.1'
59
+ version: '0.5'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.5.2
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.5'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.5.2
73
+ - !ruby/object:Gem::Dependency
74
+ name: eac_rails_utils
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.22'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.22.2
60
83
  type: :runtime
61
84
  prerelease: false
62
85
  version_requirements: !ruby/object:Gem::Requirement
63
86
  requirements:
64
87
  - - "~>"
65
88
  - !ruby/object:Gem::Version
66
- version: '0.1'
89
+ version: '0.22'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.22.2
67
93
  - !ruby/object:Gem::Dependency
68
94
  name: eac_ruby_utils
69
95
  requirement: !ruby/object:Gem::Requirement
70
96
  requirements:
71
97
  - - "~>"
72
98
  - !ruby/object:Gem::Version
73
- version: '0.74'
99
+ version: '0.120'
74
100
  type: :runtime
75
101
  prerelease: false
76
102
  version_requirements: !ruby/object:Gem::Requirement
77
103
  requirements:
78
104
  - - "~>"
79
105
  - !ruby/object:Gem::Version
80
- version: '0.74'
106
+ version: '0.120'
81
107
  - !ruby/object:Gem::Dependency
82
108
  name: rails
83
109
  requirement: !ruby/object:Gem::Requirement
@@ -99,6 +125,9 @@ dependencies:
99
125
  - - "~>"
100
126
  - !ruby/object:Gem::Version
101
127
  version: '3.10'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 3.10.4
102
131
  type: :runtime
103
132
  prerelease: false
104
133
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,26 +135,29 @@ dependencies:
106
135
  - - "~>"
107
136
  - !ruby/object:Gem::Version
108
137
  version: '3.10'
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 3.10.4
109
141
  - !ruby/object:Gem::Dependency
110
142
  name: eac_rails_gem_support
111
143
  requirement: !ruby/object:Gem::Requirement
112
144
  requirements:
113
145
  - - "~>"
114
146
  - !ruby/object:Gem::Version
115
- version: '0.4'
147
+ version: '0.9'
116
148
  - - ">="
117
149
  - !ruby/object:Gem::Version
118
- version: 0.4.1
150
+ version: 0.9.2
119
151
  type: :development
120
152
  prerelease: false
121
153
  version_requirements: !ruby/object:Gem::Requirement
122
154
  requirements:
123
155
  - - "~>"
124
156
  - !ruby/object:Gem::Version
125
- version: '0.4'
157
+ version: '0.9'
126
158
  - - ">="
127
159
  - !ruby/object:Gem::Version
128
- version: 0.4.1
160
+ version: 0.9.2
129
161
  description:
130
162
  email:
131
163
  executables: []
@@ -145,6 +177,7 @@ files:
145
177
  - app/views/devise/sessions/new.html.erb
146
178
  - app/views/eac_users_support/users/edit.html.erb
147
179
  - config/initializers/devise.rb
180
+ - config/initializers/menus.rb
148
181
  - config/locales/devise.en.yml
149
182
  - config/locales/devise.pt-BR.yml
150
183
  - config/locales/devise_invitable.en.yml
@@ -180,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
213
  requirements:
181
214
  - - ">="
182
215
  - !ruby/object:Gem::Version
183
- version: '0'
216
+ version: '2.7'
184
217
  required_rubygems_version: !ruby/object:Gem::Requirement
185
218
  requirements:
186
219
  - - ">="