Sha256: 50f58465bde5aa2cb83d773338479f571b87321e4c30dfe510e7f4f185471ff5
Contents?: true
Size: 856 Bytes
Versions: 2
Compression:
Stored size: 856 Bytes
Contents
module PasswordChanger module Actions class ChangePassword private attr_reader :changer, :printers public def initialize(printers, changer) @changer = changer @printers = printers end def run(*data) users = data.flatten.map do |d| raise ArgumentError, 'Attribute "user_name" or "old_password" is missing!' if d[:name].blank? || d[:old_password].blank? new_password = PasswordChanger::PasswordGenerator.new.generate(old_password: d[:old_password]) d[:new_password] = new_password if d[:new_password].blank? User.new(**d) end users.each do |u| PasswordChanger.logger.info "Changing user \"#{u.name}\"." changer.change(u) end printers.each { |p| p.output users } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
password_changer-0.0.4 | lib/password_changer/actions/change_password.rb |
password_changer-0.0.3 | lib/password_changer/actions/change_password.rb |