class Google::Apis::CivicinfoV2::CivicInfoService

Google Civic Information API

An API for accessing civic information.

@example

require 'google/apis/civicinfo_v2'

Civicinfo = Google::Apis::CivicinfoV2 # Alias the module
service = Civicinfo::CivicInfoService.new

@see developers.google.com/civic-information

Attributes

key[RW]

@return [String]

API key. Your API key identifies your project and provides you with API access,
quota, and reports. Required unless you provide an OAuth 2.0 token.
quota_user[RW]

@return [String]

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.
user_ip[RW]

@return [String]

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

Public Class Methods

new() click to toggle source
Calls superclass method Google::Apis::Core::BaseService.new
# File generated/google/apis/civicinfo_v2/service.rb, line 51
def initialize
  super('https://www.googleapis.com/', 'civicinfo/v2/')
end

Public Instance Methods

query_election(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

List of available elections to query. @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CivicinfoV2::QueryElectionsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CivicinfoV2::QueryElectionsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/civicinfo_v2/service.rb, line 115
def query_election(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, 'elections', options)
  command.response_representation = Google::Apis::CivicinfoV2::QueryElectionsResponse::Representation
  command.response_class = Google::Apis::CivicinfoV2::QueryElectionsResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
query_voter_info(address, election_id: nil, official_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Looks up information relevant to a voter based on the voter's registered address. @param [String] address

The registered address of the voter to look up.

@param [String] election_id

The unique ID of the election to look up. A list of election IDs can be
obtained at https://www.googleapis.com/civicinfo/`version`/elections

@param [Boolean] official_only

If set to true, only data from official state sources will be returned.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CivicinfoV2::VoterInfoResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CivicinfoV2::VoterInfoResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/civicinfo_v2/service.rb, line 155
def query_voter_info(address, election_id: nil, official_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, 'voterinfo', options)
  command.response_representation = Google::Apis::CivicinfoV2::VoterInfoResponse::Representation
  command.response_class = Google::Apis::CivicinfoV2::VoterInfoResponse
  command.query['address'] = address unless address.nil?
  command.query['electionId'] = election_id unless election_id.nil?
  command.query['officialOnly'] = official_only unless official_only.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
representative_info_by_address(address: nil, include_offices: nil, levels: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Looks up political geography and representative information for a single address. @param [String] address

The address to look up. May only be specified if the field ocdId is not given
in the URL.

@param [Boolean] include_offices

Whether to return information about offices and officials. If false, only the
top-level district information will be returned.

@param [Array<String>, String] levels

A list of office levels to filter by. Only offices that serve at least one of
these levels will be returned. Divisions that don't contain a matching office
will not be returned.

@param [Array<String>, String] roles

A list of office roles to filter by. Only offices fulfilling one of these
roles will be returned. Divisions that don't contain a matching office will
not be returned.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CivicinfoV2::RepresentativeInfoResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CivicinfoV2::RepresentativeInfoResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/civicinfo_v2/service.rb, line 205
def representative_info_by_address(address: nil, include_offices: nil, levels: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, 'representatives', options)
  command.response_representation = Google::Apis::CivicinfoV2::RepresentativeInfoResponse::Representation
  command.response_class = Google::Apis::CivicinfoV2::RepresentativeInfoResponse
  command.query['address'] = address unless address.nil?
  command.query['includeOffices'] = include_offices unless include_offices.nil?
  command.query['levels'] = levels unless levels.nil?
  command.query['roles'] = roles unless roles.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
representative_info_by_division(ocd_id, levels: nil, recursive: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Looks up representative information for a single geographic division. @param [String] ocd_id

The Open Civic Data division identifier of the division to look up.

@param [Array<String>, String] levels

A list of office levels to filter by. Only offices that serve at least one of
these levels will be returned. Divisions that don't contain a matching office
will not be returned.

@param [Boolean] recursive

If true, information about all divisions contained in the division requested
will be included as well. For example, if querying ocd-division/country:us/
district:dc, this would also return all DC's wards and ANCs.

@param [Array<String>, String] roles

A list of office roles to filter by. Only offices fulfilling one of these
roles will be returned. Divisions that don't contain a matching office will
not be returned.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CivicinfoV2::RepresentativeInfoData] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CivicinfoV2::RepresentativeInfoData]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/civicinfo_v2/service.rb, line 255
def representative_info_by_division(ocd_id, levels: nil, recursive: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, 'representatives/{ocdId}', options)
  command.response_representation = Google::Apis::CivicinfoV2::RepresentativeInfoData::Representation
  command.response_class = Google::Apis::CivicinfoV2::RepresentativeInfoData
  command.params['ocdId'] = ocd_id unless ocd_id.nil?
  command.query['levels'] = levels unless levels.nil?
  command.query['recursive'] = recursive unless recursive.nil?
  command.query['roles'] = roles unless roles.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
search_divisions(query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Searches for political divisions by their natural name or OCD ID. @param [String] query

The search query. Queries can cover any parts of a OCD ID or a human readable
division name. All words given in the query are treated as required patterns.
In addition to that, most query operators of the Apache Lucene library are
supported. See http://lucene.apache.org/core/2_9_4/queryparsersyntax.html

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CivicinfoV2::DivisionSearchResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CivicinfoV2::DivisionSearchResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/civicinfo_v2/service.rb, line 82
def search_divisions(query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, 'divisions', options)
  command.response_representation = Google::Apis::CivicinfoV2::DivisionSearchResponse::Representation
  command.response_class = Google::Apis::CivicinfoV2::DivisionSearchResponse
  command.query['query'] = query unless query.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end

Protected Instance Methods

apply_command_defaults(command) click to toggle source
# File generated/google/apis/civicinfo_v2/service.rb, line 271
def apply_command_defaults(command)
  command.query['key'] = key unless key.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
end