eac_users_support 0.11.0 → 0.11.1

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.
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
  - - ">="