427 lines
18 KiB
Ruby
427 lines
18 KiB
Ruby
# Copyright 2020 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
require 'date'
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module CivicinfoV2
|
|
|
|
class AdministrationRegion
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class AdministrativeBody
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Candidate
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Channel
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Contest
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class SearchDivisionResponse
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class DivisionSearchResult
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Election
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class ElectionOfficial
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class QueryElectionsResponse
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class ElectoralDistrict
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class GeographicDivision
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Office
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Official
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class PollingLocation
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class RepresentativeInfoData
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class RepresentativeInfoResponse
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class SimpleAddressType
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class Source
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class VoterInfoResponse
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class AdministrationRegion
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :election_administration_body, as: 'electionAdministrationBody', class: Google::Apis::CivicinfoV2::AdministrativeBody, decorator: Google::Apis::CivicinfoV2::AdministrativeBody::Representation
|
|
|
|
property :local_jurisdiction, as: 'local_jurisdiction', class: Google::Apis::CivicinfoV2::AdministrationRegion, decorator: Google::Apis::CivicinfoV2::AdministrationRegion::Representation
|
|
|
|
property :name, as: 'name'
|
|
collection :sources, as: 'sources', class: Google::Apis::CivicinfoV2::Source, decorator: Google::Apis::CivicinfoV2::Source::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class AdministrativeBody
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :absentee_voting_info_url, as: 'absenteeVotingInfoUrl'
|
|
property :ballot_info_url, as: 'ballotInfoUrl'
|
|
property :correspondence_address, as: 'correspondenceAddress', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
property :election_info_url, as: 'electionInfoUrl'
|
|
property :election_notice_text, as: 'electionNoticeText'
|
|
property :election_notice_url, as: 'electionNoticeUrl'
|
|
collection :election_officials, as: 'electionOfficials', class: Google::Apis::CivicinfoV2::ElectionOfficial, decorator: Google::Apis::CivicinfoV2::ElectionOfficial::Representation
|
|
|
|
property :election_registration_confirmation_url, as: 'electionRegistrationConfirmationUrl'
|
|
property :election_registration_url, as: 'electionRegistrationUrl'
|
|
property :election_rules_url, as: 'electionRulesUrl'
|
|
property :hours_of_operation, as: 'hoursOfOperation'
|
|
property :name, as: 'name'
|
|
property :physical_address, as: 'physicalAddress', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
collection :voter_services, as: 'voter_services'
|
|
property :voting_location_finder_url, as: 'votingLocationFinderUrl'
|
|
end
|
|
end
|
|
|
|
class Candidate
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :candidate_url, as: 'candidateUrl'
|
|
collection :channels, as: 'channels', class: Google::Apis::CivicinfoV2::Channel, decorator: Google::Apis::CivicinfoV2::Channel::Representation
|
|
|
|
property :email, as: 'email'
|
|
property :name, as: 'name'
|
|
property :order_on_ballot, :numeric_string => true, as: 'orderOnBallot'
|
|
property :party, as: 'party'
|
|
property :phone, as: 'phone'
|
|
property :photo_url, as: 'photoUrl'
|
|
end
|
|
end
|
|
|
|
class Channel
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :id, as: 'id'
|
|
property :type, as: 'type'
|
|
end
|
|
end
|
|
|
|
class Contest
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :ballot_placement, :numeric_string => true, as: 'ballotPlacement'
|
|
property :ballot_title, as: 'ballotTitle'
|
|
collection :candidates, as: 'candidates', class: Google::Apis::CivicinfoV2::Candidate, decorator: Google::Apis::CivicinfoV2::Candidate::Representation
|
|
|
|
property :district, as: 'district', class: Google::Apis::CivicinfoV2::ElectoralDistrict, decorator: Google::Apis::CivicinfoV2::ElectoralDistrict::Representation
|
|
|
|
property :electorate_specifications, as: 'electorateSpecifications'
|
|
collection :level, as: 'level'
|
|
property :number_elected, :numeric_string => true, as: 'numberElected'
|
|
property :number_voting_for, :numeric_string => true, as: 'numberVotingFor'
|
|
property :office, as: 'office'
|
|
collection :primary_parties, as: 'primaryParties'
|
|
property :primary_party, as: 'primaryParty'
|
|
collection :referendum_ballot_responses, as: 'referendumBallotResponses'
|
|
property :referendum_brief, as: 'referendumBrief'
|
|
property :referendum_con_statement, as: 'referendumConStatement'
|
|
property :referendum_effect_of_abstain, as: 'referendumEffectOfAbstain'
|
|
property :referendum_passage_threshold, as: 'referendumPassageThreshold'
|
|
property :referendum_pro_statement, as: 'referendumProStatement'
|
|
property :referendum_subtitle, as: 'referendumSubtitle'
|
|
property :referendum_text, as: 'referendumText'
|
|
property :referendum_title, as: 'referendumTitle'
|
|
property :referendum_url, as: 'referendumUrl'
|
|
collection :roles, as: 'roles'
|
|
collection :sources, as: 'sources', class: Google::Apis::CivicinfoV2::Source, decorator: Google::Apis::CivicinfoV2::Source::Representation
|
|
|
|
property :special, as: 'special'
|
|
property :type, as: 'type'
|
|
end
|
|
end
|
|
|
|
class SearchDivisionResponse
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :kind, as: 'kind'
|
|
collection :results, as: 'results', class: Google::Apis::CivicinfoV2::DivisionSearchResult, decorator: Google::Apis::CivicinfoV2::DivisionSearchResult::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class DivisionSearchResult
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :aliases, as: 'aliases'
|
|
property :name, as: 'name'
|
|
property :ocd_id, as: 'ocdId'
|
|
end
|
|
end
|
|
|
|
class Election
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :election_day, as: 'electionDay'
|
|
property :id, :numeric_string => true, as: 'id'
|
|
property :name, as: 'name'
|
|
property :ocd_division_id, as: 'ocdDivisionId'
|
|
end
|
|
end
|
|
|
|
class ElectionOfficial
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :email_address, as: 'emailAddress'
|
|
property :fax_number, as: 'faxNumber'
|
|
property :name, as: 'name'
|
|
property :office_phone_number, as: 'officePhoneNumber'
|
|
property :title, as: 'title'
|
|
end
|
|
end
|
|
|
|
class QueryElectionsResponse
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :elections, as: 'elections', class: Google::Apis::CivicinfoV2::Election, decorator: Google::Apis::CivicinfoV2::Election::Representation
|
|
|
|
property :kind, as: 'kind'
|
|
end
|
|
end
|
|
|
|
class ElectoralDistrict
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :id, as: 'id'
|
|
property :name, as: 'name'
|
|
property :scope, as: 'scope'
|
|
end
|
|
end
|
|
|
|
class GeographicDivision
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :also_known_as, as: 'alsoKnownAs'
|
|
property :name, as: 'name'
|
|
collection :office_indices, as: 'officeIndices'
|
|
end
|
|
end
|
|
|
|
class Office
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :division_id, as: 'divisionId'
|
|
collection :levels, as: 'levels'
|
|
property :name, as: 'name'
|
|
collection :official_indices, as: 'officialIndices'
|
|
collection :roles, as: 'roles'
|
|
collection :sources, as: 'sources', class: Google::Apis::CivicinfoV2::Source, decorator: Google::Apis::CivicinfoV2::Source::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class Official
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :address, as: 'address', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
collection :channels, as: 'channels', class: Google::Apis::CivicinfoV2::Channel, decorator: Google::Apis::CivicinfoV2::Channel::Representation
|
|
|
|
collection :emails, as: 'emails'
|
|
property :name, as: 'name'
|
|
property :party, as: 'party'
|
|
collection :phones, as: 'phones'
|
|
property :photo_url, as: 'photoUrl'
|
|
collection :urls, as: 'urls'
|
|
end
|
|
end
|
|
|
|
class PollingLocation
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :address, as: 'address', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
property :end_date, as: 'endDate'
|
|
property :latitude, as: 'latitude'
|
|
property :longitude, as: 'longitude'
|
|
property :name, as: 'name'
|
|
property :notes, as: 'notes'
|
|
property :polling_hours, as: 'pollingHours'
|
|
collection :sources, as: 'sources', class: Google::Apis::CivicinfoV2::Source, decorator: Google::Apis::CivicinfoV2::Source::Representation
|
|
|
|
property :start_date, as: 'startDate'
|
|
property :voter_services, as: 'voterServices'
|
|
end
|
|
end
|
|
|
|
class RepresentativeInfoData
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
hash :divisions, as: 'divisions', class: Google::Apis::CivicinfoV2::GeographicDivision, decorator: Google::Apis::CivicinfoV2::GeographicDivision::Representation
|
|
|
|
collection :offices, as: 'offices', class: Google::Apis::CivicinfoV2::Office, decorator: Google::Apis::CivicinfoV2::Office::Representation
|
|
|
|
collection :officials, as: 'officials', class: Google::Apis::CivicinfoV2::Official, decorator: Google::Apis::CivicinfoV2::Official::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class RepresentativeInfoResponse
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
hash :divisions, as: 'divisions', class: Google::Apis::CivicinfoV2::GeographicDivision, decorator: Google::Apis::CivicinfoV2::GeographicDivision::Representation
|
|
|
|
property :kind, as: 'kind'
|
|
property :normalized_input, as: 'normalizedInput', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
collection :offices, as: 'offices', class: Google::Apis::CivicinfoV2::Office, decorator: Google::Apis::CivicinfoV2::Office::Representation
|
|
|
|
collection :officials, as: 'officials', class: Google::Apis::CivicinfoV2::Official, decorator: Google::Apis::CivicinfoV2::Official::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class SimpleAddressType
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :city, as: 'city'
|
|
property :line1, as: 'line1'
|
|
property :line2, as: 'line2'
|
|
property :line3, as: 'line3'
|
|
property :location_name, as: 'locationName'
|
|
property :state, as: 'state'
|
|
property :zip, as: 'zip'
|
|
end
|
|
end
|
|
|
|
class Source
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :name, as: 'name'
|
|
property :official, as: 'official'
|
|
end
|
|
end
|
|
|
|
class VoterInfoResponse
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :contests, as: 'contests', class: Google::Apis::CivicinfoV2::Contest, decorator: Google::Apis::CivicinfoV2::Contest::Representation
|
|
|
|
collection :drop_off_locations, as: 'dropOffLocations', class: Google::Apis::CivicinfoV2::PollingLocation, decorator: Google::Apis::CivicinfoV2::PollingLocation::Representation
|
|
|
|
collection :early_vote_sites, as: 'earlyVoteSites', class: Google::Apis::CivicinfoV2::PollingLocation, decorator: Google::Apis::CivicinfoV2::PollingLocation::Representation
|
|
|
|
property :election, as: 'election', class: Google::Apis::CivicinfoV2::Election, decorator: Google::Apis::CivicinfoV2::Election::Representation
|
|
|
|
property :kind, as: 'kind'
|
|
property :mail_only, as: 'mailOnly'
|
|
property :normalized_input, as: 'normalizedInput', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
|
|
|
|
collection :other_elections, as: 'otherElections', class: Google::Apis::CivicinfoV2::Election, decorator: Google::Apis::CivicinfoV2::Election::Representation
|
|
|
|
collection :polling_locations, as: 'pollingLocations', class: Google::Apis::CivicinfoV2::PollingLocation, decorator: Google::Apis::CivicinfoV2::PollingLocation::Representation
|
|
|
|
property :precinct_id, as: 'precinctId'
|
|
collection :state, as: 'state', class: Google::Apis::CivicinfoV2::AdministrationRegion, decorator: Google::Apis::CivicinfoV2::AdministrationRegion::Representation
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|