Module: ResourceDefaults

Defined in:
lib/resource_defaults.rb

Defined Under Namespace

Classes: Railtie

Instance Method Summary collapse

Instance Method Details

#initialize(*args) ⇒ Object



8
9
10
11
12
# File 'lib/resource_defaults.rb', line 8

def initialize(*args)
  super
  @scope[:resource_defaults] = {}
  @scope[:resource_defaults_in_progress] = []
end

#resource_defaults(*args, &block) ⇒ Object

Raises:

  • (ArgumentError)


14
15
16
17
18
19
# File 'lib/resource_defaults.rb', line 14

def resource_defaults(*args, &block)
  options = args.extract_options!
  target = args.first
  raise ArgumentError, 'must provide a resource to apply default actions' if target.blank?
  @scope[:resource_defaults][target] = options.merge(:block => block)
end

#scope(*args) ⇒ Object



21
22
23
24
25
26
# File 'lib/resource_defaults.rb', line 21

def scope(*args)
  old_resource_defaults = @scope[:resource_defaults].dup
  super
ensure
  @scope[:resource_defaults] = old_resource_defaults
end