Class: HackerOne::Client::Program
- Inherits:
-
Object
- Object
- HackerOne::Client::Program
show all
- Includes:
- ResourceHelper
- Defined in:
- lib/hackerone/client/program.rb
Class Method Summary
collapse
Instance Method Summary
collapse
included, #make_get_request, #make_post_request, #make_put_request, #parse_response
Constructor Details
#initialize(program) ⇒ Program
Returns a new instance of Program.
18
19
20
|
# File 'lib/hackerone/client/program.rb', line 18
def initialize(program)
@program = program
end
|
Class Method Details
.find(program_handle_we_want) ⇒ Object
12
13
14
15
16
|
# File 'lib/hackerone/client/program.rb', line 12
def self.find(program_handle_we_want)
my_programs.find do |program|
program.handle == program_handle_we_want
end
end
|
Instance Method Details
#attributes ⇒ Object
34
35
36
|
# File 'lib/hackerone/client/program.rb', line 34
def attributes
OpenStruct.new(@program[:attributes])
end
|
#balance ⇒ Object
79
80
81
82
83
84
|
# File 'lib/hackerone/client/program.rb', line 79
def balance
response_body = make_get_request(
"programs/#{id}/billing/balance"
)
BillingBalance.new(response_body).balance
end
|
#common_responses(page_number: 1, page_size: 100) ⇒ Object
64
65
66
67
68
69
|
# File 'lib/hackerone/client/program.rb', line 64
def common_responses(page_number: 1, page_size: 100)
make_get_request(
"programs/#{id}/common_responses",
params: { page: { number: page_number, size: page_size } }
)
end
|
#find_group(groupname) ⇒ Object
50
51
52
|
# File 'lib/hackerone/client/program.rb', line 50
def find_group(groupname)
groups.find { |group| group.name == groupname }
end
|
#find_member(username) ⇒ Object
46
47
48
|
# File 'lib/hackerone/client/program.rb', line 46
def find_member(username)
members.find { |member| member.user.username == username }
end
|
#group?(groupname) ⇒ Boolean
42
43
44
|
# File 'lib/hackerone/client/program.rb', line 42
def group?(groupname)
find_group(groupname).present?
end
|
#id ⇒ Object
22
23
24
|
# File 'lib/hackerone/client/program.rb', line 22
def id
@program[:id]
end
|
#incremental_activities(updated_at_after: nil, page_size: 25) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/hackerone/client/program.rb', line 26
def incremental_activities(updated_at_after: nil, page_size: 25)
HackerOne::Client::Incremental::Activities.new(
self,
updated_at_after: updated_at_after,
page_size: page_size
)
end
|
#member?(username) ⇒ Boolean
38
39
40
|
# File 'lib/hackerone/client/program.rb', line 38
def member?(username)
find_member(username).present?
end
|
#swag(page_number: 1, page_size: 100) ⇒ Object
71
72
73
74
75
76
77
|
# File 'lib/hackerone/client/program.rb', line 71
def swag(page_number: 1, page_size: 100)
response_body = make_get_request(
"programs/#{id}/swag",
params: { page: { number: page_number, size: page_size } }
)
response_body.map { |r| Swag.new(r, self) }
end
|
#update_policy(policy:) ⇒ Object
54
55
56
57
58
59
60
61
62
|
# File 'lib/hackerone/client/program.rb', line 54
def update_policy(policy:)
body = {
type: "program-policy",
attributes: {
policy: policy
}
}
make_put_request("programs/#{id}/policy", request_body: body)
end
|