Class: Roadie::Rails::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/roadie/rails/options.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Options

Returns a new instance of Options.



10
11
12
13
14
15
16
# File 'lib/roadie/rails/options.rb', line 10

def initialize(options = {})
  complain_about_unknown_keys options.keys
  self.url_options           = options[:url_options]
  self.before_transformation = options[:before_transformation]
  self.after_transformation  = options[:after_transformation]
  self.asset_providers       = options[:asset_providers]
end

Instance Method Details

#after_transformation=(callback) ⇒ Object



26
27
28
# File 'lib/roadie/rails/options.rb', line 26

def after_transformation=(callback)
  @after_transformation = callback
end

#apply_to(document) ⇒ Object



36
37
38
39
40
41
# File 'lib/roadie/rails/options.rb', line 36

def apply_to(document)
  document.url_options = url_options
  document.before_transformation = before_transformation
  document.after_transformation = after_transformation
  document.asset_providers = asset_providers
end

#asset_providers=(providers) ⇒ Object



30
31
32
33
34
# File 'lib/roadie/rails/options.rb', line 30

def asset_providers=(providers)
  if providers
    @asset_providers = ProviderList.wrap providers
  end
end

#before_transformation=(callback) ⇒ Object



22
23
24
# File 'lib/roadie/rails/options.rb', line 22

def before_transformation=(callback)
  @before_transformation = callback
end

#combine(options) ⇒ Object



54
55
56
# File 'lib/roadie/rails/options.rb', line 54

def combine(options)
  dup.combine! options
end

#combine!(options) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/roadie/rails/options.rb', line 58

def combine!(options)
  self.url_options = combine_hash url_options, options[:url_options]
  self.before_transformation = combine_callable before_transformation, options[:before_transformation]
  self.after_transformation = combine_callable after_transformation, options[:after_transformation]
  self.asset_providers = combine_providers asset_providers, options[:asset_providers]
  self
end

#merge(options) ⇒ Object



43
44
45
# File 'lib/roadie/rails/options.rb', line 43

def merge(options)
  dup.merge! options
end

#merge!(options) ⇒ Object



47
48
49
50
51
52
# File 'lib/roadie/rails/options.rb', line 47

def merge!(options)
  [:url_options, :before_transformation, :after_transformation, :asset_providers].each do |attribute|
    send "#{attribute}=", options.fetch(attribute, send(attribute))
  end
  self
end

#url_options=(options) ⇒ Object



18
19
20
# File 'lib/roadie/rails/options.rb', line 18

def url_options=(options)
  @url_options = options
end