Class: Rack::Lint::Wrapper::InputWrapper
- Inherits:
-
Object
- Object
- Rack::Lint::Wrapper::InputWrapper
- Defined in:
- lib/rack/lint.rb
Instance Method Summary collapse
-
#close(*args) ⇒ Object
-
closecan be called on the input stream to indicate that any remaining input is not needed.
-
-
#each(*args) ⇒ Object
-
eachmust be called without arguments and only yield Strings.
-
-
#gets(*args) ⇒ Object
-
getsmust be called without arguments and return a string, ornilon EOF.
-
-
#initialize(input) ⇒ InputWrapper
constructor
A new instance of InputWrapper.
-
#read(*args) ⇒ Object
-
readbehaves likeIO#read.
-
Constructor Details
#initialize(input) ⇒ InputWrapper
446 447 448 |
# File 'lib/rack/lint.rb', line 446 def initialize(input) @input = input end |
Instance Method Details
#close(*args) ⇒ Object
-
closecan be called on the input stream to indicate that any remaining input is not needed.
523 524 525 |
# File 'lib/rack/lint.rb', line 523 def close(*args) @input.close(*args) end |
#each(*args) ⇒ Object
-
eachmust be called without arguments and only yield Strings.
511 512 513 514 515 516 517 518 519 |
# File 'lib/rack/lint.rb', line 511 def each(*args) raise LintError, "rack.input#each called with arguments" unless args.size == 0 @input.each { |line| unless line.kind_of? String raise LintError, "rack.input#each didn't yield a String" end yield line } end |
#gets(*args) ⇒ Object
-
getsmust be called without arguments and return a string, ornilon EOF.
452 453 454 455 456 457 458 459 |
# File 'lib/rack/lint.rb', line 452 def gets(*args) raise LintError, "rack.input#gets called with arguments" unless args.size == 0 v = @input.gets unless v.nil? or v.kind_of? String raise LintError, "rack.input#gets didn't return a String" end v end |
#read(*args) ⇒ Object
-
readbehaves likeIO#read. Its signature isread([length, [buffer]]).If given,
lengthmust be a non-negative Integer (>= 0) ornil, andbuffermust be a String and may not be nil.If
lengthis given and not nil, then this method reads at mostlengthbytes from the input stream.If
lengthis not given or nil, then this method reads all data until EOF.When EOF is reached, this method returns nil if
lengthis given and not nil, or “” iflengthis not given or is nil.If
bufferis given, then the read data will be placed intobufferinstead of a newly created String object.
478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 |
# File 'lib/rack/lint.rb', line 478 def read(*args) unless args.size <= 2 raise LintError, "rack.input#read called with too many arguments" end if args.size >= 1 unless args.first.kind_of?(Integer) || args.first.nil? raise LintError, "rack.input#read called with non-integer and non-nil length" end unless args.first.nil? || args.first >= 0 raise LintError, "rack.input#read called with a negative length" end end if args.size >= 2 unless args[1].kind_of?(String) raise LintError, "rack.input#read called with non-String buffer" end end v = @input.read(*args) unless v.nil? or v.kind_of? String raise LintError, "rack.input#read didn't return nil or a String" end if args[0].nil? unless !v.nil? raise LintError, "rack.input#read(nil) returned nil on EOF" end end v end |