Sha256: bbe78e9b15c816006f66a4d47f9db1d4b0e1412eab117faa2b0c859a8c8fde98

Contents?: true

Size: 1.16 KB

Versions: 16

Compression:

Stored size: 1.16 KB

Contents

class Dir
  @__glob__ = `require('glob')`
  @__fs__ = `require('fs')`
  @__path__ = `require('path')`
  @__os__ = `require('os')`
  `var __glob__ = #{@__glob__}`
  `var __fs__ = #{@__fs__}`
  `var __path__ = #{@__path__}`
  `var __os__ = #{@__os__}`

  class << self
    def [](glob)
      `__glob__.sync(#{glob})`
    end

    def pwd
      `process.cwd().split(__path__.sep).join(__path__.posix.sep)`
    end

    def home
      `__os__.homedir()`
    end

    def chdir(path)
      `process.chdir(#{path})`
    end

    def mkdir(path)
      `__fs__.mkdirSync(#{path})`
    end

    def entries(dirname)
      %x{
        var result = [];
        var entries = __fs__.readdirSync(#{dirname});
        for (var i = 0, ii = entries.length; i < ii; i++) {
          result.push(entries[i]);
        }
        return result;
      }
    end

    def glob(pattern)
      pattern = [pattern] unless pattern.respond_to? :each
      pattern.flat_map do |subpattern|
        subpattern = subpattern.to_path if subpattern.respond_to? :to_path
        subpattern = ::Opal.coerce_to!(subpattern, String, :to_str)
        `__glob__.sync(subpattern)`
      end
    end

    alias getwd pwd
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
opal-1.7.4 stdlib/nodejs/dir.rb
opal-1.7.3 stdlib/nodejs/dir.rb
opal-1.7.2 stdlib/nodejs/dir.rb
opal-1.7.1 stdlib/nodejs/dir.rb
opal-1.7.0 stdlib/nodejs/dir.rb
opal-1.7.0.rc1 stdlib/nodejs/dir.rb
opal-1.6.1 stdlib/nodejs/dir.rb
opal-1.6.0 stdlib/nodejs/dir.rb
opal-1.6.0.rc1 stdlib/nodejs/dir.rb
opal-1.6.0.alpha1 stdlib/nodejs/dir.rb
opal-1.5.1 stdlib/nodejs/dir.rb
opal-1.5.0 stdlib/nodejs/dir.rb
opal-1.5.0.rc1 stdlib/nodejs/dir.rb
opal-1.4.1 stdlib/nodejs/dir.rb
opal-1.4.0 stdlib/nodejs/dir.rb
opal-1.4.0.alpha1 stdlib/nodejs/dir.rb