Module: ImageOptim::OptionHelpers

Included in:
ImageOptim, Worker
Defined in:
lib/image_optim/option_helpers.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.limit_with_range(number, range) ⇒ Object

Ensure number is in range



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/image_optim/option_helpers.rb', line 18

def self.limit_with_range(number, range)
  if range.include?(number)
    number
  elsif number < range.first
    range.first
  elsif range.exclude_end?
    range.last - 1
  else
    range.last
  end
end

Instance Method Details

#assert_options_empty!(options) ⇒ Object

Raise unless all options are deleted



31
32
33
34
35
# File 'lib/image_optim/option_helpers.rb', line 31

def assert_options_empty!(options)
  unless options.empty?
    raise ConfigurationError, "unknown options #{options.inspect} for #{self}"
  end
end

#get_option!(options, name, default) ⇒ Object

Remove option from hash and run through block or return default



6
7
8
9
10
11
12
13
14
15
# File 'lib/image_optim/option_helpers.rb', line 6

def get_option!(options, name, default)
  value = default
  if options.has_key?(name)
    value = options.delete(name)
  end
  if block_given?
    value = yield(value)
  end
  instance_variable_set("@#{name}", value)
end