diff options
| -rw-r--r-- | activesupport/lib/active_support/core_ext/module/delegation.rb | 7 | 
1 files changed, 2 insertions, 5 deletions
| diff --git a/activesupport/lib/active_support/core_ext/module/delegation.rb b/activesupport/lib/active_support/core_ext/module/delegation.rb index 0d46248582..24450cd221 100644 --- a/activesupport/lib/active_support/core_ext/module/delegation.rb +++ b/activesupport/lib/active_support/core_ext/module/delegation.rb @@ -149,14 +149,11 @@ class Module    #    # The target method must be public, otherwise it will raise +NoMethodError+.    # -  def delegate(*methods) -    options = methods.pop -    unless options.is_a?(Hash) && to = options[:to] +  def delegate(*methods, to: nil, prefix: nil, allow_nil: nil) +    unless to        raise ArgumentError, 'Delegation needs a target. Supply an options hash with a :to key as the last argument (e.g. delegate :hello, to: :greeter).'      end -    prefix, allow_nil = options.values_at(:prefix, :allow_nil) -      if prefix == true && to =~ /^[^a-z_]/        raise ArgumentError, 'Can only automatically set the delegation prefix when delegating to a method.'      end | 
