Method: Module#define_and_alias

Defined in:
lib/freighthopper/define_and_alias.rb

#define_and_alias(target, feature, &blk) ⇒ Object



4
5
6
7
8
# File 'lib/freighthopper/define_and_alias.rb', line 4

def define_and_alias(target, feature, &blk)
  aliased_target, punctuation = target.to_s.sub(/([?!=])$/, ''), $1
  define_method :"#{aliased_target}_with_#{feature}#{punctuation}", &blk
  alias_method_chain target, feature
end