ngp_van 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +1 -0
  4. data/README.md +117 -0
  5. data/lib/ngp_van.rb +47 -0
  6. data/lib/ngp_van/client.rb +41 -0
  7. data/lib/ngp_van/client/activist_codes.rb +15 -0
  8. data/lib/ngp_van/client/canvass_responses.rb +19 -0
  9. data/lib/ngp_van/client/codes.rb +31 -0
  10. data/lib/ngp_van/client/district_fields.rb +15 -0
  11. data/lib/ngp_van/client/event_types.rb +15 -0
  12. data/lib/ngp_van/client/events.rb +31 -0
  13. data/lib/ngp_van/client/locations.rb +27 -0
  14. data/lib/ngp_van/client/minivan_exports.rb +15 -0
  15. data/lib/ngp_van/client/notes.rb +19 -0
  16. data/lib/ngp_van/client/people.rb +31 -0
  17. data/lib/ngp_van/client/printed_lists.rb +15 -0
  18. data/lib/ngp_van/client/signups.rb +31 -0
  19. data/lib/ngp_van/client/survey_questions.rb +15 -0
  20. data/lib/ngp_van/client/users.rb +19 -0
  21. data/lib/ngp_van/configuration.rb +74 -0
  22. data/lib/ngp_van/connection.rb +32 -0
  23. data/lib/ngp_van/default.rb +41 -0
  24. data/lib/ngp_van/error.rb +124 -0
  25. data/lib/ngp_van/request.rb +39 -0
  26. data/lib/ngp_van/response.rb +15 -0
  27. data/lib/ngp_van/response/raise_error.rb +17 -0
  28. data/lib/ngp_van/version.rb +19 -0
  29. data/spec/ngp_van/client/activist_codes_spec.rb +88 -0
  30. data/spec/ngp_van/client/canvass_responses_spec.rb +126 -0
  31. data/spec/ngp_van/client/codes_spec.rb +197 -0
  32. data/spec/ngp_van/client/district_fields_spec.rb +79 -0
  33. data/spec/ngp_van/client/event_types_spec.rb +69 -0
  34. data/spec/ngp_van/client/events_spec.rb +205 -0
  35. data/spec/ngp_van/client/locations_spec.rb +172 -0
  36. data/spec/ngp_van/client/minivan_exports_spec.rb +82 -0
  37. data/spec/ngp_van/client/notes_spec.rb +107 -0
  38. data/spec/ngp_van/client/people_spec.rb +227 -0
  39. data/spec/ngp_van/client/printed_lists_spec.rb +91 -0
  40. data/spec/ngp_van/client/signups_spec.rb +209 -0
  41. data/spec/ngp_van/client/survey_questions_spec.rb +83 -0
  42. data/spec/ngp_van/client/users_spec.rb +122 -0
  43. data/spec/ngp_van/configuration_spec.rb +116 -0
  44. data/spec/ngp_van/request_spec.rb +137 -0
  45. data/spec/ngp_van_spec.rb +29 -0
  46. data/spec/spec_helper.rb +11 -0
  47. data/spec/support/fixtures/activist_code.json +10 -0
  48. data/spec/support/fixtures/activist_codes.json +36 -0
  49. data/spec/support/fixtures/canvass_response.json +25 -0
  50. data/spec/support/fixtures/canvass_responses_contact_types.json +10 -0
  51. data/spec/support/fixtures/canvass_responses_input_types.json +26 -0
  52. data/spec/support/fixtures/canvass_responses_result_codes.json +26 -0
  53. data/spec/support/fixtures/code.json +18 -0
  54. data/spec/support/fixtures/code_supported_entities.json +5 -0
  55. data/spec/support/fixtures/codes.json +55 -0
  56. data/spec/support/fixtures/create_code.json +16 -0
  57. data/spec/support/fixtures/create_event.json +62 -0
  58. data/spec/support/fixtures/create_event_shift.json +5 -0
  59. data/spec/support/fixtures/create_location.json +9 -0
  60. data/spec/support/fixtures/create_signup.json +32 -0
  61. data/spec/support/fixtures/create_user_district_field_values.json +7 -0
  62. data/spec/support/fixtures/district_field.json +28 -0
  63. data/spec/support/fixtures/district_fields.json +22 -0
  64. data/spec/support/fixtures/event.json +139 -0
  65. data/spec/support/fixtures/event_type.json +75 -0
  66. data/spec/support/fixtures/event_types.json +77 -0
  67. data/spec/support/fixtures/events.json +86 -0
  68. data/spec/support/fixtures/location.json +19 -0
  69. data/spec/support/fixtures/locations.json +25 -0
  70. data/spec/support/fixtures/match_candidate.json +61 -0
  71. data/spec/support/fixtures/match_response.json +4 -0
  72. data/spec/support/fixtures/minivan_export.json +66 -0
  73. data/spec/support/fixtures/minivan_exports.json +72 -0
  74. data/spec/support/fixtures/note_categories.json +17 -0
  75. data/spec/support/fixtures/note_category.json +8 -0
  76. data/spec/support/fixtures/note_category_types.json +6 -0
  77. data/spec/support/fixtures/person.json +61 -0
  78. data/spec/support/fixtures/printed_list.json +52 -0
  79. data/spec/support/fixtures/printed_lists.json +58 -0
  80. data/spec/support/fixtures/signup.json +55 -0
  81. data/spec/support/fixtures/signup_statuses.json +26 -0
  82. data/spec/support/fixtures/signups.json +112 -0
  83. data/spec/support/fixtures/survey_question.json +36 -0
  84. data/spec/support/fixtures/survey_questions.json +85 -0
  85. data/spec/support/fixtures/update_code.json +22 -0
  86. data/spec/support/fixtures/update_event.json +61 -0
  87. data/spec/support/fixtures/update_signup.json +35 -0
  88. data/spec/support/fixtures/update_user_district_field_values.json +6 -0
  89. data/spec/support/fixtures/user_district_field_values.json +7 -0
  90. data/spec/support/path_helpers.rb +9 -0
  91. data/spec/support/rspec.rb +51 -0
  92. data/spec/support/url_helpers.rb +5 -0
  93. data/spec/support/webmock.rb +5 -0
  94. metadata +269 -0
  95. metadata.gz.sig +0 -0
