Class: ActBlueReporter::Campaign

Inherits:
Connect show all
Defined in:
lib/act_blue_reporter/campaign.rb

Constant Summary

Constants inherited from Connect

ActBlueReporter::Connect::ACTBLUE_URI, ActBlueReporter::Connect::HEADER

Instance Method Summary collapse

Constructor Details

#initialize(act_blue_login, act_blue_password, act_blue_entity_id) ⇒ Campaign

This class models a campaign or committee at ActBlue and provides some basic functionality. ActBlue calls these “entities”.



10
11
12
13
# File 'lib/act_blue_reporter/campaign.rb', line 10

def initialize(, act_blue_password, act_blue_entity_id)
  @auth = { username: , password: act_blue_password }
  @act_blue_entity_id = act_blue_entity_id
end

Instance Method Details

#all_contributionsObject



21
22
23
24
25
# 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, @auth)
  response["contributions"]
end

#contributions_in_last_24_hrsObject



35
36
37
38
39
# File 'lib/act_blue_reporter/campaign.rb', line 35

def contributions_in_last_24_hrs
  start_time = (Time.now.at_beginning_of_day - 24.hours).iso8601
  end_time = Time.now.at_beginning_of_day.iso8601
  contributions_in_time_range(start_time, end_time)
end

#contributions_in_time_range(start_time, end_time) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/act_blue_reporter/campaign.rb', line 27

def contributions_in_time_range(start_time, end_time)
  request_uri = "/contributions?destination=#{@entity.to_s}&" +
                "payment_timestamp=#{start_time.to_s}/" +
                "#{end_time.to_s}"
  response = make_request(request_uri, @auth)
  response["contributions"]
end

#detailsObject



15
16
17
18
19
# File 'lib/act_blue_reporter/campaign.rb', line 15

def details
  request_uri = "/entities/#{@act_blue_entity_id}"
  response = make_request(request_uri, @auth)
  response["entity"]
end