cordial 0.1.5 → 0.1.6

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
  SHA1:
3
- metadata.gz: 5b48aa1b52ae101e7c92fbbf2f2d6bb0518017e3
4
- data.tar.gz: d3b7f647e826447f2876bf80a863c36ae26e2623
3
+ metadata.gz: 3e7441c7be3b8d40d55e6bf5f9530d500e0ab45d
4
+ data.tar.gz: af24dd2b9a7a9bea319fe0c2d3b7ea861f17c22c
5
5
  SHA512:
6
- metadata.gz: 0c8e69c4381e21c621b4d13a5695a1fefac83816763c7f4dba1f707ed82e1430cd3fa7b2e20b1c3c456d6ad6a4319a12c35f8fa113af2bf7dbf625a899f00b13
7
- data.tar.gz: a95148b7052de3f29b74f06efdc5aca7c4fa1a3efcae9ca057bbb13d23e8c13bceba089ecffb76a4b622faaac1c79c784abc1ed14d45f55c90981aa0cdf4dc78
6
+ metadata.gz: 5f8e5b68a67299f151f92d14388e6aa41b727e288631963329028b4c81b0a67e17f8adec52d71958b90d983a7e11a9354fae5a98f1e6edd3ff9f2f2a21a92d4c
7
+ data.tar.gz: fb9101700b2f314d385f3a82e919e455cf36320bd004017c552fbdcc929a09675dd56eb9e053206139f62e95d88bd9dbb3c569a8897568fdd9fe14a77f0d8639
data/cordial.gemspec CHANGED
@@ -27,4 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "pry", "~> 0.11"
28
28
  spec.add_development_dependency "dotenv", "~> 2.4"
29
29
  spec.add_development_dependency "simplecov", "~> 0.16"
30
+ spec.add_development_dependency "vcr", "~> 4.0"
31
+ spec.add_development_dependency "webmock", "~> 3.4.0"
30
32
  end
@@ -63,14 +63,38 @@ module Cordial
63
63
 
64
64
  # Unsubscribe a contact.
65
65
  #
66
- # @param channel [String] The channel to unsubscribe, defaults to `email`
66
+ # @param channel [String] The channel to unsubscribe`
67
67
  # @see https://support.cordial.com/hc/en-us/articles/115001319432-Channels-Overview
68
- # @example Usage. Default channel.
68
+ # @param mc_id [String] The Message Contact ID
69
+ # @see https://support.cordial.com/hc/en-us/articles/115005855508-System-Variables
70
+ # @example Usage. Default without channel.
69
71
  # Cordial::Contacts.unsubscribe(
70
72
  # email: 'hello@world.earth'
71
73
  # )
72
- def self.unsubscribe(email:, channel: 'email')
73
- client.put("/contacts/#{email}/unsubscribe/#{channel}")
74
+ #
75
+ # @example Usage. with channel and mcID.
76
+ # Cordial::Contacts.unsubscribe(
77
+ # email: 'hello@world.earth',
78
+ # channel: 'email'
79
+ # mc_id: '645:5b6a9f26esb828b63c2a7946:ot:8ama709bbb3dc2f9bc27158f:1'
80
+ # )
81
+ def self.unsubscribe(email:, channel: '', mc_id: '')
82
+ if channel.empty? && mc_id.empty?
83
+ url = "/contacts/#{email}"
84
+ body = {
85
+ channels: {
86
+ email: {
87
+ address: email,
88
+ subscribeStatus: 'unsubscribed'
89
+ }
90
+ }
91
+ }
92
+ else
93
+ url = "/contacts/#{email}/unsubscribe/#{channel}"
94
+ body = { mcID: mc_id }
95
+ end
96
+
97
+ client.put(url, body: body.to_json)
74
98
  end
75
99
  end
76
100
  end
@@ -1,3 +1,3 @@
1
1
  module Cordial
2
- VERSION = '0.1.5'.freeze
2
+ VERSION = '0.1.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cordial
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Hood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-08 00:00:00.000000000 Z
11
+ date: 2018-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -108,6 +108,34 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.16'
111
+ - !ruby/object:Gem::Dependency
112
+ name: vcr
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '4.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 3.4.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 3.4.0
111
139
  description: Wraps the Cordial REST API for use inside Ruby applications.
112
140
  email:
113
141
  - andrewhood125@gmail.com