Class: File
- Inherits:
-
Object
- Object
- File
- Defined in:
- lib/data_collector/ext/file.rb
Overview
Extensions and modifications (monkeypatching) to the File class:
Class Method Summary collapse
- .delete(names) ⇒ Object
- .exist?(name) ⇒ Boolean
- .open(name, *rest, &block) ⇒ Object
- .original_delete ⇒ Object
- .original_exist? ⇒ Object
- .original_open ⇒ Object
Class Method Details
.delete(names) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/data_collector/ext/file.rb', line 20 def self.delete(names) filenames = [] if(names.class == String) filenames << names elsif(names.class = Array) filenames = names end filenames.each do |filename| if(filename[/^(https?):\/\//]) dav = OpenUriAndWrite::CredentialsStore.get_connection_for_url(filename) dav.delete(filename) else self.original_delete(filename) end end end |
.exist?(name) ⇒ Boolean
11 12 13 14 15 16 17 18 |
# File 'lib/data_collector/ext/file.rb', line 11 def self.exist?(name) if(name[/https?:\/\//]) dav = OpenUriAndWrite::CredentialsStore.get_connection_for_url(name) dav.exist?(name) else self.original_exist?(name) end end |
.open(name, *rest, &block) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/data_collector/ext/file.rb', line 37 def self.open(name, *rest, &block) if name.respond_to?(:open) name.open(*rest, &block) elsif name.respond_to?(:to_s) and name[/^(https?):\/\//] and rest.size > 0 and rest.first.to_s[/^w/] webdav_agent = OpenUriAndWrite::Handle.new(name, rest) if(block) yield webdav_agent else return webdav_agent end else rest.map! do |m| if m.is_a?(Hash) {}.store( m.keys.first.to_s.to_sym, m.values.first) else m end end #self.original_open(name, *rest, &block) mode, = rest = {} unless .is_a?(Hash) self.original_open(name.to_s, mode, **, &block) end end |
.original_delete ⇒ Object
6 |
# File 'lib/data_collector/ext/file.rb', line 6 alias original_delete delete |
.original_exist? ⇒ Object
8 |
# File 'lib/data_collector/ext/file.rb', line 8 alias original_exist? exist? |
.original_open ⇒ Object
7 |
# File 'lib/data_collector/ext/file.rb', line 7 alias original_open open |