tessitura_rest 0.8.1 → 0.8.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a7e221c3479bb06ea467f5ff8b6a4bc4414157116ae4d361bbeedd34e069313
4
- data.tar.gz: 39ae040d981bfdafd8d229ee8e91a6fc22d6f88ca7476fa23d53fa7a967a2fba
3
+ metadata.gz: aa8fdef7873685e3a8b5673ff9cd8c85e68bb479383109c4b27cafa315816b0d
4
+ data.tar.gz: d63ca4291e1cfcc12e28f3b16690fa2d670996109a37031a41974e461f5aac43
5
5
  SHA512:
6
- metadata.gz: 271151ecb6c19230ee6f8812af937c3f2a10ce6d026e2db807e11d1f54e9cfa542aad930a4cdd6fc3b144f5e61d8c7cc4183067bf7076bc94849ddc36cb00c6d
7
- data.tar.gz: d09ceb5abf1f4e70fc1594286dea50fb1305e04ab1b9db099e358716ba3d38b4eadd0120807cb55ef2bd78cd94208006f3a44394dd2738552ce777a81dff0560
6
+ metadata.gz: db67dc630c0d34cde442b0a2253ac44d909a27be8769ab8ad2bf21f8e94b20e8c74f655bb4aa42886dfdb471429f089c592a7be8b57d72dfad504daf61b9922d
7
+ data.tar.gz: 0e68f178a88f864813fd8b81d15a913fca2ef8572a84a7e58ce72486990ae6c724270c5585b3ee8342b00623b11c43cd53238e8ef6cb48793f19b150179d2e02
Binary file
@@ -2,4 +2,6 @@ sudo: false
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.4.2
5
- before_install: gem install bundler -v 1.12.5
5
+ before_install:
6
+ - gem install bundler -v 1.12.5
7
+ - openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
data/Gemfile CHANGED
@@ -2,9 +2,11 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :test do
6
- gem 'webmock'
7
- gem 'vcr'
8
- gem 'simplecov'
5
+ group :test, :development do
6
+ gem 'activesupport'
9
7
  gem 'dotenv'
8
+ gem 'pry-byebug'
9
+ gem 'simplecov'
10
+ gem 'vcr'
11
+ gem 'webmock'
10
12
  end
@@ -12,6 +12,71 @@ module Constituencies
12
12
  JSON.parse(response.body)
13
13
  end
14
14
 
15
+ def create_constituent_by_snapshot(first_name, last_name, email, phone, constituent_type, source, street1, street2, city, state, zip, country, options={})
16
+ parameters =
17
+ {
18
+ "ConstituentType": {
19
+ "Id": constituent_type,
20
+ "Inactive": false,
21
+ },
22
+ "FirstName": first_name,
23
+ "LastName": last_name,
24
+ "ElectronicAddress": {
25
+ "Address": email,
26
+ "ElectronicAddressType": {
27
+ "Id": 1,
28
+ },
29
+ "AllowHtmlFormat": true,
30
+ "Inactive": false,
31
+ "AllowMarketing": false,
32
+ "Months": 'YYYYYYYYYYYY',
33
+ "PrimaryIndicator": true,
34
+ },
35
+ "PrimaryPhoneNumbers":
36
+ [
37
+ {
38
+ "PhoneNumber": phone,
39
+ "PhoneType":
40
+ {
41
+ "Id": 1
42
+ },
43
+ },
44
+ ],
45
+ "OriginalSource": {
46
+ "Id": source,
47
+ },
48
+ "Address": {
49
+ "AddressType": {
50
+ "Id": 3,
51
+ },
52
+ "City": city,
53
+ "PostalCode": zip,
54
+ "State": {
55
+ "Id": state,
56
+ },
57
+ "Street1": street1,
58
+ "Street2": street2,
59
+ "Country": {
60
+ "Id": country,
61
+ },
62
+ }
63
+ }
64
+ parameters.delete(:PrimaryPhoneNumbers) unless phone.present?
65
+ options.merge!(basic_auth: @auth, headers: @headers)
66
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
67
+ self.class.post(base_api_endpoint('CRM/Constituents/Snapshot'), options)
68
+ end
69
+
70
+ def update_constituent(constituent_id, options={})
71
+ parameters =
72
+ {
73
+
74
+ }
75
+ options.merge!(basic_auth: @auth, headers: @headers)
76
+ options.merge!(:body => parameters)
77
+ self.class.put(base_api_endpoint("CRM/Constituents/#{constituent_id}"), options)
78
+ end
79
+
15
80
  def create_constituencies(constituency, id, options={})
16
81
  parameters =
17
82
  {
@@ -26,4 +91,4 @@ module Constituencies
26
91
  options.merge!(:body => parameters)
27
92
  response = self.class.post(base_api_endpoint('CRM/Constituencies'), options)
28
93
  end
29
- end
94
+ end
@@ -5,4 +5,27 @@ module WebLogins
5
5
  response = self.class.get(base_api_endpoint("CRM/WebLogins/Search?emailAddress=#{email}&loginTypeId=#{login_type}"), options)
6
6
  JSON.parse(response.body)
7
7
  end
8
+
9
+ def create_web_login(constituent, email_id, email, login_type, primary, temporary, options={})
10
+ parameters = {
11
+ 'Constituent': {
12
+ 'Id': constituent,
13
+ },
14
+ 'Email': {
15
+ 'Id': email_id,
16
+ },
17
+ 'FailedAttempts': 3,
18
+ 'Inactive': false,
19
+ 'Login': email,
20
+ 'LoginType': {
21
+ 'Id': login_type,
22
+ },
23
+ 'PrimaryIndicator': primary,
24
+ 'TemporaryIndicator': temporary,
25
+ }
26
+ options.merge!(basic_auth: @auth, headers: @headers)
27
+ options.merge!(:body => parameters)
28
+ self.class.post(base_api_endpoint('CRM/WebLogins'), options)
29
+ end
30
+
8
31
  end
@@ -1,3 +1,3 @@
1
1
  class TessituraRest
2
- VERSION = '0.8.1'
2
+ VERSION = '0.8.5.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tessitura_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brittany Martin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-04 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -117,6 +117,7 @@ extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
119
  - ".codeclimate.yml"
120
+ - ".env.enc"
120
121
  - ".gitignore"
121
122
  - ".rspec"
122
123
  - ".rubocop.yml"