Method: Module#alias_for

Defined in:
lib/sugar-high/alias.rb

#alias_for(original, *aliases) ⇒ Object Also known as: aliases_for



70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/sugar-high/alias.rb', line 70

def alias_for(original, *aliases)
  pluralize = last_option(aliases)[:pluralize]
  singularize = last_option(aliases)[:singularize]

  class_eval "alias_method :#{original.to_s.singularize}, :#{original}" if singularize
  class_eval "alias_method :#{original.to_s.pluralize}, :#{original}" if pluralize

  aliases.flatten.select_labels.each do |alias_meth|
    class_eval "alias_method :#{alias_meth}, :#{original}"
    class_eval "alias_method :#{alias_meth.to_s.pluralize}, :#{original}" if pluralize
    class_eval "alias_method :#{alias_meth.to_s.singularize}, :#{original}" if singularize
  end
end