# encoding: utf-8 module Github class Client::Activity::Events < API # List all public events # # @see https://developer.github.com/v3/activity/events/#list-public-events # # @example # github = Github.new # github.activity.events.public # github.activity.events.public { |event| ... } # # @api public def public(*args) arguments(args) response = get_request("/events", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :public_events, :public alias_method :list_public, :public alias_method :list_public_events, :public # List all repository events for a given user # # @example # github = Github.new # github.activity.events.repository 'user-name', 'repo-name' # github.activity.events.repository 'user-name', 'repo-name' { |event| ... } # # @example # github.activity.events.repository user: 'user-name', repo: 'repo-name' # github.activity.events.repository user: 'user-name', repo: 'repo-name' {|event| ... } # # @api public def repository(*args) arguments(args, required: [:user, :repo]) response = get_request("/repos/#{arguments.user}/#{arguments.repo}/events", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :repos, :repository alias_method :repo_events, :repository alias_method :repository_events, :repository alias_method :list_repository_events, :repository # List all issue events for a given repository # # @example # github = Github.new # github.activity.events.issue 'user-name', 'repo-name' # github.activity.events.issue 'user-name', 'repo-name' { |event| ... } # # @example # github.activity.events.issue user: 'user-name', repo: 'repo-name' # github.activity.events.issue user: 'user-name', repo: 'repo-name' { |event| ... } # # @api public def issue(*args) arguments(args, required: [:user, :repo]) response = get_request("/repos/#{arguments.user}/#{arguments.repo}/issues/events", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :issues, :issue alias_method :issue_events, :issue alias_method :list_issue_events, :issue # List all public events for a network of repositories # # @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories # # @example # github = Github.new # github.activity.events.network 'user-name', 'repo-name' # github.activity.events.network 'user-name', 'repo-name' { |event| ... } # # @example # github.activity.events.network user: 'user-name', repo: 'repo-name' # github.activity.events.network user: 'user-name', repo: 'repo-name' { |event| ... } # # @api public def network(*args) arguments(args, required: [:user, :repo]) response = get_request("/networks/#{arguments.user}/#{arguments.repo}/events", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :repo_network, :network alias_method :repository_network, :network alias_method :list_repo_network_events, :network alias_method :list_repository_network_events, :network # List all public events for an organization # # @see https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization # # @example # github = Github.new # github.activity.events.org 'org-name' # github.activity.events.org 'org-name' { |event| ... } # # @example # github.activity.events.org name: 'org-name' # github.activity.events.org name: 'org-name' { |event| ... } # # @api public def org(*args) arguments(args, required: [:name]) response = get_request("/orgs/#{arguments.name}/events", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :organization, :org alias_method :list_orgs, :org alias_method :list_org_events, :org alias_method :list_organization_events, :org # List all events that a user has received # # @see https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received # # These are events that you’ve received by watching repos # and following users. If you are authenticated as the given user, # you will see private events. Otherwise, you’ll only see public events. # # @example # github = Github.new # github.activity.events.received 'user-name' # github.activity.events.received 'user-name' { |event| ... } # # List all public events that a user has received # # @see https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received # # @example # github = Github.new # github.activity.events.received 'user-name', public: true # github.activity.events.received 'user-name', public: true { |event| ... } # # @api public def received(*args) arguments(args, required: [:user]) params = arguments.params public_events = if params['public'] params.delete('public') '/public' end response = get_request("/users/#{arguments.user}/received_events#{public_events}", params) return response unless block_given? response.each { |el| yield el } end alias_method :user_received, :received alias_method :list_user_received, :received # List all events that a user has performed # # @see https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user # # If you are authenticated as the given user, you will see your private # events. Otherwise, you’ll only see public events. # # @example # github = Github.new # github.activity.events.performed 'user-name' # github.activity.events.performed 'user-name' { |event| ... } # # List all public events that a user has performed # # @see https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user # # @example # github = Github.new # github.activity.events.performed 'user-name', public: true # github.activity.events.performed 'user-name', public: true { |event| ... } # # @api public def performed(*args) arguments(args, required: [:user]) params = arguments.params public_events = if params['public'] params.delete('public') '/public' end response = get_request("/users/#{arguments.user}/events#{public_events}", params) return response unless block_given? response.each { |el| yield el } end alias_method :user_performed, :performed alias_method :list_user_performed, :performed # List all events for an organization # # @see https://developer.github.com/v3/activity/events/#list-events-for-an-organization # # This is the user's organization dashboard. You must be authenticated # as the user to view this. # # @example # github = Github.new # github.activity.events.user_org 'user-name', 'org-name' # github.activity.events.user_org 'user-name', 'org-name' { |event| ... } # # @example # github.activity.events.user_org user: 'user-name', name: 'org-name' # github.activity.events.user_org user: 'user-name', name: 'org-name' {|event| ...} # # @api public def user_org(*args) arguments(args, required: [:user, :name]) response = get_request("/users/#{arguments.user}/events/orgs/#{arguments.name}", arguments.params) return response unless block_given? response.each { |el| yield el } end alias_method :user_organization, :user_org alias_method :list_user_org, :user_org alias_method :list_user_org_events, :user_org alias_method :list_user_organization_events, :user_org end # Client::Activity::Events end # Github