Module: Scene7::Crop

Defined in:
lib/scene7/crop.rb

Class Method Summary collapse

Class Method Details

.convert_from_scale_first_and_format(params, additional_params = {}) ⇒ Object



5
6
7
# File 'lib/scene7/crop.rb', line 5

def self.convert_from_scale_first_and_format(params, additional_params = {})
  format_url_params convert_params_from_scale_first(params, additional_params)
end

.convert_params_from_scale_first(orig_params, additional_params = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/scene7/crop.rb', line 13

def self.convert_params_from_scale_first(orig_params, additional_params = {})
  {}.tap do |params|
    scale_factor = orig_params[:scale_factor].to_f
    params[:scale_factor] = 1.0 / scale_factor
    params[:height] = orig_params[:height].to_f / scale_factor
    params[:width] = orig_params[:width].to_f / scale_factor
    params[:x] = orig_params[:x].to_f / scale_factor
    params[:y] = orig_params[:y].to_f / scale_factor
    params[:quality] = orig_params[:quality] if orig_params[:quality]
  end.merge!(additional_params)
end

.format_url_params(params) ⇒ Object



9
10
11
# File 'lib/scene7/crop.rb', line 9

def self.format_url_params(params)
  "scl=#{params[:scale_factor]}&crop=#{params[:x].round},#{params[:y].round},#{params[:width].round},#{params[:height].round}&qlt=#{params[:quality] || 95}"
end