Class: Essay::ModelFeatures

Inherits:
Object
  • Object
show all
Defined in:
lib/essay-carrierwave/model.rb

Defined Under Namespace

Classes: CarrierWave

Instance Method Summary collapse

Instance Method Details

#carrierwaveObject



36
37
38
39
40
# File 'lib/essay-carrierwave/model.rb', line 36

def carrierwave
  @carrierwave || begin
    @carrierwave = CarrierWave.new(env) if has_carrierwave_uploaders?
  end
end

#has_carrierwave_uploaders?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/essay-carrierwave/model.rb', line 9

def has_carrierwave_uploaders?
  has_own_carrierwave_uploaders? || has_translated_carrierwave_uploaders?
end

#has_own_carrierwave_uploaders?Boolean

class Article

mount_uploader :poster, PosterUploader

end

Article.features.has_own_carrierwave_uploaders? => true Article.features.has_translated_carrierwave_uploaders? => false

Returns:

  • (Boolean)


20
21
22
# File 'lib/essay-carrierwave/model.rb', line 20

def has_own_carrierwave_uploaders?
  model_class.try(:uploaders).present?
end

#has_translated_carrierwave_uploaders?Boolean

class Article

translates :poster
Translation.mount_uploader :poster, PosterUploader

end

Article.features.has_own_carrierwave_uploaders? => false Article.features.has_translated_carrierwave_uploaders? => true

Returns:

  • (Boolean)


32
33
34
# File 'lib/essay-carrierwave/model.rb', line 32

def has_translated_carrierwave_uploaders?
  !!with(:globalize) { |g| g.model_class_for_translations.features.has_carrierwave_uploaders? }
end

#has_uploaders?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/essay-carrierwave/model.rb', line 5

def has_uploaders?
  has_carrierwave_uploaders?
end