Module: FileSystem
- Defined in:
- lib/filesystem.rb
Defined Under Namespace
Modules: Adapter Classes: DirAdapter, FileAdapter, FileUtilsAdapter, MockFileSystem, Path
Constant Summary collapse
- Version =
'0.1.0'
- @@mock =
false
Class Method Summary collapse
-
.method_missing(symbol, *args) ⇒ Object
:nodoc:.
-
.mock=(is_mock) ⇒ Object
Tell FileSystem whether to offer interfaces to the real or mock file system.
-
.mock_file_system ⇒ Object
If we’re in mock mode, this will return the MockFileSystem; otherwise it will raise a RuntimeError.
Class Method Details
.method_missing(symbol, *args) ⇒ Object
:nodoc:
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/filesystem.rb', line 40 def self.method_missing( symbol, *args ) #:nodoc: class_name = nil if symbol.id2name =~ /^get_(.*)/ class_name = $1.capitalize class_name.gsub!( /_(\w)/ ) { |s| $1.capitalize } unless %w( Dir File FileUtils ).include?( class_name ) class_name = nil end end if class_name if @@mock return_class = Class.by_name( 'FileSystem::' + class_name + 'Adapter' ) else return_class = Class.by_name( class_name ) end return_class || super elsif @@mock mock_file_system.send( symbol, *args ) else super end end |
.mock=(is_mock) ⇒ Object
Tell FileSystem whether to offer interfaces to the real or mock file system. is_mock
should be a Boolean.
65 |
# File 'lib/filesystem.rb', line 65 def self.mock= ( is_mock ); @@mock = is_mock; end |
.mock_file_system ⇒ Object
If we’re in mock mode, this will return the MockFileSystem; otherwise it will raise a RuntimeError.
69 70 71 |
# File 'lib/filesystem.rb', line 69 def self.mock_file_system @@mock ? MockFileSystem.instance : ( raise RuntimeError ) end |