Sha256: a16254823b9dcf2c7e221a82389aa75adfc1e498af3956d8d4eb38426e3b0d42

Contents?: true

Size: 1.66 KB

Versions: 84

Compression:

Stored size: 1.66 KB

Contents

module Katello
  module Resources
    module Candlepin
      class Environment < CandlepinResource
        class << self
          def find(id)
            JSON.parse(self.get(path(id), self.default_headers).body).with_indifferent_access
          end

          def all
            JSON.parse(self.get(path, self.default_headers).body).collect { |a| a.with_indifferent_access }
          end

          def create(owner_id, id, name, description)
            attrs = {:id => id, :name => name, :description => description}
            path = "/candlepin/owners/#{owner_id}/environments"
            environment_json = self.post(path, attrs.to_json, self.default_headers).body
            JSON.parse(environment_json).with_indifferent_access
          end

          def destroy(id)
            self.delete(path(id), User.cp_oauth_header).code.to_i
          rescue RestClient::NotFound => e
            raise ::Katello::Errors::CandlepinEnvironmentGone, e.message
          end

          def path(id = '')
            "/candlepin/environments/#{id}"
          end

          def add_content(env_id, content_ids)
            path = self.path(env_id) + "/content"
            params = content_ids.map { |content_id| {:contentId => content_id} }
            JSON.parse(self.post(path, params.to_json, self.default_headers).body).with_indifferent_access
          end

          def delete_content(env_id, content_ids)
            path = self.path(env_id) + "/content"
            params = content_ids.map { |content_id| {:content => content_id}.to_param }.join("&")
            self.delete("#{path}?#{params}", self.default_headers).code.to_i
          end
        end
      end
    end
  end
end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
katello-4.16.0 app/lib/katello/resources/candlepin/environment.rb
katello-4.15.1 app/lib/katello/resources/candlepin/environment.rb
katello-4.16.0.rc2 app/lib/katello/resources/candlepin/environment.rb
katello-4.16.0.rc1 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.3 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.2 app/lib/katello/resources/candlepin/environment.rb
katello-4.15.0 app/lib/katello/resources/candlepin/environment.rb
katello-4.15.0.rc2 app/lib/katello/resources/candlepin/environment.rb
katello-4.15.0.rc1 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.1 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.0 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.0.rc3 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.0.rc2 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.0.rc1.1 app/lib/katello/resources/candlepin/environment.rb
katello-4.14.0.rc1 app/lib/katello/resources/candlepin/environment.rb
katello-4.13.1 app/lib/katello/resources/candlepin/environment.rb
katello-4.13.0 app/lib/katello/resources/candlepin/environment.rb
katello-4.12.1 app/lib/katello/resources/candlepin/environment.rb
katello-4.13.0.rc1 app/lib/katello/resources/candlepin/environment.rb
katello-4.12.0 app/lib/katello/resources/candlepin/environment.rb