Class: HackerOne::Client::Incremental::Activities
- Inherits:
-
Object
- Object
- HackerOne::Client::Incremental::Activities
- Includes:
- ResourceHelper
- Defined in:
- lib/hackerone/client/incremental/activities.rb
Instance Attribute Summary collapse
-
#page_size ⇒ Object
readonly
Returns the value of attribute page_size.
-
#program ⇒ Object
readonly
Returns the value of attribute program.
-
#updated_at_after ⇒ Object
readonly
Returns the value of attribute updated_at_after.
Instance Method Summary collapse
- #activities ⇒ Object
-
#initialize(program, updated_at_after: nil, page_size: 25) ⇒ Activities
constructor
A new instance of Activities.
- #next_page ⇒ Object
- #traverse ⇒ Object
Methods included from ResourceHelper
included, #make_get_request, #make_post_request, #make_put_request, #parse_response
Constructor Details
#initialize(program, updated_at_after: nil, page_size: 25) ⇒ Activities
Returns a new instance of Activities.
11 12 13 14 15 |
# File 'lib/hackerone/client/incremental/activities.rb', line 11 def initialize(program, updated_at_after: nil, page_size: 25) @program = program @updated_at_after = updated_at_after @page_size = page_size end |
Instance Attribute Details
#page_size ⇒ Object (readonly)
Returns the value of attribute page_size.
9 10 11 |
# File 'lib/hackerone/client/incremental/activities.rb', line 9 def page_size @page_size end |
#program ⇒ Object (readonly)
Returns the value of attribute program.
9 10 11 |
# File 'lib/hackerone/client/incremental/activities.rb', line 9 def program @program end |
#updated_at_after ⇒ Object (readonly)
Returns the value of attribute updated_at_after.
9 10 11 |
# File 'lib/hackerone/client/incremental/activities.rb', line 9 def updated_at_after @updated_at_after end |
Instance Method Details
#activities ⇒ Object
27 28 29 30 31 |
# File 'lib/hackerone/client/incremental/activities.rb', line 27 def activities @activities ||= current_page[:data].map do |activity_json| HackerOne::Client::Activities.build activity_json end end |
#next_page ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/hackerone/client/incremental/activities.rb', line 33 def next_page return nil unless next_cursor.present? # Set cursor to next page @updated_at_after = next_cursor # Remove memoization @current_page = nil @activities = nil # Fetch new page current_page activities end |
#traverse ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/hackerone/client/incremental/activities.rb', line 17 def traverse loop do activities.each do |activity| yield activity end break if next_page.nil? end end |