module Roadie::Rails

Constants

VERSION

Public Instance Methods

[](option) click to toggle source
# File lib/roadie/rails/options.rb, line 98
def [](option)
  if ATTRIBUTE_NAMES.include?(option)
    public_send(option)
  else
    raise ArgumentError, "#{option.inspect} is not a valid option"
  end
end
[]=(option, value) click to toggle source
# File lib/roadie/rails/options.rb, line 106
def []=(option, value)
  if ATTRIBUTE_NAMES.include?(option)
    public_send("#{option}=", value)
  else
    raise ArgumentError, "#{option.inspect} is not a valid option"
  end
end
apply_to(document) click to toggle source
# File lib/roadie/rails/options.rb, line 46
def apply_to(document)
  document.url_options = url_options
  document.before_transformation = before_transformation
  document.after_transformation = after_transformation

  document.asset_providers = asset_providers if asset_providers

  if external_asset_providers
    document.external_asset_providers = external_asset_providers
  end

  unless keep_uninlinable_css.nil?
    document.keep_uninlinable_css = keep_uninlinable_css
  end
end
asset_providers=(providers) click to toggle source
# File lib/roadie/rails/options.rb, line 30
def asset_providers=(providers)
  # TODO: Raise an error when setting to nil in order to make this not a
  # silent error.
  if providers
    @asset_providers = ProviderList.wrap providers
  end
end
combine(options) click to toggle source
# File lib/roadie/rails/options.rb, line 73
def combine(options)
  dup.combine! options
end
combine!(options) click to toggle source
# File lib/roadie/rails/options.rb, line 77
def combine!(options) # rubocop:disable Metrics/MethodLength
  %i[after_transformation before_transformation].each do |name|
    self[name] = Utils.combine_callable(self[name], options[name])
  end

  %i[asset_providers external_asset_providers].each do |name|
    self[name] = Utils.combine_providers(self[name], options[name])
  end

  if options.key?(:keep_uninlinable_css)
    self.keep_uninlinable_css = options[:keep_uninlinable_css]
  end

  self.url_options = Utils.combine_hash(
    url_options,
    options[:url_options],
  )

  self
end
external_asset_providers=(providers) click to toggle source
# File lib/roadie/rails/options.rb, line 38
def external_asset_providers=(providers)
  # TODO: Raise an error when setting to nil in order to make this not a
  # silent error.
  if providers
    @external_asset_providers = ProviderList.wrap providers
  end
end
merge(options) click to toggle source
# File lib/roadie/rails/options.rb, line 62
def merge(options)
  dup.merge! options
end
merge!(options) click to toggle source
# File lib/roadie/rails/options.rb, line 66
def merge!(options)
  ATTRIBUTE_NAMES.each do |attribute|
    self[attribute] = options.fetch(attribute, self[attribute])
  end
  self
end

Private Instance Methods

complain_about_unknown_keys(keys) click to toggle source
# File lib/roadie/rails/options.rb, line 115
def complain_about_unknown_keys(keys)
  invalid_keys = keys - ATTRIBUTE_NAMES
  unless invalid_keys.empty?
    raise(
      ArgumentError,
      "Unknown configuration parameters: #{invalid_keys}",
      caller(1),
    )
  end
end