Class: HackerOne::Client::Program

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

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ResourceHelper

included, #make_get_request, #make_post_request, #parse_response

Constructor Details

#initialize(program) ⇒ Program

Returns a new instance of Program.



16
17
18
# File 'lib/hackerone/client/program.rb', line 16

def initialize(program)
  @program = program
end

Class Method Details

.find(program_handle_we_want) ⇒ Object



10
11
12
13
14
# File 'lib/hackerone/client/program.rb', line 10

def self.find(program_handle_we_want)
  my_programs.find do |program|
    program.handle == program_handle_we_want
  end
end

Instance Method Details

#attributesObject



32
33
34
# File 'lib/hackerone/client/program.rb', line 32

def attributes
  OpenStruct.new(@program[:attributes])
end

#common_responses(page_number: 1, page_size: 100) ⇒ Object



52
53
54
55
56
57
# File 'lib/hackerone/client/program.rb', line 52

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



48
49
50
# File 'lib/hackerone/client/program.rb', line 48

def find_group(groupname)
  groups.find { |group| group.name == groupname }
end

#find_member(username) ⇒ Object



44
45
46
# File 'lib/hackerone/client/program.rb', line 44

def find_member(username)
  members.find { |member| member.user.username == username }
end

#group?(groupname) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/hackerone/client/program.rb', line 40

def group?(groupname)
  find_group(groupname).present?
end

#idObject



20
21
22
# File 'lib/hackerone/client/program.rb', line 20

def id
  @program[:id]
end

#incremental_activities(updated_at_after: nil, page_size: 25) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/hackerone/client/program.rb', line 24

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

Returns:

  • (Boolean)


36
37
38
# File 'lib/hackerone/client/program.rb', line 36

def member?(username)
  find_member(username).present?
end