class Github::Search

def email(*args)


github.search.email email: 'wycats'
github = Github.new
= Examples

:keyword - search term
= Parameters

guarantee that full email searches will always be available.
This API call is added for compatibility reasons only. There’s no

Search email
def email(*args)
  params = args.extract_options!
  normalize! params
  assert_required_keys %w[ email ], params
  get_request("/legacy/user/email/#{params.delete('email')}", params)
end

def initialize(options = {})

Creates new Search API
def initialize(options = {})
  super(options)
end

def issues(*args)


github.search.issues owner: 'owner', repo: 'repo-name', state: 'open', keyword: 'api'
github = Github.new
= Examples

:keyword - search term
:state - open or closed.
= Parameters

Find issues by state and keyword.

Search issues
def issues(*args)
  params = args.extract_options!
  normalize! params
  required = ['owner', 'repo', 'state', 'keyword']
  assert_required_keys required, params
  options = required.inject({}) do |hash, key|
    hash[key] = params.delete(key)
    hash
  end
  get_request("/legacy/issues/search/#{options['owner']}/#{options['repo']}/#{options['state']}/#{escape(options['keyword'])}", params)
end

def repos(*args)


github.search.repos keyword: 'api'
github = Github.new
= Examples

:keyword - search term
= Parameters

Find repositories by keyword.

Search repositories
def repos(*args)
  params = args.extract_options!
  normalize! params
  assert_required_keys %w[ keyword ], params
  get_request("/legacy/repos/search/#{escape(params.delete('keyword'))}", params)
end

def users(*args)


github.search.users keyword: 'wycats'
github = Github.new
= Examples

:keyword - search term
= Parameters

Find users by keyword.

Search users
def users(*args)
  params = args.extract_options!
  normalize! params
  assert_required_keys %w[ keyword ], params
  get_request("/legacy/user/search/#{escape(params.delete('keyword'))}", params)
end