Class: RightScraper::Scanners::CookbookFilenameScanner

Inherits:
Base
  • Object
show all
Defined in:
lib/right_scraper/scanners/cookbook_filename_scanner.rb

Overview

Build manifests from a filesystem.

Instance Method Summary collapse

Methods inherited from Base

#begin, #end, #finish

Constructor Details

#initialize(options) ⇒ CookbookFilenameScanner

Initializer

Parameters

Parameters:

  • options (Hash)

Options Hash (options):

  • :warnings (Array)

    bucket

Raises:

  • (ArgumentError)


36
37
38
39
# File 'lib/right_scraper/scanners/cookbook_filename_scanner.rb', line 36

def initialize(options)
  super
  raise ArgumentError.new("options[:warnings] is required") unless @warnings = options[:warnings]
end

Instance Method Details

#notice(relative_position) { ... } ⇒ Object

Checks file names for any problematic characters.

Block ===

Parameters ===

Parameters:

  • relative_position (String)

    for file from root of resource

Yields:

  • returns file data, not checked here



48
49
50
51
52
# File 'lib/right_scraper/scanners/cookbook_filename_scanner.rb', line 48

def notice(relative_position)
  if detect_non_printing_non_ascii(relative_position)
    @warnings << "A file name contained non-printing or non-ASCII characters: #{relative_position.inspect}"
  end
end

#notice_dir(relative_position) ⇒ TrueClass|FalseClass

Checks directory names for any problematic characters.

Parameters ===

Returns ===

Parameters:

  • relative_position (String)

    for directory from root of resource

Returns:

  • (TrueClass|FalseClass)

    true if scanning should recurse directory



61
62
63
64
65
66
67
68
69
# File 'lib/right_scraper/scanners/cookbook_filename_scanner.rb', line 61

def notice_dir(relative_position)
  if relative_position && detect_non_printing_non_ascii(relative_position)
    @warnings << "A directory name contained non-printing or non-ASCII characters: #{relative_position.inspect}"
    # ignore directory contents since directory itself is problematic.
    false
  else
    true
  end
end