class Bodhi::Profile
Attributes
bodhi_context[RW]
Public Class Methods
find(context, profile_name)
click to toggle source
Queries the Bodhi
API for the given user_name
and returns a Bodhi::Profile
context = BodhiContext.new(valid_params) profile = Bodhi::Profile.find(context, "Profile1") profile # => #<Bodhi::Profile:0x007fbff403e808 @name="Profile1">
# File lib/bodhi-slam/profiles.rb, line 29 def self.find(context, profile_name) if context.invalid? raise Bodhi::ContextErrors.new(context.errors.messages), context.errors.to_a.to_s end result = context.connection.get do |request| request.url "/#{context.namespace}/profiles/#{profile_name}" request.headers[context.credentials_header] = context.credentials end if result.status != 200 raise Bodhi::ApiErrors.new(body: result.body, status: result.status), "status: #{result.status}, body: #{result.body}" end profile = Bodhi::Profile.new(result.body) profile.bodhi_context = context profile end
Public Instance Methods
delete!()
click to toggle source
# File lib/bodhi-slam/profiles.rb, line 66 def delete! result = bodhi_context.connection.delete do |request| request.url "/#{bodhi_context.namespace}/profiles/#{name}" request.headers[bodhi_context.credentials_header] = bodhi_context.credentials end if result.status != 204 raise Bodhi::ApiErrors.new(body: result.body, status: result.status), "status: #{result.status}, body: #{result.body}" end end
save!()
click to toggle source
Saves the resource to the Bodhi
Cloud. Raises ArgumentError if record could not be saved.
obj = Resouce.new obj.save! obj.persisted? # => true
# File lib/bodhi-slam/profiles.rb, line 53 def save! result = bodhi_context.connection.post do |request| request.url "/#{bodhi_context.namespace}/profiles" request.headers['Content-Type'] = 'application/json' request.headers[bodhi_context.credentials_header] = bodhi_context.credentials request.body = attributes.to_json end if result.status != 201 raise Bodhi::ApiErrors.new(body: result.body, status: result.status), "status: #{result.status}, body: #{result.body}" end end