Sha256: f58e35e362f3e883c062753611783c52b3df1dcc1312c2dde247550f33cb7ee0

Contents?: true

Size: 563 Bytes

Versions: 1

Compression:

Stored size: 563 Bytes

Contents

module InfinumId
  module Users
    class Updater
      def initialize(params, user)
        @user_params = params.slice(*user_column_names).deep_symbolize_keys
        @user = user
      end

      def self.call(params, user)
        new(params, user).call
      end

      def call
        update_user
        InfinumId::AfterUserUpdate.call(user)
      end

      private

      attr_reader :user_params, :user

      def update_user
        user.update(user_params)
      end

      def user_column_names
        User.column_names
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
infinum_id-1.0.0 app/services/infinum_id/users/updater.rb