class HackerOne::Client::Swag

Public Class Methods

new(swag, program = nil) click to toggle source
# File lib/hackerone/client/swag.rb, line 9
def initialize(swag, program = nil)
  @swag = swag
  @program = program
end

Public Instance Methods

address() click to toggle source
# File lib/hackerone/client/swag.rb, line 28
def address
  if address_relationship = relationships[:address]
    HackerOne::Client::Address.new(address_relationship[:data])
  end
end
id() click to toggle source
# File lib/hackerone/client/swag.rb, line 14
def id
  @swag[:id]
end
mark_as_sent!() click to toggle source
# File lib/hackerone/client/swag.rb, line 34
def mark_as_sent!
  body = {
    type: "swag",
    attributes: {
      sent: true
    }
  }

  response_json = make_put_request("programs/#{@program.id}/swag/#{id}", request_body: body)
  self.class.new(response_json, @program)
end
sent?() click to toggle source
# File lib/hackerone/client/swag.rb, line 18
def sent?
  !!attributes.sent
end
user() click to toggle source
# File lib/hackerone/client/swag.rb, line 22
def user
  if user_relationship = relationships[:user]
    HackerOne::Client::User.new(user_relationship[:data])
  end
end

Private Instance Methods

attributes() click to toggle source
# File lib/hackerone/client/swag.rb, line 48
def attributes
  OpenStruct.new(@swag[:attributes])
end
relationships() click to toggle source
# File lib/hackerone/client/swag.rb, line 52
def relationships
  @swag[:relationships]
end