Sha256: f9551deaac7beaeba841b2bb8e6564ff75e913a05696d5d0be00a188f93516df

Contents?: true

Size: 581 Bytes

Versions: 36

Compression:

Stored size: 581 Bytes

Contents

require 'explicit_delegator'

class ProfilePresenter < ExplicitDelegator
  DEFAULT_IMAGE        = 'woople-theme/missing-profile.png'
  MISSING_WOOPLE_IMAGE = '/assets/retina_thumb/missing.png'

  enforce_definitions :image, :sections

  def image
    normalized(profile.image)
  end

  def sections
    @sections ||= ThemePresentation.wrap_collection(profile.sections, ProfileSectionPresenter)
  end

  private

  def profile
    @delegate
  end

  def normalized(image)
    if image.nil? || image == MISSING_WOOPLE_IMAGE
      DEFAULT_IMAGE
    else
      image
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
woople-theme-0.10.0 app/presenters/profile_presenter.rb
woople-theme-0.9.0 app/presenters/profile_presenter.rb
woople-theme-0.8.19 app/presenters/profile_presenter.rb
woople-theme-0.8.18 app/presenters/profile_presenter.rb
woople-theme-0.8.17 app/presenters/profile_presenter.rb
woople-theme-0.8.16 app/presenters/profile_presenter.rb
woople-theme-0.8.15 app/presenters/profile_presenter.rb
woople-theme-0.8.14 app/presenters/profile_presenter.rb
woople-theme-0.8.13 app/presenters/profile_presenter.rb
woople-theme-0.8.12 app/presenters/profile_presenter.rb
woople-theme-0.8.11 app/presenters/profile_presenter.rb
woople-theme-0.8.10 app/presenters/profile_presenter.rb
woople-theme-0.8.9 app/presenters/profile_presenter.rb
woople-theme-0.8.8 app/presenters/profile_presenter.rb
woople-theme-0.8.7 app/presenters/profile_presenter.rb
woople-theme-0.8.6 app/presenters/profile_presenter.rb
woople-theme-0.8.5 app/presenters/profile_presenter.rb
woople-theme-0.8.4 app/presenters/profile_presenter.rb
woople-theme-0.8.3 app/presenters/profile_presenter.rb
woople-theme-0.8.2 app/presenters/profile_presenter.rb