Class: ActionNetworkRest::Petitions
- Defined in:
- lib/action_network_rest/petitions.rb
Instance Attribute Summary collapse
-
#petition_id ⇒ Object
Returns the value of attribute petition_id.
Instance Method Summary collapse
- #base_path ⇒ Object
- #create(petition_data, creator_person_id: nil) ⇒ Object
-
#initialize(petition_id = nil, client:) ⇒ Petitions
constructor
Without a petition_id, this class is used for Petition creation/update endpoints.
- #signatures ⇒ Object
- #update(id, petition_data) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(petition_id = nil, client:) ⇒ Petitions
Without a petition_id, this class is used for Petition creation/update endpoints. With a petition_id, this class is used to initialise the Signatures class, like client.petitions(123).signatures
10 11 12 |
# File 'lib/action_network_rest/petitions.rb', line 10 def initialize(petition_id = nil, client:) super(client: client, petition_id: petition_id) end |
Instance Attribute Details
#petition_id ⇒ Object
Returns the value of attribute petition_id.
5 6 7 |
# File 'lib/action_network_rest/petitions.rb', line 5 def petition_id @petition_id end |
Instance Method Details
#base_path ⇒ Object
18 19 20 |
# File 'lib/action_network_rest/petitions.rb', line 18 def base_path 'petitions/' end |
#create(petition_data, creator_person_id: nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/action_network_rest/petitions.rb', line 22 def create(petition_data, creator_person_id: nil) post_body = petition_data if creator_person_id.present? creator_person_url = action_network_url("/people/#{url_escape(creator_person_id)}") post_body['_links'] = { 'osdi:creator' => { href: creator_person_url } } end response = client.post_request base_path, post_body object_from_response(response) end |
#signatures ⇒ Object
14 15 16 |
# File 'lib/action_network_rest/petitions.rb', line 14 def signatures @_signatures ||= ActionNetworkRest::Signatures.new(client: client, petition_id: petition_id) end |
#update(id, petition_data) ⇒ Object
33 34 35 36 37 |
# File 'lib/action_network_rest/petitions.rb', line 33 def update(id, petition_data) petition_path = "#{base_path}#{url_escape(id)}" response = client.put_request petition_path, petition_data object_from_response(response) end |