Module: Wallaby::SecureHelper

Defined in:
lib/helpers/wallaby/secure_helper.rb

Overview

Secure helper

Instance Method Summary collapse

Instance Method Details

#logout_methodString, Symbol

Logout method

Returns:

  • (String, Symbol)


36
37
38
39
40
# File 'lib/helpers/wallaby/secure_helper.rb', line 36

def logout_method
  # TODO: use authenticater
  method = Array(Devise.sign_out_via).first if defined? Devise
  method || :delete
end

#logout_path(user = current_user, app = main_app) ⇒ String

Logout path for given user

Parameters:

  • user (Object) (defaults to: current_user)
  • app (Object) (defaults to: main_app)

Returns:

  • (String)

    HTML anchor element



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/helpers/wallaby/secure_helper.rb', line 22

def logout_path(user = current_user, app = main_app)
  # TODO: use authenticater
  path =
    if defined? ::Devise
      scope = ::Devise::Mapping.find_scope! user
      "destroy_#{scope}_session_path"
    else
      'logout_path'
    end
  app.public_send path if app.respond_to? path
end

#user_portrait(user = current_user) ⇒ String

Image portrait for given user

Parameters:

  • user (Object) (defaults to: current_user)

Returns:

  • (String)

    IMG or I element



7
8
9
10
11
12
13
14
15
16
# File 'lib/helpers/wallaby/secure_helper.rb', line 7

def user_portrait(user = current_user)
  if user.respond_to? :email
    https = "http#{request.ssl? ? 's' : EMPTY_STRING}"
    email_md5 = Digest::MD5.hexdigest user.email.downcase
    image_source = "#{https}://www.gravatar.com/avatar/#{email_md5}"
    image_tag image_source, class: 'hidden-xs user-portrait'
  else
     :i, nil, class: 'fa fa-user user-portrait'
  end
end