class Warg::Command::Name

Attributes

cli[R]
object[R]
script[R]

Public Class Methods

from_relative_script_path(path) click to toggle source
# File lib/warg.rb, line 1811
def self.from_relative_script_path(path)
  script_name = path.to_s.chomp File.extname(path)

  new(script_name: script_name.tr("_", "-"))
end
new(class_name: nil, script_name: nil) click to toggle source
# File lib/warg.rb, line 1821
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

Public Instance Methods

console() click to toggle source
# File lib/warg.rb, line 1844
def console
  "[#{cli}]"
end
registry() click to toggle source
# File lib/warg.rb, line 1848
def registry
  @cli
end
to_s() click to toggle source
# File lib/warg.rb, line 1852
def to_s
  @cli.dup
end