Class: File
- Includes:
- IO::Readable, IO::Writable
- Defined in:
- opal/stdlib/nodejs/file.rb,
opal/stdlib/nashorn/file.rb
Defined Under Namespace
Classes: Stat
Instance Attribute Summary collapse
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Attributes inherited from IO
Class Method Summary collapse
- .directory?(path) ⇒ Boolean
- .exist?(path) ⇒ Boolean
- .file?(path) ⇒ Boolean
- .join(*paths) ⇒ Object
- .mtime(path) ⇒ Object
- .open(path, flags) ⇒ Object
- .read(path) ⇒ Object
- .realpath(pathname, dir_string = nil, cache = nil, &block) ⇒ Object
- .size(path) ⇒ Object
- .stat(path) ⇒ Object
- .write(path, data) ⇒ Object
Instance Method Summary collapse
- #close ⇒ Object
- #flush ⇒ Object
-
#initialize(path, flags) ⇒ File
constructor
Instance Methods.
- #mtime ⇒ Object
- #write(string) ⇒ Object
Methods inherited from IO
Constructor Details
#initialize(path, flags) ⇒ File
Instance Methods
104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'opal/stdlib/nodejs/file.rb', line 104 def initialize(path, flags) binary_flag_regexp = /b/ encoding_flag_regexp = /:(.*)/ # binary flag is unsupported `handle_unsupported_feature("Binary flag (b) is unsupported by Node.js openSync method, removing flag.")` if flags.match(binary_flag_regexp) flags = flags.gsub(binary_flag_regexp, '') # encoding flag is unsupported `handle_unsupported_feature("Encoding flag (:encoding) is unsupported by Node.js openSync method, removing flag.")` if flags.match(encoding_flag_regexp) flags = flags.gsub(encoding_flag_regexp, '') @path = path @flags = flags @fd = `__fs__.openSync(path, flags)` end |
Instance Attribute Details
#path ⇒ Object (readonly)
Returns the value of attribute path
118 119 120 |
# File 'opal/stdlib/nodejs/file.rb', line 118 def path @path end |
Class Method Details
.directory?(path) ⇒ Boolean
65 66 67 68 |
# File 'opal/stdlib/nodejs/file.rb', line 65 def self.directory? path return nil unless exist? path `!!__fs__.lstatSync(path).isDirectory()` end |
.exist?(path) ⇒ Boolean
42 43 44 45 |
# File 'opal/stdlib/nodejs/file.rb', line 42 def self.exist? path path = path.path if path.respond_to? :path `__fs__.existsSync(#{path})` end |
.file?(path) ⇒ Boolean
70 71 72 73 |
# File 'opal/stdlib/nodejs/file.rb', line 70 def self.file? path return nil unless exist? path `!!__fs__.lstatSync(path).isFile()` end |
.join(*paths) ⇒ Object
61 62 63 |
# File 'opal/stdlib/nodejs/file.rb', line 61 def self.join(*paths) `__path__.join.apply(__path__, #{paths})` end |
.mtime(path) ⇒ Object
98 99 100 |
# File 'opal/stdlib/nodejs/file.rb', line 98 def self.mtime path `__fs__.statSync(#{path}).mtime` end |
.open(path, flags) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'opal/stdlib/nodejs/file.rb', line 80 def self.open path, flags file = new(path, flags) if block_given? begin yield(file) ensure file.close end else file end end |
.read(path) ⇒ Object
33 34 35 |
# File 'opal/stdlib/nodejs/file.rb', line 33 def self.read path `__fs__.readFileSync(#{path}).toString()` end |
.realpath(pathname, dir_string = nil, cache = nil, &block) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'opal/stdlib/nodejs/file.rb', line 47 def self.realpath(pathname, dir_string = nil, cache = nil, &block) pathname = join(dir_string, pathname) if dir_string if block_given? ` __fs__.realpath(#{pathname}, #{cache}, function(error, realpath){ if (error) #{raise error.} else #{block.call(`realpath`)} }) ` else `__fs__.realpathSync(#{pathname}, #{cache})` end end |
.size(path) ⇒ Object
75 76 77 78 |
# File 'opal/stdlib/nodejs/file.rb', line 75 def self.size path return nil unless exist? path `__fs__.lstatSync(path).size` end |
.stat(path) ⇒ Object
93 94 95 96 |
# File 'opal/stdlib/nodejs/file.rb', line 93 def self.stat path path = path.path if path.respond_to? :path File::Stat.new(path) end |
.write(path, data) ⇒ Object
37 38 39 40 |
# File 'opal/stdlib/nodejs/file.rb', line 37 def self.write path, data `__fs__.writeFileSync(#{path}, #{data})` data.size end |
Instance Method Details
#close ⇒ Object
128 129 130 |
# File 'opal/stdlib/nodejs/file.rb', line 128 def close `__fs__.closeSync(#{@fd})` end |
#flush ⇒ Object
124 125 126 |
# File 'opal/stdlib/nodejs/file.rb', line 124 def flush `__fs__.fsyncSync(#@fd)` end |
#mtime ⇒ Object
132 133 134 |
# File 'opal/stdlib/nodejs/file.rb', line 132 def mtime `__fs__.statSync(#{@path}).mtime` end |
#write(string) ⇒ Object
120 121 122 |
# File 'opal/stdlib/nodejs/file.rb', line 120 def write string `__fs__.writeSync(#{@fd}, #{string})` end |