class Auth::AuthProvider
  include ActiveModel::Serialization

  def initialize(params = {})
    params.each { |key, value| send "#{key}=", value }
  end

  def self.auth_attributes
    [:pretty_name, :title, :message, :frame_width, :frame_height, :authenticator,
     :pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :full_screen_login_setting,
     :custom_url]
  end

  attr_accessor(*auth_attributes)

  def name
    authenticator.name
  end

  def can_connect
    authenticator.can_connect_existing_user?
  end

  def can_revoke
    authenticator.can_revoke?
  end

end