Sha256: 3171f93254dfa97ccb6f15136a31413389c66339f2e7336ab516e1b1c6cf4023

Contents?: true

Size: 927 Bytes

Versions: 6

Compression:

Stored size: 927 Bytes

Contents

module VagrantCloud

  class Provider

    attr_accessor :version
    attr_accessor :name
    attr_accessor :data

    def initialize(version, name, data = nil)
      @version = version
      @name = name
      @data = data
    end

    def url
      data['original_url']
    end

    def download_url
      data['download_url']
    end

    def data
      @data ||= account.request('get', "/box/#{account.username}/#{box.name}/version/#{version.number}/provider/#{name}")
    end

    def update(url)
      params = {:url => url}
      @data = account.request('put', "/box/#{account.username}/#{box.name}/version/#{version.number}/provider/#{name}", {:provider => params})
    end

    def delete
      account.request('delete', "/box/#{account.username}/#{box.name}/version/#{version.number}/provider/#{name}")
    end

    private

    def box
      version.box
    end

    def account
      box.account
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vagrant_cloud-0.3.0 lib/vagrant_cloud/provider.rb
vagrant_cloud-0.2.3 lib/vagrant_cloud/provider.rb
vagrant_cloud-0.2.2 lib/vagrant_cloud/provider.rb
vagrant_cloud-0.2.1 lib/vagrant_cloud/provider.rb
vagrant_cloud-0.2.0 lib/vagrant_cloud/provider.rb
vagrant_cloud-0.1.0 lib/vagrant_cloud/provider.rb