module CarrierWave::Qiniu::Style::ClassMethods

Public Instance Methods

get_qiniu_styles() click to toggle source
# File lib/carrierwave/qiniu/style.rb, line 42
def get_qiniu_styles
  @_qiniu_styles
end
use_qiniu_styles(versions = nil) click to toggle source

Examples:

CarrierWave.configure do |config|
  config.qiniu_styles = [:thumbnail, :large]
  # or
  config.qiniu_styles = {:thumbnail => 'imageView/0/w/200', :large => 'imageView/0/w/800'}
end

# Eanble qiniu styles otherwise default version processing
# And use default styles
use_qiniu_styles

# Override default styles and use your own styles
use_qniu_styles :thumbnail => 'imageView/0/w/400', :xlarge => 'imageView/0/w/1600'
# File lib/carrierwave/qiniu/style.rb, line 24
def use_qiniu_styles(versions = nil)

  # Override #url method when set styles, otherwise still default strategy.
  unless include? ::CarrierWave::Qiniu::Url
    send(:include, ::CarrierWave::Qiniu::Url)
  end

  @_qiniu_styles = {}
  if self.qiniu_styles
    # Set default styles
    @_qiniu_styles = parse_qiniu_styles(self.qiniu_styles)
  elsif versions
    # Set custom styles
    self.qiniu_styles = versions
    @_qiniu_styles = parse_qiniu_styles(versions)
  end
end

Private Instance Methods

parse_qiniu_styles(styles) click to toggle source
# File lib/carrierwave/qiniu/style.rb, line 47
def parse_qiniu_styles(styles)
  if styles.is_a? Array
    styles.map { |version| [version.to_sym, nil] }.to_h
  elsif styles.is_a? Hash
    styles.symbolize_keys
  end
end