class Bodhi::User
Attributes
bodhi_context[RW]
Public Class Methods
find(context, user_name)
click to toggle source
Queries the Bodhi
API for the given user_name
and returns a Bodhi::User
context = BodhiContext.new(valid_params) user = Bodhi::User.find(context, "User1") user # => #<Bodhi::User:0x007fbff403e808 @username="User1">
# File lib/bodhi-slam/users.rb, line 42 def self.find(context, user_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}/users/#{user_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 user = Bodhi::User.new(result.body) user.bodhi_context = context user end
find_me(context)
click to toggle source
Queries the Bodhi
API for the users account info
context = BodhiContext.new(valid_params) user_properties = Bodhi::User.find_me(context)
# File lib/bodhi-slam/users.rb, line 65 def self.find_me(context) 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 "/me" 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 result.body end
Public Instance Methods
delete!()
click to toggle source
# File lib/bodhi-slam/users.rb, line 128 def delete! result = bodhi_context.connection.delete do |request| request.url "/#{bodhi_context.namespace}/users/#{username}" 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
patch!(options)
click to toggle source
# File lib/bodhi-slam/users.rb, line 115 def patch!(options) result = bodhi_context.connection.patch do |request| request.url "/#{bodhi_context.namespace}/users/#{username}" request.headers['Content-Type'] = 'application/json' request.headers[bodhi_context.credentials_header] = bodhi_context.credentials request.body = options.to_json 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/users.rb, line 87 def save! result = bodhi_context.connection.post do |request| request.url "/#{bodhi_context.namespace}/users" 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
update!(options)
click to toggle source
# File lib/bodhi-slam/users.rb, line 100 def update!(options) update_attributes(options) result = bodhi_context.connection.put do |request| request.url "/#{bodhi_context.namespace}/users/#{username}" request.headers['Content-Type'] = 'application/json' request.headers[bodhi_context.credentials_header] = bodhi_context.credentials request.body = attributes.to_json end if result.status != 204 raise Bodhi::ApiErrors.new(body: result.body, status: result.status), "status: #{result.status}, body: #{result.body}" end end