Sha256: c11fc583c674d08acaccb6a893b180f70e2677e553eccf0941e6aff2832a7e62

Contents?: true

Size: 1.16 KB

Versions: 18

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

18 entries across 18 versions & 1 rubygems

Version Path
opal-1.3.2 stdlib/nodejs/dir.rb
opal-1.3.1 stdlib/nodejs/dir.rb
opal-1.3.0 stdlib/nodejs/dir.rb
opal-1.3.0.rc1 stdlib/nodejs/dir.rb
opal-1.3.0.alpha1 stdlib/nodejs/dir.rb
opal-1.2.0 stdlib/nodejs/dir.rb
opal-1.2.0.beta1 stdlib/nodejs/dir.rb
opal-1.1.1 stdlib/nodejs/dir.rb
opal-1.1.1.rc1 stdlib/nodejs/dir.rb
opal-1.1.0 stdlib/nodejs/dir.rb
opal-1.1.0.rc1 stdlib/nodejs/dir.rb
opal-1.0.5 stdlib/nodejs/dir.rb
opal-1.0.4 stdlib/nodejs/dir.rb
opal-1.0.3 stdlib/nodejs/dir.rb
opal-1.0.2 stdlib/nodejs/dir.rb
opal-1.0.1 stdlib/nodejs/dir.rb
opal-1.0.0 stdlib/nodejs/dir.rb
opal-1.0.0.beta1 stdlib/nodejs/dir.rb