Sha256: f2bdcf105e24d12457174c71781d224fd2246c4ae8193d5f945203084b963fa9

Contents?: true

Size: 590 Bytes

Versions: 6

Compression:

Stored size: 590 Bytes

Contents

require "micro-cf-plugin/errors"

module CFMicro::Switcher

  class Darwin < Base
    def adminrun(command)
      CFMicro.run_command("osascript", "-e 'do shell script \"#{command}\" with administrator privileges'")
    end

    def set_nameserver(domain, ip)
      File.open("/tmp/#{domain}", 'w') { |file| file.write("nameserver #{ip}") }
      adminrun("mkdir -p /etc/resolver;mv /tmp/#{domain} /etc/resolver/")
    end

    def unset_nameserver(domain, ip)
      raise CFMicro::MCFError, "domain missing" unless domain
      adminrun("rm -f /etc/resolver/#{domain}")
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
micro-cf-plugin-1.0.0 lib/micro-cf-plugin/micro/switcher/darwin.rb
micro-cf-plugin-0.1.1.rc1 lib/micro-cf-plugin/micro/switcher/darwin.rb
micro-cf-plugin-0.1.0 lib/micro-cf-plugin/micro/switcher/darwin.rb
micro-cf-plugin-0.1.0.rc3 lib/micro-cf-plugin/micro/switcher/darwin.rb
micro-cf-plugin-0.1.0.rc2 lib/micro-cf-plugin/micro/switcher/darwin.rb
micro-cf-plugin-0.1.0.rc1 lib/micro-cf-plugin/micro/switcher/darwin.rb