Class: Optimist::IOOption

Inherits:
Option
  • Object
show all
Defined in:
lib/optimist.rb

Overview

Option class for handling IO objects and URLs. Note that this will return the file-handle, not the file-name in the case of file-paths given to it.

Direct Known Subclasses

IOArrayOption

Instance Attribute Summary

Attributes inherited from Option

#default, #long, #multi_given, #name, #short

Instance Method Summary collapse

Methods inherited from Option

#array_default?, #callback, create, #desc, #description_with_default, #educate, #flag?, #initialize, #multi, #multi_arg?, #opts, #opts=, register_alias, #required?, #short?, #single_arg?

Constructor Details

This class inherits a constructor from Optimist::Option

Instance Method Details

#parse(paramlist, _neg_given) ⇒ Object



806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
# File 'lib/optimist.rb', line 806

def parse(paramlist, _neg_given)
  paramlist.map do |pg|
    pg.map do |param|
      if param =~ /^(stdin|-)$/i
        $stdin
      else
        require 'open-uri'
        begin
          open param
        rescue SystemCallError => e
          raise CommandlineError, "file or url for option '#{self.name}' cannot be opened: #{e.message}"
        end
      end
    end
  end
end

#type_formatObject



805
# File 'lib/optimist.rb', line 805

def type_format ; "=<filename/uri>" ; end