Class: Opal::PathReader
- Inherits:
-
Object
- Object
- Opal::PathReader
- Defined in:
- opal/lib/opal/path_reader.rb
Constant Summary collapse
- RELATIVE_PATH_REGEXP =
/#{Opal::REGEXP_START}\.?\.#{Regexp.quote File::SEPARATOR}/.freeze
- DEFAULT_EXTENSIONS =
['.js', '.js.rb', '.rb', '.opalerb'].freeze
Instance Method Summary collapse
- #append_paths(*paths) ⇒ Object
- #expand(path) ⇒ Object
- #extensions ⇒ Object
-
#initialize(paths = Opal.paths, extensions = DEFAULT_EXTENSIONS) ⇒ PathReader
constructor
A new instance of PathReader.
- #paths ⇒ Object
- #read(path) ⇒ Object
Constructor Details
#initialize(paths = Opal.paths, extensions = DEFAULT_EXTENSIONS) ⇒ PathReader
Returns a new instance of PathReader.
11 12 13 14 15 |
# File 'opal/lib/opal/path_reader.rb', line 11 def initialize(paths = Opal.paths, extensions = DEFAULT_EXTENSIONS) @file_finder = Hike::Trail.new @file_finder.append_paths(*paths) @file_finder.append_extensions(*extensions) end |
Instance Method Details
#append_paths(*paths) ⇒ Object
39 40 41 |
# File 'opal/lib/opal/path_reader.rb', line 39 def append_paths(*paths) file_finder.append_paths(*paths) end |
#expand(path) ⇒ Object
23 24 25 26 27 28 29 |
# File 'opal/lib/opal/path_reader.rb', line 23 def (path) if Pathname.new(path).absolute? || path =~ RELATIVE_PATH_REGEXP path else find_path(path) end end |
#extensions ⇒ Object
35 36 37 |
# File 'opal/lib/opal/path_reader.rb', line 35 def extensions file_finder.extensions end |
#paths ⇒ Object
31 32 33 |
# File 'opal/lib/opal/path_reader.rb', line 31 def paths file_finder.paths end |
#read(path) ⇒ Object
17 18 19 20 21 |
# File 'opal/lib/opal/path_reader.rb', line 17 def read(path) full_path = (path) return nil if full_path.nil? File.open(full_path, 'rb:UTF-8', &:read) if File.exist?(full_path) end |