Class: Runcible::Resources::Consumer

Inherits:
Base
  • Object
show all
Defined in:
lib/runcible/resources/consumer.rb

Overview

Direct Known Subclasses

Extensions::Consumer

Class Method Summary collapse

Methods inherited from Base

add_http_auth_header, add_oauth_header, call, combine_get_params, config, config=, generate_log_message, generate_payload, get_response, log_debug, log_exception, process_response, required_params

Class Method Details

.applicability(options = {}) ⇒ RestClient::Response

Determine if a set of content is applicable to a consumer



170
171
172
# File 'lib/runcible/resources/consumer.rb', line 170

def self.applicability(options={})
  call(:post, path("actions/content/applicability/"), :payload => { :required => options })
end

.bind(id, repo_id, distributor_id, optional = {}) ⇒ RestClient::Response

Bind a consumer to a repository for a given distributor



118
119
120
121
# File 'lib/runcible/resources/consumer.rb', line 118

def self.bind(id, repo_id, distributor_id, optional={})
  required = required_params(binding.send(:local_variables), binding, ["id"])
  call(:post, path("#{id}/bindings/"), :payload => { :required => required, :optional=>optional })
end

.create(id, optional = {}) ⇒ RestClient::Response

Creates a consumer



43
44
45
46
# File 'lib/runcible/resources/consumer.rb', line 43

def self.create(id, optional={})
  required = required_params(binding.send(:local_variables), binding)
  call(:post, path, :payload => { :required => required, :optional => optional })
end

.delete(id) ⇒ RestClient::Response

Deletes a consumer



69
70
71
# File 'lib/runcible/resources/consumer.rb', line 69

def self.delete(id)
  call(:delete, path(id))
end

.install_units(id, units, options = {}) ⇒ RestClient::Response

Install a set of units onto a consumer



139
140
141
142
# File 'lib/runcible/resources/consumer.rb', line 139

def self.install_units(id, units, options={})
  required = required_params(binding.send(:local_variables), binding, ["id"])
  call(:post, path("#{id}/actions/content/install/"), :payload => { :required => required })
end

.path(id = nil) ⇒ String

Generates the API path for Consumers



34
35
36
# File 'lib/runcible/resources/consumer.rb', line 34

def self.path(id=nil)
  (id == nil) ? "consumers/" : "consumers/#{id}/"
end

.retrieve(id) ⇒ RestClient::Response

Retrieves a consumer



52
53
54
# File 'lib/runcible/resources/consumer.rb', line 52

def self.retrieve(id)
  call(:get, path(id))
end

.retrieve_binding(id, repo_id, distributor_id) ⇒ RestClient::Response

Retrieve a consumer binding



99
100
101
# File 'lib/runcible/resources/consumer.rb', line 99

def self.retrieve_binding(id, repo_id, distributor_id)
  call(:get, path("#{id}/bindings/#{repo_id}/#{distributor_id}"))
end

.retrieve_bindings(id) ⇒ RestClient::Response

Retrieve all consumer bindings



107
108
109
# File 'lib/runcible/resources/consumer.rb', line 107

def self.retrieve_bindings(id)
  call(:get, path("#{id}/bindings/"))
end

.retrieve_profile(id, content_type) ⇒ RestClient::Response

Retrieve a consumer profile



89
90
91
# File 'lib/runcible/resources/consumer.rb', line 89

def self.retrieve_profile(id, content_type)
  call(:get, path("#{id}/profiles/#{content_type}/"))
end

.unbind(id, repo_id, distributor_id) ⇒ RestClient::Response

Unbind a consumer to a repository for a given distributor



129
130
131
# File 'lib/runcible/resources/consumer.rb', line 129

def self.unbind(id, repo_id, distributor_id)
  call(:delete, path("#{id}/bindings/#{repo_id}/#{distributor_id}"))
end

.uninstall_units(id, units, options = {}) ⇒ RestClient::Response

Uninstall a set of units from a consumer



161
162
163
164
# File 'lib/runcible/resources/consumer.rb', line 161

def self.uninstall_units(id, units, options={})
  required = required_params(binding.send(:local_variables), binding, ["id"])
  call(:post, path("#{id}/actions/content/uninstall/"), :payload => { :required => required })
end

.update(id, optional = {}) ⇒ RestClient::Response

Updates a consumer



61
62
63
# File 'lib/runcible/resources/consumer.rb', line 61

def self.update(id, optional={})
  call(:put, path(id), :payload => { :delta => optional })
end

.update_units(id, units, options = {}) ⇒ RestClient::Response

Update a set of units on a consumer



150
151
152
153
# File 'lib/runcible/resources/consumer.rb', line 150

def self.update_units(id, units, options={})
  required = required_params(binding.send(:local_variables), binding, ["id"])
  call(:post, path("#{id}/actions/content/update/"), :payload => { :required => required })
end

.upload_profile(id, content_type, profile) ⇒ RestClient::Response

Create consumer profile



79
80
81
82
# File 'lib/runcible/resources/consumer.rb', line 79

def self.upload_profile(id, content_type, profile)
  required = required_params(binding.send(:local_variables), binding, ["id"])
  call(:post, path("#{id}/profiles/"), :payload => { :required => required })
end