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, #permitted, #permitted_response, #short

Instance Method Summary collapse

Methods inherited from Option

#array_default?, #callback, create, #desc, #doesnt_need_autogen_short, #educate, #flag?, #format_stdio, #full_description, #initialize, #multi, #multi_arg?, #opts, #opts=, #permitted_type_valid?, #permitted_valid_string, #permitted_value?, register_alias, #required?, #single_arg?, #validate_permitted

Constructor Details

This class inherits a constructor from Optimist::Option

Instance Method Details

#parse(paramlist, _neg_given) ⇒ Object



1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
# File 'lib/optimist.rb', line 1044

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



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

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