Method: Warg::Command::Name#initialize
- Defined in:
- lib/warg.rb
#initialize(class_name: nil, script_name: nil) ⇒ Name
Returns a new instance of Name.
1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 |
# File 'lib/warg.rb', line 1690 def initialize(class_name: nil, script_name: nil) if class_name.nil? && script_name.nil? raise ArgumentError, "`script_name' or `class_name' must be specified" end if class_name @object = class_name @script = class_name.gsub("::", "/") @script.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1-\2') @script.gsub!(/([a-z\d])([A-Z])/, '\1-\2') @script.downcase! elsif script_name @script = script_name @object = script_name.gsub(/[a-z\d]*/) { |match| match.capitalize } @object.gsub!(/(?:_|-|(\/))([a-z\d]*)/i) { "#{$1}#{$2.capitalize}" } @object.gsub!("/", "::") end @cli = @script.tr("/", ":") end |