@@ -0,0 +1,4 @@
1
+ {
2
+ "vanId": 1264324,
3
+ "status": "UnmatchedStored"
4
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "minivanExportId": 2133,
3
+ "name": "My List 10/9/15 4:23 PM",
4
+ "databaseMode": 0,
5
+ "dateCreated": "2015-10-09T16:23:53.41Z",
6
+ "createdBy": {
7
+ "userId": 111222,
8
+ "firstName": "Frances",
9
+ "lastName": "Perkins"
10
+ },
11
+ "canvassers": [
12
+ {
13
+ "canvassserId": 111223,
14
+ "firstName": "Eleanor",
15
+ "lastName": "Roosevelt"
16
+ }
17
+ ],
18
+ "eventSignups": [
19
+ {
20
+ "eventSignupId": 9333,
21
+ "person": {
22
+ "vanId": 100116333
23
+ },
24
+ "event": {
25
+ "eventId": 70333
26
+ },
27
+ "shift": {
28
+ "eventShiftId": 134333
29
+ },
30
+ "role": {
31
+ "roleId": 333
32
+ },
33
+ "status": {
34
+ "statusId": 4
35
+ },
36
+ "location": {
37
+ "locationId": 5333
38
+ },
39
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
40
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
41
+ },
42
+ {
43
+ "eventSignupId": 9444,
44
+ "person": {
45
+ "vanId": 100116444
46
+ },
47
+ "event": {
48
+ "eventId": 70444
49
+ },
50
+ "shift": {
51
+ "eventShiftId": 134444
52
+ },
53
+ "role": {
54
+ "roleId": 444
55
+ },
56
+ "status": {
57
+ "statusId": 4
58
+ },
59
+ "location": {
60
+ "locationId": 5444
61
+ },
62
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
63
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "minivanExportId": 2133,
5
+ "name": "My List 10/9/15 4:23 PM",
6
+ "databaseMode": 0,
7
+ "dateCreated": "2015-10-09T16:23:53.41Z",
8
+ "createdBy": {
9
+ "userId": 111222,
10
+ "firstName": "Frances",
11
+ "lastName": "Perkins"
12
+ },
13
+ "canvassers": [
14
+ {
15
+ "canvassserId": 111223,
16
+ "firstName": "Eleanor",
17
+ "lastName": "Roosevelt"
18
+ }
19
+ ],
20
+ "eventSignups": [
21
+ {
22
+ "eventSignupId": 9333,
23
+ "person": {
24
+ "vanId": 100116333
25
+ },
26
+ "event": {
27
+ "eventId": 70333
28
+ },
29
+ "shift": {
30
+ "eventShiftId": 134333
31
+ },
32
+ "role": {
33
+ "roleId": 333
34
+ },
35
+ "status": {
36
+ "statusId": 4
37
+ },
38
+ "location": {
39
+ "locationId": 5333
40
+ },
41
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
42
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
43
+ },
44
+ {
45
+ "eventSignupId": 9444,
46
+ "person": {
47
+ "vanId": 100116444
48
+ },
49
+ "event": {
50
+ "eventId": 70444
51
+ },
52
+ "shift": {
53
+ "eventShiftId": 134444
54
+ },
55
+ "role": {
56
+ "roleId": 444
57
+ },
58
+ "status": {
59
+ "statusId": 4
60
+ },
61
+ "location": {
62
+ "locationId": 5444
63
+ },
64
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
65
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
66
+ }
67
+ ]
68
+ }
69
+ ],
70
+ "nextPageLink": "https://api.securevan.com:443/v4/events?startingAfter=2015-05-31&$expand=shifts&$top=2&$skip=2",
71
+ "count": 5
72
+ }
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "assignableTypes": [
4
+ "Event"
5
+ ],
6
+ "noteCategoryId": 24,
7
+ "name": "Event Details"
8
+ },
9
+ {
10
+ "assignableTypes": [
11
+ "Event",
12
+ "Organization"
13
+ ],
14
+ "noteCategoryId": 23,
15
+ "name": "Venue Directions"
16
+ }
17
+ ]
@@ -0,0 +1,8 @@
1
+ {
2
+ "assignableTypes": [
3
+ "Event",
4
+ "Organization"
5
+ ],
6
+ "noteCategoryId": 24,
7
+ "name": "Venue Directions"
8
+ }
@@ -0,0 +1,6 @@
1
+ [
2
+ "Person",
3
+ "Organization",
4
+ "Event",
5
+ "Location"
6
+ ]
@@ -0,0 +1,61 @@
1
+ {
2
+ "vanId": 215501,
3
+ "firstName": "James",
4
+ "lastName": "Gordon",
5
+ "middleName": null,
6
+ "emails": [
7
+ {
8
+ "type": null,
9
+ "email": "jim@gotham.city.us",
10
+ "dateCreated": "2004-10-31T14:35:00Z",
11
+ "isPreferred": true
12
+ }
13
+ ],
14
+ "phones": [
15
+ {
16
+ "phoneNumber": "6175555920",
17
+ "ext": "5125",
18
+ "dateCreated": "2013-10-25T12:23:00Z",
19
+ "phoneType": "Work",
20
+ "isPreferred": false
21
+ },
22
+ {
23
+ "phoneNumber": "7815550256",
24
+ "ext": null,
25
+ "dateCreated": "2013-10-25T12:23:00Z",
26
+ "phoneType": "Cell",
27
+ "isPreferred": true
28
+ }
29
+ ],
30
+ "addresses": [
31
+ {
32
+ "addressId": null,
33
+ "addressLine1": "3001 Tradewinds Trl",
34
+ "addressLine2": null,
35
+ "addressLine3": null,
36
+ "city": "Orlando",
37
+ "stateOrProvince": "FL",
38
+ "zipOrPostalCode": "32805",
39
+ "geoLocation": null,
40
+ "countryCode": null,
41
+ "preview": "3001 Tradewinds Trl",
42
+ "type": "Voting",
43
+ "isPreferred": null
44
+ },
45
+ {
46
+ "addressId": null,
47
+ "addressLine1": "320 College Ave",
48
+ "addressLine2": null,
49
+ "addressLine3": null,
50
+ "city": "Somerville",
51
+ "stateOrProvince": "MA",
52
+ "zipOrPostalCode": "02145",
53
+ "geoLocation": null,
54
+ "countryCode": null,
55
+ "preview": "320 College Ave ",
56
+ "type": "Mailing",
57
+ "isPreferred": null
58
+ }
59
+ ],
60
+ "identifiers": null
61
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "number": "15981815-49117",
3
+ "name": "Test Turf 01",
4
+ "eventSignups": [
5
+ {
6
+ "eventSignupId": 9333,
7
+ "person": {
8
+ "vanId": 100116333
9
+ },
10
+ "event": {
11
+ "eventId": 70333
12
+ },
13
+ "shift": {
14
+ "eventShiftId": 134333
15
+ },
16
+ "role": {
17
+ "roleId": 333
18
+ },
19
+ "status": {
20
+ "statusId": 4
21
+ },
22
+ "location": {
23
+ "locationId": 5333
24
+ },
25
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
26
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
27
+ },
28
+ {
29
+ "eventSignupId": 9444,
30
+ "person": {
31
+ "vanId": 100116444
32
+ },
33
+ "event": {
34
+ "eventId": 70444
35
+ },
36
+ "shift": {
37
+ "eventShiftId": 134444
38
+ },
39
+ "role": {
40
+ "roleId": 444
41
+ },
42
+ "status": {
43
+ "statusId": 4
44
+ },
45
+ "location": {
46
+ "locationId": 5444
47
+ },
48
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
49
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "number": "15981815-49117",
5
+ "name": "Test Turf 01",
6
+ "eventSignups": [
7
+ {
8
+ "eventSignupId": 9333,
9
+ "person": {
10
+ "vanId": 100116333
11
+ },
12
+ "event": {
13
+ "eventId": 70333
14
+ },
15
+ "shift": {
16
+ "eventShiftId": 134333
17
+ },
18
+ "role": {
19
+ "roleId": 333
20
+ },
21
+ "status": {
22
+ "statusId": 4
23
+ },
24
+ "location": {
25
+ "locationId": 5333
26
+ },
27
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
28
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
29
+ },
30
+ {
31
+ "eventSignupId": 9444,
32
+ "person": {
33
+ "vanId": 100116444
34
+ },
35
+ "event": {
36
+ "eventId": 70444
37
+ },
38
+ "shift": {
39
+ "eventShiftId": 134444
40
+ },
41
+ "role": {
42
+ "roleId": 444
43
+ },
44
+ "status": {
45
+ "statusId": 4
46
+ },
47
+ "location": {
48
+ "locationId": 5444
49
+ },
50
+ "startTimeOverride": "2015-09-08T14:00:00-04:00",
51
+ "endTimeOverride": "2015-09-08T19:30:00-04:00"
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "nextPageLink": "https://api.securevan.com:443/v4/codes?parentCodeId=20513&$expand=supportedEntities&$top=3&$skip=3",
57
+ "count": 5
58
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "eventSignupId": 2452,
3
+ "person": {
4
+ "vanId": 100476252,
5
+ "firstName": "James",
6
+ "middleName": "Worthington",
7
+ "lastName": "Gordon"
8
+ },
9
+ "event": {
10
+ "eventId": 1370,
11
+ "name": "Neighbors Calling Neighbors",
12
+ "shortName": "NeighborCall"
13
+ },
14
+ "shift": {
15
+ "eventShiftId": 2162,
16
+ "name": null
17
+ },
18
+ "role": {
19
+ "roleId": 111687,
20
+ "name": "Host"
21
+ },
22
+ "status": {
23
+ "statusId": 4,
24
+ "name": "Invited"
25
+ },
26
+ "location": {
27
+ "locationId": 272,
28
+ "name": "Campaign HQ",
29
+ "displayName": "Campaign HQ, 48 Grove St Somerville, MA 02144-2500"
30
+ },
31
+ "startTimeOverride": "2015-06-01T15:00:00-04:00",
32
+ "endTimeOverride": "2015-06-01T16:00:00-04:00",
33
+ "printedLists": [
34
+ {
35
+ "number": "15981815-49117",
36
+ "name": "Test Turf 01"
37
+ },
38
+ {
39
+ "number": "15982500-51399",
40
+ "name": "Test Turf 02"
41
+ }
42
+ ],
43
+ "minivanExports": [
44
+ {
45
+ "minivanExportId": 2186,
46
+ "name": "My List 10/9/15 4:23 PM",
47
+ "databaseMode": 0
48
+ },
49
+ {
50
+ "minivanExportId": 2187,
51
+ "name": "My List 10/9/15 4:34 PM",
52
+ "databaseMode": 1
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,26 @@
1
+ [
2
+ {
3
+ "statusId": 2,
4
+ "name": "Completed"
5
+ },
6
+ {
7
+ "statusId": 11,
8
+ "name": "Confirmed"
9
+ },
10
+ {
11
+ "statusId": 3,
12
+ "name": "Declined"
13
+ },
14
+ {
15
+ "statusId": 4,
16
+ "name": "Invited"
17
+ },
18
+ {
19
+ "statusId": 1,
20
+ "name": "Scheduled"
21
+ },
22
+ {
23
+ "statusId": 15,
24
+ "name": "Walk In"
25
+ }
26
+ ]
@@ -0,0 +1,112 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "eventSignupId": 2452,
5
+ "person": {
6
+ "vanId": 100476252,
7
+ "firstName": "James",
8
+ "middleName": "Worthington",
9
+ "lastName": "Gordon"
10
+ },
11
+ "event": {
12
+ "eventId": 1370,
13
+ "name": "Neighbors Calling Neighbors",
14
+ "shortName": "NeighborCall"
15
+ },
16
+ "shift": {
17
+ "eventShiftId": 2162,
18
+ "name": null
19
+ },
20
+ "role": {
21
+ "roleId": 111687,
22
+ "name": "Host"
23
+ },
24
+ "status": {
25
+ "statusId": 4,
26
+ "name": "Invited"
27
+ },
28
+ "location": {
29
+ "locationId": 272,
30
+ "name": "Campaign HQ",
31
+ "displayName": "Campaign HQ, 48 Grove St Somerville, MA 02144-2500 "
32
+ },
33
+ "startTimeOverride": "2015-06-01T15:00:00-04:00",
34
+ "endTimeOverride": "2015-06-01T16:00:00-04:00",
35
+ "printedLists": [
36
+ {
37
+ "number": "15981815-49117",
38
+ "name": "Test Turf 01"
39
+ },
40
+ {
41
+ "number": "15982500-51399",
42
+ "name": "Test Turf 02"
43
+ }
44
+ ],
45
+ "minivanExports": [
46
+ {
47
+ "minivanExportId": 2186,
48
+ "name": "My List 10/9/15 4:23 PM",
49
+ "databaseMode": 0
50
+ },
51
+ {
52
+ "minivanExportId": 2187,
53
+ "name": "My List 10/9/15 4:34 PM",
54
+ "databaseMode": 1
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "eventSignupId": 2453,
60
+ "person": {
61
+ "vanId": 100476252,
62
+ "firstName": "James",
63
+ "middleName": "Worthington",
64
+ "lastName": "Gordon"
65
+ },
66
+ "event": {
67
+ "eventId": 1373,
68
+ "name": "Neighbors Calling Neighbors",
69
+ "shortName": "NeighborCall"
70
+ },
71
+ "shift": {
72
+ "eventShiftId": 2172,
73
+ "name": null
74
+ },
75
+ "role": {
76
+ "roleId": 111689,
77
+ "name": "Phone Banker"
78
+ },
79
+ "status": {
80
+ "statusId": 1,
81
+ "name": "Scheduled"
82
+ },
83
+ "location": null,
84
+ "startTimeOverride": "2015-06-01T16:00:00-04:00",
85
+ "endTimeOverride": "2015-06-01T18:00:00-04:00",
86
+ "printedLists": [
87
+ {
88
+ "number": "15981815-59117",
89
+ "name": "Test Turf 03"
90
+ },
91
+ {
92
+ "number": "15982500-61399",
93
+ "name": "Test Turf 04"
94
+ }
95
+ ],
96
+ "minivanExports": [
97
+ {
98
+ "minivanExportId": 3186,
99
+ "name": "My List 10/9/15 6:23 PM",
100
+ "databaseMode": 0
101
+ },
102
+ {
103
+ "minivanExportId": 3187,
104
+ "name": "My List 10/9/15 6:34 PM",
105
+ "databaseMode": 1
106
+ }
107
+ ]
108
+ }
109
+ ],
110
+ "nextPageLink": null,
111
+ "count": 2
112
+ }