emarsys 0.4.0 → 0.5.0

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: b91da527fa70b69756d7dca70b153ec103be4c52ed2fc189b6d8eb6d4036637a
4
- data.tar.gz: 1ac969e7acf008b6cc07ae032d3c8ce42b8cdcf398b61bb3b51db0ff14c18533
3
+ metadata.gz: 6b81b5ea5557ce933b016de58af06badeb2b1ee6b031d77f347bb6d1f9e0d35c
4
+ data.tar.gz: '0619224ab0ba8a19979790f05dee342178ad8e19e609ec2633414e93b4c6207f'
5
5
  SHA512:
6
- metadata.gz: b512d98dc2a1acbb56a1e783fb00a6e3d915d58a66ea1c773b9c92ea444b4724734e004273ee72758b16179b10b304656a07ad56bd5bd406606fe0d9726c02a0
7
- data.tar.gz: 955e9a9626883406b3e029929475dbf04971f3411b5c2112626f7faacd0796c7a0216caf9f1548587d686d4d5e54b1a3c29870fc5a376f7f94ef65673c04eb42
6
+ metadata.gz: 2bbfd1f981a63b2758326af0db33bdb5267f60de7128c1211335e8c2b2da861aaf080d13d5b5c9f172e5362ea647e41e625fbaf796506fcd51c12d01ff43e72c
7
+ data.tar.gz: 1699e55fc9459ce7c84f84b73a1bccbebacbb041f6631b1c73fa9ed388e88e98bc63aa7d68fb44645a3dff565d8fbfd561913a09ca205a7f5dbc833ccbf9f53b
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ .idea/*
1
2
  *.gem
2
3
  *.rbc
3
4
  .bundle
data/CHANGELOG.md CHANGED
@@ -1,10 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.4.1
4
+
5
+ * Allow nonspecific arguments for the `export_registrations` call
6
+
7
+ ## v1.4.0 - DIVERTED FROM ORIGINAL PROJECT
8
+
9
+ * Fix add attributes method ([#67](https://github.com/Absolventa/emarsys-rb/pull/67))
10
+ * Fix CSV data export ([#68](https://github.com/Absolventa/emarsys-rb/pull/68))
11
+ * Other minor fixes, typos and gem updates
12
+
3
13
  ## v0.4.0
4
14
 
5
- * Add supported segment endpoints and remove the deprecated one ([#64]https://github.com/Absolventa/emarsys-rb/pull/64)
15
+ * Add supported segment endpoints and remove the deprecated one ([#64](https://github.com/Absolventa/emarsys-rb/pull/64))
6
16
 
7
- ## v0.3.13
17
+ ## v0.3.13
8
18
 
9
19
  * Add method to delete ContactList by ID ([#63](https://github.com/Absolventa/emarsys-rb/pull/63))
10
20
  * Use correct endpoint in ContactList.remove_contacts ([#62](https://github.com/Absolventa/emarsys-rb/pull/62))
data/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  Simple Ruby wrapper for the Emarsys API.
4
4
 
5
+ ## Note
6
+
7
+ This fork was created because the original author doesn't seem to be merging PRs anymore. If that gets rectified, I'll close this repo. In the meantime I'll start release from the original version + 1.0.0 (e.g. 0.4.0 -> 1.4.0).
8
+
5
9
  ## Installation
6
10
 
7
11
  gem install emarsys
@@ -12,16 +16,16 @@ This wrapper tries to implement all available methods of the Emarsys API in a
12
16
  Ruby-like fashion. However, the Emarsys API lacks a decent amount of methods that
13
17
  you expect an API to provide.
14
18
  Thus, if methods are missing or a certain implementation
15
- style was choosen it is most likely due to the inconsistency of the API itself.
19
+ style was chosen it is most likely due to the inconsistency of the API itself.
16
20
  Feel free to get in touch or submit a pull request if you encounter any problems.
17
21
 
18
22
  Must-known facts about the Emarsys API:
19
23
 
20
24
  * Emarsys uses internal IDs as field identifiers. E.g. 'email' is mapped to the value 3.
21
25
  This gem tries to work around this by letting you specify a field mapping constant.
22
- * certain methods require the specification of a key-field, e.g. the email (internally refered to as '3' again).
26
+ * certain methods require the specification of a key-field, e.g. the email (internally referred to as '3' again).
23
27
  * Return values differ from method to method due to the way the Emarsys API is implemented.
24
- Thus, a Hash as a return value or an Array of Hashes was choosen as the global return object. Basically it is a parsed JSON response.
28
+ Thus, a Hash as a return value or an Array of Hashes was chosen as the global return object. Basically it is a parsed JSON response.
25
29
  * Please refer to the Emarsys API documentation for detailed information on parameters, return values or error codes.
26
30
  * The list of available countries is defined by Emarsys, and uses internal Emarsys-specific IDs. A utility class is
27
31
  provided to map [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 "ISO 3166-1 alpha-2") data (aka 2-letter country codes) to internal Emarsys country IDs.
data/emarsys.gemspec CHANGED
@@ -4,26 +4,30 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'emarsys/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "emarsys"
8
- spec.version = Emarsys::VERSION
9
- spec.authors = ["Daniel Schoppmann"]
10
- spec.email = ["daniel.schoppmann@absolventa.de"]
11
- spec.description = %q{A Ruby library for interacting with the Emarsys API.}
12
- spec.summary = %q{Easy to use ruby library for Emarsys Marketing Suite.}
13
- spec.homepage = "https://github.com/Absolventa/emarsys-rb"
14
- spec.license = "MIT"
7
+ spec.name = "emarsys"
8
+ spec.version = Emarsys::VERSION
9
+ spec.authors = ["Daniel Schoppmann", "Palatinate Tech", "Rory Sinclair"]
10
+ spec.email = [ "daniel.schoppmann@absolventa.de", "info@palatinategroup.com","rory@asw.com"]
11
+ spec.description = %q{A Ruby library for interacting with the Emarsys API.}
12
+ spec.summary = %q{Easy to use ruby library for Emarsys Marketing Suite.}
13
+ spec.homepage = "https://github.com/ygt/emarsys-rb"
14
+ spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
+ spec.metadata = {
17
+ "github_repo" => "ssh://github.com/Absolventa/emarsys-rb"
18
+ }
19
+
20
+ spec.files = `git ls-files`.split($/)
21
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
22
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
23
  spec.require_paths = ["lib"]
20
24
  spec.required_ruby_version = '>= 2.3'
21
25
 
22
- spec.add_dependency "rest-client"
26
+ spec.add_dependency "rest-client", "~> 2.1.0"
23
27
 
24
- spec.add_development_dependency "bundler", "~> 2.1.4"
25
- spec.add_development_dependency "rake"
26
- spec.add_development_dependency "rspec", ">= 3.5.0"
27
- spec.add_development_dependency "webmock", "~> 2.3.2"
28
- spec.add_development_dependency "timecop"
28
+ spec.add_development_dependency "bundler", "~> 2.2.4"
29
+ spec.add_development_dependency "rake", "~> 13.0.6"
30
+ spec.add_development_dependency "rspec", "~> 3.10.0"
31
+ spec.add_development_dependency "webmock", "~> 3.14.0"
32
+ spec.add_development_dependency "timecop", "~> 0.9.4"
29
33
  end
@@ -26,7 +26,7 @@ module Emarsys
26
26
  end
27
27
 
28
28
  def header_password_digest
29
- Base64.encode64(calculated_digest).gsub("\n", "")
29
+ Base64.strict_encode64(calculated_digest).strip
30
30
  end
31
31
 
32
32
  def header_nonce
@@ -14,8 +14,8 @@ module Emarsys
14
14
  # @param params [Hash] Contact information to create
15
15
  # @return [Hash] internal id of the contact
16
16
  # @example
17
- # Emarsys::Contact.create('app_id', 23, {:firstname => "Jon", :lastname => "Doe"})
18
- # Emarsys::Contact.create('3', 'john.doe@example.com', {'1' => "Jon", '2' => "Doe"})
17
+ # Emarsys::Contact.create(key_id: 'app_id', key_value: 23, params: {:firstname => "Jon", :lastname => "Doe"})
18
+ # Emarsys::Contact.create(key_id: '3', key_value: 'john.doe@example.com', params: {'1' => "Jon", '2' => "Doe"})
19
19
  def create(key_id:, key_value:, params: {}, account: nil)
20
20
  transformed_key_id = transform_key_id(key_id)
21
21
  post account, "contact", params.merge!({'key_id' => transformed_key_id, transformed_key_id => key_value})
@@ -27,8 +27,8 @@ module Emarsys
27
27
  # @param key_value [Integer, String] value of internal id field
28
28
  # @return [Hash] internal emarsys id of the contact
29
29
  # @example
30
- # Emarsys::Contact.emarsys_id('email', 'john.dow@example.com')
31
- # Emarsys::Contact.emarsys_id(1, 'John')
30
+ # Emarsys::Contact.emarsys_id(key_id: 'email', key_value: 'john.dow@example.com')
31
+ # Emarsys::Contact.emarsys_id(key_id: 1, key_value: 'John')
32
32
  def emarsys_id(key_id:, key_value:, account: nil)
33
33
  get account, "contact", {"#{transform_key_id(key_id).to_s}" => key_value}
34
34
  end
@@ -41,8 +41,8 @@ module Emarsys
41
41
  # @param create_if_not_exists [Boolean] Whether to create contact if it does not exist
42
42
  # @return [Hash] internal id of the contact
43
43
  # @example
44
- # Emarsys::Contact.update('app_id', 23, {:firstname => "Jon", :lastname => "Doe"})
45
- # Emarsys::Contact.update('3', 'john.doe@example.com', {'1' => "Jon", '2' => "Doe"}, true)
44
+ # Emarsys::Contact.update(key_id: 'app_id', key_value: 23, params: {:firstname => "Jon", :lastname => "Doe"})
45
+ # Emarsys::Contact.update(key_id: '3', key_value: 'john.doe@example.com', params: {'1' => "Jon", '2' => "Doe"}, true)
46
46
  def update(key_id:, key_value:, params: {}, create_if_not_exists: false, account: nil)
47
47
  path = "contact#{create_if_not_exists ? '/?create_if_not_exists=1' : ''}"
48
48
  transformed_key_id = transform_key_id(key_id)
@@ -55,8 +55,11 @@ module Emarsys
55
55
  # @param params [Hash] Contact information of each new contact
56
56
  # @example
57
57
  # Emarsys::Contact.create_batch(
58
- # 'email', {:app_id => 1, :firstname => "Jon", :lastname => "Doe"},
59
- # {:app_id => 2, :firstname => "Jane", :lastname => "Doe"}
58
+ # key_id: 'email',
59
+ # params: [
60
+ # {:app_id => 1, :firstname => "Jon", :lastname => "Doe"},
61
+ # {:app_id => 2, :firstname => "Jane", :lastname => "Doe"}
62
+ # ]
60
63
  # )
61
64
  #
62
65
  def create_batch(key_id:, params: [], account: nil)
@@ -70,10 +73,12 @@ module Emarsys
70
73
  # @param create_if_not_exists [Boolean] Whether to create non-existing contacts
71
74
  # @example
72
75
  # Emarsys::Contact.update_batch(
73
- # 'email',
74
- # [{:email => "john@example.com", :firstname => "Jon", :lastname => "Doe"},
75
- # {:email => "jane@example.com", :firstname => "Jane", :lastname => "Doe"}],
76
- # true
76
+ # key_id: 'email',
77
+ # params: [
78
+ # {:email => "john@example.com", :firstname => "Jon", :lastname => "Doe"},
79
+ # {:email => "jane@example.com", :firstname => "Jane", :lastname => "Doe"}
80
+ # ],
81
+ # create_if_not_exists: true
77
82
  # )
78
83
  #
79
84
  def update_batch(key_id:, params: [], create_if_not_exists: false, account: nil)
@@ -87,8 +92,8 @@ module Emarsys
87
92
  # @param key_value [Integer, String] value of internal id field
88
93
  # @return [Hash]
89
94
  # @example
90
- # Emarsys::Contact.update('app_id', 23, {:firstname => "Jon", :lastname => "Doe"})
91
- # Emarsys::Contact.update('3', 'john.doe@example.com', {'1' => "Jon", '2' => "Doe"}, true)
95
+ # Emarsys::Contact.delete(key_id: 'app_id', key_value: 23)
96
+ # Emarsys::Contact.delete(key_id: '3', key_value: 'john.doe@example.com')
92
97
  def delete(key_id:, key_value:, account: nil)
93
98
  path = "contact/delete"
94
99
  transformed_key_id = transform_key_id(key_id)
@@ -100,7 +105,7 @@ module Emarsys
100
105
  # @param contacts [array] Array of contact ids
101
106
  # @return [Hash] result data
102
107
  # @example
103
- # Emarsys::Contact.contact_history([1,2,3]
108
+ # Emarsys::Contact.contact_history(contacts: [1,2,3]
104
109
  def contact_history(contacts:, account: nil)
105
110
  post account, "contact/getcontacthistory", {'contacts' => contacts}
106
111
  end
@@ -112,7 +117,7 @@ module Emarsys
112
117
  # @param fields [array] requested fields. If empty, all are considered
113
118
  # @return [Hash] result data
114
119
  # @example
115
- # Emarsys::Contact.search('3', ['john.doe@example.com'], [1,2,3])
120
+ # Emarsys::Contact.search(key_id: '3', key_value: ['john.doe@example.com'], fields: [1,2,3])
116
121
  #
117
122
  # TODO transform fields to numeric fields
118
123
  def search(key_id:, key_values:, fields: [], account: nil)
@@ -150,12 +155,13 @@ module Emarsys
150
155
  # @return [Hash] result data
151
156
  # @example
152
157
  # Emarsys::Contact.export_registrations(distribution_method: 'local', time_range: ["2013-01-01","2013-12-31"], contact_fields: [1,2,3])
153
- def export_registrations(distribution_method:, time_range:, contact_fields:, account: nil)
154
- post account, "contact/getregistrations", {
158
+ def export_registrations(distribution_method:, time_range:, contact_fields:, account: nil, **params)
159
+ params.merge!(
155
160
  distribution_method: distribution_method,
156
161
  time_range: time_range,
157
162
  contact_fields: contact_fields
158
- }
163
+ )
164
+ post account, "contact/getregistrations", params
159
165
  end
160
166
 
161
167
  # @private
@@ -86,10 +86,10 @@ module Emarsys
86
86
  params = {}
87
87
 
88
88
  if !launch_id.nil?
89
- params.merge!(launch_id: launch_id)
89
+ params.merge!(launch_id: launch_id)
90
90
  end
91
91
 
92
- if !start_date.nil?
92
+ if !start_date.nil?
93
93
  params.merge!(start_date: start_date)
94
94
  end
95
95
 
@@ -141,7 +141,7 @@ module Emarsys
141
141
  def unsubscribe(account: nil, **params)
142
142
  post account, "email/unsubscribe", params
143
143
  end
144
-
144
+
145
145
  # https://help.emarsys.com/hc/en-us/articles/115004523714
146
146
  def email_launches(id, account: nil)
147
147
  post account, "email/getlaunchesofemail", emailId: id
@@ -159,11 +159,11 @@ module Emarsys
159
159
  # @return [Hash] Result data
160
160
  # @example
161
161
  # Emarsys::Email.export_responses(
162
- # 'local',
163
- # ['2012-02-09', '2014-08-13'],
164
- # [1, 3],
165
- # ['trackable_links'],
166
- # [5, 8, 13]
162
+ # distribution_method: 'local',
163
+ # time_range: ['2012-02-09', '2014-08-13'],
164
+ # contact_fields: [1, 3],
165
+ # sources: ['trackable_links'],
166
+ # analysis_fields: [5, 8, 13]
167
167
  # )
168
168
  def export_responses(distribution_method:, time_range:, contact_fields:, sources:, analysis_fields:, account: nil, **params)
169
169
  params.merge!(
@@ -65,7 +65,7 @@ module Emarsys::FieldMapping
65
65
  end
66
66
 
67
67
  def self.add_attributes(attrs)
68
- @custom_attributes.concat([attrs].flatten)
68
+ attributes.concat([attrs].flatten)
69
69
  end
70
70
 
71
71
  def self.excluded_default_attributes?
@@ -4,7 +4,7 @@ module Emarsys
4
4
  attr_accessor :code, :text, :data, :status
5
5
 
6
6
  def initialize(response)
7
- if response.headers[:content_type] == 'text/csv'
7
+ if response.headers[:content_type]&.start_with?('text/csv')
8
8
  self.code = 0
9
9
  self.data = response.body
10
10
  else
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Emarsys
3
- VERSION = "0.4.0"
3
+ VERSION = "0.5.0"
4
4
  end
@@ -47,12 +47,12 @@ describe Emarsys::Client do
47
47
  end
48
48
 
49
49
  it 'encodes string with Base64' do
50
- expect(Base64).to receive(:encode64).with("something").and_return("something_base64_encoded")
50
+ expect(Base64).to receive(:strict_encode64).with("something").and_return("something_base64_encoded")
51
51
  Emarsys::Client.new.header_password_digest
52
52
  end
53
53
 
54
54
  it 'strips of \n character' do
55
- expect(Base64).to receive(:encode64).with("something").and_return("something_base64_encoded\n")
55
+ expect(Base64).to receive(:strict_encode64).with("something").and_return("something_base64_encoded\n")
56
56
  expect(Emarsys::Client.new.header_password_digest).to eq("something_base64_encoded")
57
57
  end
58
58
  end
@@ -118,7 +118,7 @@ describe Emarsys::Contact do
118
118
 
119
119
  describe ".export_registrations" do
120
120
  it "requests contact data export based on parameters" do
121
- stub_params = {distribution_method: 'local', time_range: ["2013-01-01","2013-12-31"], contact_fields: [1,2,3]}
121
+ stub_params = {add_field_names_header: 0, distribution_method: 'local', time_range: ["2013-01-01","2013-12-31"], contact_fields: [1,2,3]}
122
122
  stub = stub_request(:post, "https://api.emarsys.net/api/v2/contact/getregistrations").with(:body => stub_params.to_json).to_return(standard_return_body)
123
123
  Emarsys::Contact.export_registrations(stub_params)
124
124
  expect(stub).to have_been_requested.once
@@ -66,8 +66,15 @@ describe Emarsys::FieldMapping do
66
66
  {:id => 101, :identifier => 'foo', :name => 'Foo'},
67
67
  {:id => 102, :identifier => 'bar', :name => 'Bar'}
68
68
  ]
69
- Emarsys::FieldMapping.add_attributes(attributes)
70
- expect(Emarsys::FieldMapping.attributes).to include(attributes[0], attributes[1])
69
+
70
+ stub_const('Emarsys::FieldMapping::ATTRIBUTES', attributes)
71
+
72
+ mapping_to_be_added = {
73
+ id: 2000, identifier: 'baz', name: 'Baz'
74
+ }
75
+
76
+ Emarsys::FieldMapping.add_attributes(mapping_to_be_added)
77
+ expect(Emarsys::FieldMapping.attributes).to include(attributes[0], attributes[1], mapping_to_be_added)
71
78
  end
72
79
  end
73
80
 
@@ -22,7 +22,7 @@ describe Emarsys::Response do
22
22
 
23
23
  module CSV
24
24
  def headers
25
- {:content_type => 'text/csv'}
25
+ {:content_type => 'text/csv;charset=UTF-8'}
26
26
  end
27
27
  end
28
28
  end
metadata CHANGED
@@ -1,102 +1,106 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emarsys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schoppmann
8
- autorequire:
8
+ - Palatinate Tech
9
+ - Rory Sinclair
10
+ autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2020-09-14 00:00:00.000000000 Z
13
+ date: 2024-09-17 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: rest-client
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - ">="
19
+ - - "~>"
18
20
  - !ruby/object:Gem::Version
19
- version: '0'
21
+ version: 2.1.0
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - ">="
26
+ - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: '0'
28
+ version: 2.1.0
27
29
  - !ruby/object:Gem::Dependency
28
30
  name: bundler
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
33
  - - "~>"
32
34
  - !ruby/object:Gem::Version
33
- version: 2.1.4
35
+ version: 2.2.4
34
36
  type: :development
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
40
  - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: 2.1.4
42
+ version: 2.2.4
41
43
  - !ruby/object:Gem::Dependency
42
44
  name: rake
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - ">="
47
+ - - "~>"
46
48
  - !ruby/object:Gem::Version
47
- version: '0'
49
+ version: 13.0.6
48
50
  type: :development
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
- - - ">="
54
+ - - "~>"
53
55
  - !ruby/object:Gem::Version
54
- version: '0'
56
+ version: 13.0.6
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: rspec
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - ">="
61
+ - - "~>"
60
62
  - !ruby/object:Gem::Version
61
- version: 3.5.0
63
+ version: 3.10.0
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - ">="
68
+ - - "~>"
67
69
  - !ruby/object:Gem::Version
68
- version: 3.5.0
70
+ version: 3.10.0
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: webmock
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
75
  - - "~>"
74
76
  - !ruby/object:Gem::Version
75
- version: 2.3.2
77
+ version: 3.14.0
76
78
  type: :development
77
79
  prerelease: false
78
80
  version_requirements: !ruby/object:Gem::Requirement
79
81
  requirements:
80
82
  - - "~>"
81
83
  - !ruby/object:Gem::Version
82
- version: 2.3.2
84
+ version: 3.14.0
83
85
  - !ruby/object:Gem::Dependency
84
86
  name: timecop
85
87
  requirement: !ruby/object:Gem::Requirement
86
88
  requirements:
87
- - - ">="
89
+ - - "~>"
88
90
  - !ruby/object:Gem::Version
89
- version: '0'
91
+ version: 0.9.4
90
92
  type: :development
91
93
  prerelease: false
92
94
  version_requirements: !ruby/object:Gem::Requirement
93
95
  requirements:
94
- - - ">="
96
+ - - "~>"
95
97
  - !ruby/object:Gem::Version
96
- version: '0'
98
+ version: 0.9.4
97
99
  description: A Ruby library for interacting with the Emarsys API.
98
100
  email:
99
101
  - daniel.schoppmann@absolventa.de
102
+ - info@palatinategroup.com
103
+ - rory@asw.com
100
104
  executables: []
101
105
  extensions: []
102
106
  extra_rdoc_files: []
@@ -165,11 +169,12 @@ files:
165
169
  - spec/emarsys/response_spec.rb
166
170
  - spec/emarsys_spec.rb
167
171
  - spec/spec_helper.rb
168
- homepage: https://github.com/Absolventa/emarsys-rb
172
+ homepage: https://github.com/ygt/emarsys-rb
169
173
  licenses:
170
174
  - MIT
171
- metadata: {}
172
- post_install_message:
175
+ metadata:
176
+ github_repo: ssh://github.com/Absolventa/emarsys-rb
177
+ post_install_message:
173
178
  rdoc_options: []
174
179
  require_paths:
175
180
  - lib
@@ -184,8 +189,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
189
  - !ruby/object:Gem::Version
185
190
  version: '0'
186
191
  requirements: []
187
- rubygems_version: 3.0.3
188
- signing_key:
192
+ rubygems_version: 3.4.10
193
+ signing_key:
189
194
  specification_version: 4
190
195
  summary: Easy to use ruby library for Emarsys Marketing Suite.
191
196
  test_files: