Sha256: 2dfa01c99de33d8dfd115a56a6e29d607ad362927e534695b8ab859451349906
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
class OpenSourceStats class User attr_accessor :login def initialize(login) @login = login end # Returns an array of in-scope Events from the user's public activity feed def events @events ||= begin if self.class == OpenSourceStats::User events = client.user_public_events login, :per_page => 100 else events = client.organization_public_events name, :per_page => 100 end events.concat client.get client.last_response.rels[:next].href while next_page? events = events.map { |e| Event.new(e) } events.select { |e| e.in_scope? } end end private # Helper method to access the shared Octokit instance def client OpenSourceStats.client end # Helper method to improve readability. # Asks is there another page to the results? # Looks at both pagination and if we've gone past our allowed timeframe def next_page? client.last_response.rels[:next] && client.rate_limit.remaining > 0 && client.last_response.data.last[:created_at] >= OpenSourceStats.start_time end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
open_source_stats-0.0.1 | lib/open_source_stats/user.rb |