module ExpressAdmin class OauthSignInLinks < ExpressTemplates::Components::Configurable has_argument :providers, "OAuth providers to generate links for", as: :providers, type: :array contains -> { span(class: 'text-gray') { "Login with:" } providers.each do |provider| sign_in_link(provider) end } def sign_in_link(provider) link_to "#{provider_name(provider)}", user_omniauth_authorize_path(provider), class: 'hollow button button-login' end private def provider_name(provider) provider.to_s.humanize end def providers config[:providers] end end end