class ActBlueReporter::Campaign
Public Class Methods
new(act_blue_login:, act_blue_password:, act_blue_entity_id: )
click to toggle source
This class models a campaign or committee at ActBlue and provides some basic functionality. ActBlue calls these “entities”.
# File lib/act_blue_reporter/campaign.rb, line 10 def initialize(act_blue_login:, act_blue_password:, act_blue_entity_id: ) @auth = { username: act_blue_login, password: act_blue_password } @act_blue_entity_id = act_blue_entity_id end
Public Instance Methods
all_contributions()
click to toggle source
# File lib/act_blue_reporter/campaign.rb, line 21 def all_contributions request_uri = "/contributions?destination=#{@act_blue_entity_id}" response = make_request(request_uri: request_uri, authentication: @auth) response["contributions"] end
contributions_in_last_24_hrs()
click to toggle source
Mostly for syntax and clarity
# File lib/act_blue_reporter/campaign.rb, line 38 def contributions_in_last_24_hrs contributions_in_time_range() end
contributions_in_time_range(start_time: (Time.now.at_beginning_of_day - 24.hours).iso8601, end_time: Time.now.at_beginning_of_day.iso8601)
click to toggle source
Defaults to the last 24 hours if no arguments are supplied
# File lib/act_blue_reporter/campaign.rb, line 28 def contributions_in_time_range(start_time: (Time.now.at_beginning_of_day - 24.hours).iso8601, end_time: Time.now.at_beginning_of_day.iso8601) request_uri = "/contributions?destination=#{@entity.to_s}&" + "payment_timestamp=#{start_time.to_s}/" + "#{end_time.to_s}" response = make_request(request_uri: request_uri, authentication: @auth) response["contributions"] end
details()
click to toggle source
# File lib/act_blue_reporter/campaign.rb, line 15 def details request_uri = "/entities/#{@act_blue_entity_id}" response = make_request(request_uri: request_uri, authentication: @auth) response["entity"] end