Sha256: 03fbe19562d01526463e3c5f9b6e208bb693d6179e0c22668074b87292fc1678

Contents?: true

Size: 1.04 KB

Versions: 18

Compression:

Stored size: 1.04 KB

Contents

require 'digest'
require 'erb'

module Avo
  module Fields
    class GravatarField < Field
      def initialize(name, **args, &block)
        @defaults = {
          component: 'gravatar-field',
          name: 'Avatar',
          id: args[:id].present? ? args[:id] : 'email',
        }

        super(name, **args, &block)

        hide_on [:edit, :create]

        @rounded = args[:rounded].present? ? args[:rounded] : true
        @size = args[:size].present? ? args[:size].to_i : 40
        @default = args[:default].present? ? ERB::Util.url_encode(args[:default]).to_s : ''
        @link_to_resource = args[:link_to_resource].present? ? args[:link_to_resource] : false
      end

      def hydrate_field(fields, model, resource, view)
        value = nil

        if model[id].present?
          value = Digest::MD5.hexdigest(model[id].strip.downcase)
        end

        {
          value: value,
          rounded: @rounded,
          default: @default,
          size: @size,
          link_to_resource: @link_to_resource,
        }
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
avo-0.4.10 lib/avo/app/fields/gravatar_field.rb
avo-0.4.9 lib/avo/app/fields/gravatar_field.rb
avo-0.4.8 lib/avo/app/fields/gravatar_field.rb
avo-0.4.7 lib/avo/app/fields/gravatar_field.rb
avo-0.4.6 lib/avo/app/fields/gravatar_field.rb
avo-0.4.5 lib/avo/app/fields/gravatar_field.rb
avo-0.4.4 lib/avo/app/fields/gravatar_field.rb
avo-0.4.3 lib/avo/app/fields/gravatar_field.rb
avo-0.4.2 lib/avo/app/fields/gravatar_field.rb
avo-0.4.1 lib/avo/app/fields/gravatar_field.rb
avo-0.3.2 lib/avo/app/fields/gravatar_field.rb
avo-0.3.1 lib/avo/app/fields/gravatar_field.rb
avo-0.2.5 lib/avo/app/fields/gravatar_field.rb
avo-0.2.4 lib/avo/app/fields/gravatar_field.rb
avo-0.2.3 lib/avo/app/fields/gravatar_field.rb
avo-0.2.2 lib/avo/app/fields/gravatar_field.rb
avo-0.2.1 lib/avo/app/fields/gravatar_field.rb
avo-0.2.0 lib/avo/app/fields/gravatar_field.rb