Sha256: 25079a5db2872afc106f45caff092f60988551b4340d1826ba754f04ab9bf707

Contents?: true

Size: 610 Bytes

Versions: 4

Compression:

Stored size: 610 Bytes

Contents

# frozen_string_literal: true

module Launchy
  # Internal: Ecapsulate the commandline argumens passed to Launchy
  #
  class Argv
    attr_reader :argv

    def initialize(*args)
      @argv = args.flatten
    end

    def to_s
      @argv.join(" ")
    end

    def to_str
      to_s
    end

    def [](idx)
      @argv[idx]
    end

    def valid?
      !blank? && executable?
    end

    def blank?
      @argv.empty? || @argv.first.strip.empty?
    end

    def executable?
      ::Launchy::Application.find_executable(@argv.first)
    end

    def ==(other)
      @argv == other.argv
    end
  end
end

Version data entries

4 entries across 3 versions & 2 rubygems

Version Path
launchy-3.1.0 lib/launchy/argv.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/launchy-3.0.1/lib/launchy/argv.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/launchy-3.0.1/lib/launchy/argv.rb
launchy-3.0.1 lib/launchy/argv.rb