Skip to content

liquidvotingio/api-client

Repository files navigation

liquidvoting.io ruby-client

Actions Status

Ruby GraphQL client for liquidvoting.io

# Demo auth key for live api. Demo data gets wiped out from time to time
ENV['LIQUID_VOTING_API_AUTH_KEY'] = '62309201-d2f0-407f-875b-9f836f94f2ca'
ENV['LIQUID_VOTING_API_URL'] = 'https://api.liquidvoting.io'

require_relative 'liquid_voting_api'

alice_email = "alice@email.com"
bob_email = "bob@email.com"
proposal_url = "https://my.decidim.com/proposal"

LiquidVotingApi::Client.create_delegation(
  proposal_url: proposal_url,
  delegate_email: alice_email,
  delegator_email: bob_email
)
=> true

LiquidVotingApi::Client.create_vote(
  yes: true,
  proposal_url: proposal_url,
  voter_email: alice_email
)
=> vote
vote.yes => true
vote.weight => 2
vote.participant.email => "alice@email.com"
vote.voting_result.in_favor => 2
vote.voting_result.against => 0

LiquidVotingApi::Client.delete_vote(
  proposal_url: proposal_url,
  voter_email: alice_email
)
=> deleted_vote
deleted_vote.participant.email => "alice@email.com"
deleted_vote.voting_result.in_favor => 0
deleted_vote.voting_result.against => 0

LiquidVotingApi::Client.delete_delegation(
  proposal_url: proposal_url,
  delegate_email: alice_email,
  delegator_email: bob_email
)
=> deleted_delegation
deleted_delegation.voting_result.in_favor => 0
deleted_delegation.voting_result.against => 0

About

Ruby GraphQL client for liquidvoting.io

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages