Class: HackerOne::Client::Swag

Inherits:
Object
  • Object
show all
Includes:
ResourceHelper
Defined in:
lib/hackerone/client/swag.rb

Instance Method Summary collapse

Methods included from ResourceHelper

included, #make_get_request, #make_post_request, #make_put_request, #parse_response

Constructor Details

#initialize(swag, program = nil) ⇒ Swag

Returns a new instance of Swag.



9
10
11
12
# File 'lib/hackerone/client/swag.rb', line 9

def initialize(swag, program = nil)
  @swag = swag
  @program = program
end

Instance Method Details

#addressObject



28
29
30
31
32
# File 'lib/hackerone/client/swag.rb', line 28

def address
  if address_relationship = relationships[:address]
    HackerOne::Client::Address.new(address_relationship[:data])
  end
end

#idObject



14
15
16
# File 'lib/hackerone/client/swag.rb', line 14

def id
  @swag[:id]
end

#mark_as_sent!Object



34
35
36
37
38
39
40
41
42
43
44
# 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?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/hackerone/client/swag.rb', line 18

def sent?
  !!attributes.sent
end

#userObject



22
23
24
25
26
# File 'lib/hackerone/client/swag.rb', line 22

def user
  if user_relationship = relationships[:user]
    HackerOne::Client::User.new(user_relationship[:data])
  end
end