Class: Imagga::ExtractOptions
Instance Attribute Summary
Attributes inherited from BaseOptions
#api_key, #api_secret
Instance Method Summary
collapse
Methods inherited from BaseOptions
#base_options, #initialize, #sign
Instance Method Details
#build_ids(urls_or_images) ⇒ Object
48
49
50
51
52
|
# File 'lib/imagga/extract_options.rb', line 48
def build_ids(urls_or_images)
ids = [urls_or_images].flatten.map{ |o| o.id rescue 0 }
return if ids.uniq == [0]
ids.join(',')
end
|
#build_urls(urls_or_images) ⇒ Object
44
45
46
|
# File 'lib/imagga/extract_options.rb', line 44
def build_urls(urls_or_images)
[urls_or_images].flatten.map{ |o| o.url rescue o }.join(',')
end
|
#options(urls_or_images, additional_options = {}) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/imagga/extract_options.rb', line 25
def options(urls_or_images, additional_options={})
options = base_options.merge(
method: 'imagga.colorsearch.extract',
urls: build_urls(urls_or_images),
)
if ids = build_ids(urls_or_images)
options.merge!(ids: ids)
end
[:extract_overall_colors, :extract_object_colors].each do |key|
if additional_options.keys.include?(key) && (value = additional_options[key] ? 1 : 0)
options.merge!(key => value)
end
end
options.merge!(sig: sign(options))
end
|