eac_users_support 0.11.0 → 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: 3035aae94135c2c69e856603ab0b21c221d677fb687246cabe5eb714c907b450
4
- data.tar.gz: 75629c04316f16b0356ab0a338d83003335cd533886d3c258638e47ddbe5982d
3
+ metadata.gz: '01836f2b85b02d79795bcfcee579d5df0a0de9aac958f4a4a316d273dedabae8'
4
+ data.tar.gz: 4388ffd42d6253c15eaa9733c8d1fb7860f987e54019aae0a64679e068c1c326
5
5
  SHA512:
6
- metadata.gz: ba4af58feb6028e21bb31bbbf60ca73a2c55b66889039519eecdfb4123cdc19570737626519ec1fb6da51751f8c8097f1a20bf9cd9d403e2b70cb2f5e9b3b8c1
7
- data.tar.gz: 2f0cb961b30020ec89dcf362bae4b872f5e443b9aeefaf78aae02fe79921b3a6553640a12a9fbfe9a6ea334cbc61b7206119365e2aa1f4c42cce31c2fd40b08a
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_rails_utils/patches/application'
4
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 })
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
8
  end
@@ -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.11.0'
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.11.0
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: 2023-09-18 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
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.9'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.9.2
22
+ version: 4.9.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.9'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.9.2
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.8
42
+ version: 2.0.9
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '2.0'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 2.0.8
52
+ version: 2.0.9
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: eac_active_scaffold
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: '0.5'
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 0.5.1
62
+ version: 0.5.2
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: '0.5'
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 0.5.1
72
+ version: 0.5.2
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: eac_rails_utils
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -77,6 +77,9 @@ dependencies:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0.22'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.22.2
80
83
  type: :runtime
81
84
  prerelease: false
82
85
  version_requirements: !ruby/object:Gem::Requirement
@@ -84,26 +87,23 @@ dependencies:
84
87
  - - "~>"
85
88
  - !ruby/object:Gem::Version
86
89
  version: '0.22'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.22.2
87
93
  - !ruby/object:Gem::Dependency
88
94
  name: eac_ruby_utils
89
95
  requirement: !ruby/object:Gem::Requirement
90
96
  requirements:
91
97
  - - "~>"
92
98
  - !ruby/object:Gem::Version
93
- version: '0.119'
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 0.119.2
99
+ version: '0.120'
97
100
  type: :runtime
98
101
  prerelease: false
99
102
  version_requirements: !ruby/object:Gem::Requirement
100
103
  requirements:
101
104
  - - "~>"
102
105
  - !ruby/object:Gem::Version
103
- version: '0.119'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.119.2
106
+ version: '0.120'
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: rails
109
109
  requirement: !ruby/object:Gem::Requirement
@@ -144,20 +144,20 @@ dependencies:
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '0.4'
147
+ version: '0.9'
148
148
  - - ">="
149
149
  - !ruby/object:Gem::Version
150
- version: 0.4.1
150
+ version: 0.9.2
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - "~>"
156
156
  - !ruby/object:Gem::Version
157
- version: '0.4'
157
+ version: '0.9'
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
- version: 0.4.1
160
+ version: 0.9.2
161
161
  description:
162
162
  email:
163
163
  executables: []
@@ -213,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: '0'
216
+ version: '2.7'
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - ">="