Sha256: 65b9b702ad97f2d4c9448ddbeb4771a804d299e956d7fbd4134c034e87d50f86

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

module DenshobatoChatPanel
  module ChatPanelHelper
    # Default methods only for built-in Chat Panel
    # Overwrite this methods when using Chat Panel

    # class User < ActiveRecord::Base
    #  def full_name
    #    "#{first_name}", #{last_name}
    #  end
    #
    #  def image
    #    user_avatar.url
    #  end
    # end

    DEFAULT_EMAIL = 'john.doe@gmail.com'.freeze

    def full_name
      # Set up default name for chat panel
      # By default class name will be used, e.g => User

      self.class.name.titleize
    end

    def image
      # Show gravatar image

      # Email field is expected by default for gravatar and for messagable model.
      # If a model doesn`t have email field, send to method 'default' email, to show default gravatar
      gravatar_image = Digest::MD5.hexdigest(email.downcase)
      email == DEFAULT_EMAIL ? gravatar(gravatar_image, '?d=mm') : gravatar(gravatar_image)
    end

    def method_missing(method, *_args)
      DEFAULT_EMAIL if method.to_s == 'email'
    end

    private

    def gravatar(email, args = nil)
      "https://secure.gravatar.com/avatar/#{email}/#{args}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
denshobato_chat_panel-0.0.2 lib/denshobato_chat_panel/chat_panel_helper.rb