adobe-campaign 0.2.0 → 0.4.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
- SHA1:
3
- metadata.gz: ce601a599a60f8d0c7f9a253a8efe1b4cb2b3afa
4
- data.tar.gz: 9389e1187fdcd318e2227dad55ec768c3ed34eea
2
+ SHA256:
3
+ metadata.gz: 8a2705fa21dd486987478dd1f1ae043e7b82af3200e43879d8774f09742486ca
4
+ data.tar.gz: 1ff2a73149557944443551508f9b93bb9431b12f2397f49b6b97bba3cd0c9297
5
5
  SHA512:
6
- metadata.gz: 207a5e0eb88cc95f59eed5b17092fb27c01f1b4d75643576722fe7147b87e7744c5c8f5847795a30c71924075053b313e76ebdbc42c13d40ce09c695763e28a2
7
- data.tar.gz: 294531e2375c572881df5b9a7a8ff130204252b130630e9a1fcc0af962b32d8534aaa79602a2f37b945ab2dedbada156d2cbb80dc365fc81531cdfe69c597fd2
6
+ metadata.gz: f5c8a13e6077abcd7be9b44745cc5d54872ca6566c337edb0d50b4837853f0689609f4162a2d6da32d1d2f578a625767e9908df3f19248c2e9072cd6231a72c3
7
+ data.tar.gz: fa3f0f1df5f9fb82ccc4383e5b66c98acaa908461b7bd2e14c125b2fe252d4fc58b65734bcc76aad547e254ea16c6afe0e395def2d408d457a47b685ce2e3237
data/.gitignore CHANGED
@@ -9,3 +9,7 @@
9
9
  /tmp/
10
10
  /cache/
11
11
  /vendor/
12
+ *.gem
13
+ .idea/
14
+ .tool-versions
15
+
@@ -3,12 +3,13 @@ AllCops:
3
3
  - Rakefile
4
4
  - config.ru
5
5
  - lib/tasks/**/*.rake
6
+ - lib/**/*.rb
6
7
  Exclude:
7
8
  - vendor/**/*
8
9
  - bin/**/*
9
10
 
10
11
  UseCache: true
11
- CacheRootDirectory: 'cache/'
12
+ CacheRootDirectory: "cache/"
12
13
  TargetRubyVersion: 2.3
13
14
 
14
15
  Rails:
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.6.5
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'bundler/gem_tasks'
3
4
  require 'rspec/core/rake_task'
4
5
 
@@ -1,6 +1,6 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'adobe/campaign/version'
6
6
 
@@ -18,13 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_runtime_dependency 'rails', '>= 3.1'
22
21
  spec.add_runtime_dependency 'activesupport', '>= 3.1.0'
22
+ spec.add_runtime_dependency 'jwt', '>= 1.0', '< 3.0'
23
+ spec.add_runtime_dependency 'rails', '>= 3.1'
23
24
  spec.add_runtime_dependency 'rest-client', '>= 1.6.0'
24
- spec.add_runtime_dependency 'jwt', '~> 1.0'
25
25
 
26
26
  spec.add_development_dependency 'bundler', '~> 1.11'
27
- spec.add_development_dependency 'rake', '~> 10.0'
28
- spec.add_development_dependency 'rspec', '~> 3.0'
29
27
  spec.add_development_dependency 'guard-rubocop'
28
+ spec.add_development_dependency 'rake', '>= 12.3.3'
29
+ spec.add_development_dependency 'rspec', '~> 3.0'
30
+ spec.add_development_dependency 'rubocop', '~> 0.71.0'
30
31
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'rest-client'
3
4
 
4
5
  require 'adobe/campaign/version'
@@ -7,6 +8,7 @@ require 'adobe/campaign/railtie' if defined? ::Rails::Railtie
7
8
  require 'adobe/campaign/base'
8
9
  require 'adobe/campaign/profile'
9
10
  require 'adobe/campaign/service'
11
+ require 'adobe/campaign/language'
10
12
 
11
13
  module Adobe
12
14
  module Campaign
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
5
  class Base
@@ -32,7 +33,7 @@ module Adobe
32
33
  def post_request(url, body)
33
34
  full_url = url_prefix(url)
34
35
  json = body.is_a?(String) ? body : body.to_json
35
- resp = RestClient.post(full_url, json, auth_headers.merge('Content-Type' => 'application/json'))
36
+ resp = RestClient.post(full_url, json, auth_headers.merge('Content-Type' => 'application/json;charset=UTF-8'))
36
37
  JSON.parse(resp.body)
37
38
  end
38
39
 
@@ -49,6 +50,7 @@ module Adobe
49
50
 
50
51
  def load_access_token
51
52
  return @access_token if @access_token && @access_token_expires > Time.zone.now
53
+
52
54
  as_url = "https://#{Adobe::Campaign.configuration.ims_host}/ims/exchange/jwt"
53
55
  as_payload = {
54
56
  client_id: Adobe::Campaign.configuration.api_key,
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
5
  class << self
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Adobe
4
+ module Campaign
5
+ class Language
6
+ def self.map_code(language_code)
7
+ return language_code if language_code.empty?
8
+
9
+ code = normalize language_code
10
+
11
+ return code if ADOBE_LANGUAGE_CODES.include?(code)
12
+
13
+ if code.include?(ADOBE_DELIMITER)
14
+ map_code code.rpartition(ADOBE_DELIMITER).first
15
+ else
16
+ ADOBE_LANGUAGE_CODES.find { |s| s.start_with? code }
17
+ end
18
+ end
19
+
20
+ def self.normalize(language_code)
21
+ code = language_code
22
+ code = code.downcase
23
+ code.gsub(ISO_DELIMITER, ADOBE_DELIMITER)
24
+ end
25
+
26
+ ISO_DELIMITER = '-'
27
+ ADOBE_DELIMITER = '_'
28
+
29
+ #
30
+ # Found at https://cru.campaign.adobe.com/view/home
31
+ # Profiles tab, search, find, and edit a profile, Preferred Lanaguage
32
+ #
33
+ ADOBE_LANGUAGE_CODES = %w[
34
+ af_za
35
+ ar_sa
36
+ ar_ae
37
+ ar_bh
38
+ ar_dz
39
+ ar_eg
40
+ ar_il
41
+ ar_iq
42
+ ar_jo
43
+ ar_kw
44
+ ar_lb
45
+ ar_ly
46
+ ar_ma
47
+ ar_om
48
+ ar_qa
49
+ ar_sy
50
+ ar_tn
51
+ ar_ye
52
+ az_az
53
+ be_by
54
+ bg_bg
55
+ bs_ba
56
+ ca_es
57
+ cs_cz
58
+ da_dk
59
+ de_de
60
+ de_at
61
+ de_be
62
+ de_ch
63
+ de_it
64
+ de_li
65
+ de_lu
66
+ el_gr
67
+ el_cy
68
+ en_us
69
+ en_ae
70
+ en_au
71
+ en_bz
72
+ en_ca
73
+ en_cb
74
+ en_dk
75
+ en_gb
76
+ en_gg
77
+ en_ie
78
+ en_il
79
+ en_im
80
+ en_in
81
+ en_je
82
+ en_jm
83
+ en_kw
84
+ en_my
85
+ en_nz
86
+ en_om
87
+ en_ph
88
+ en_qa
89
+ en_sa
90
+ en_sg
91
+ en_tt
92
+ en_za
93
+ en_zw
94
+ es_es
95
+ es_ar
96
+ es_bo
97
+ es_cl
98
+ es_co
99
+ es_cr
100
+ es_do
101
+ es_ec
102
+ es_gt
103
+ es_hn
104
+ es_mx
105
+ es_ni
106
+ es_pa
107
+ es_pe
108
+ es_pr
109
+ es_py
110
+ es_sv
111
+ es_uy
112
+ es_ve
113
+ et_ee
114
+ eu_es
115
+ fa_ir
116
+ fi_fi
117
+ fo_fo
118
+ fr_fr
119
+ fr_be
120
+ fr_ca
121
+ fr_ch
122
+ fr_lu
123
+ fr_mc
124
+ gl_es
125
+ gu_in
126
+ he_il
127
+ hi_in
128
+ hr_hr
129
+ hu_hu
130
+ hy_am
131
+ id_id
132
+ is_is
133
+ it_it
134
+ it_ch
135
+ ja_jp
136
+ ka_ge
137
+ kk_kz
138
+ kn_in
139
+ ko_kr
140
+ ky_kz
141
+ lt_lt
142
+ lv_lv
143
+ mk_mk
144
+ mn_mn
145
+ mr_in
146
+ ms_my
147
+ ms_bn
148
+ nb_no
149
+ nl_nl
150
+ nl_be
151
+ nn_no
152
+ no_no
153
+ pa_in
154
+ pl_pl
155
+ pt_pt
156
+ pt_br
157
+ ro_ro
158
+ ro_md
159
+ ru_ru
160
+ ru_by
161
+ ru_kz
162
+ ru_ua
163
+ sa_in
164
+ sk_sk
165
+ sl_si
166
+ sq_al
167
+ sq_mk
168
+ sq_xk
169
+ sr_rs
170
+ sr_ba
171
+ sr_xk
172
+ sv_se
173
+ sv_fi
174
+ sw_ke
175
+ ta_in
176
+ te_in
177
+ th_th
178
+ tr_tr
179
+ tr_cy
180
+ tt_ru
181
+ uk_ua
182
+ ur_pk
183
+ ur_in
184
+ uz_uz
185
+ vi_vn
186
+ zh_cn
187
+ zh_hk
188
+ zh_mo
189
+ zh_sg
190
+ zh_tw
191
+ ].freeze
192
+ end
193
+ end
194
+ end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
5
  class Profile < Adobe::Campaign::Base
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
5
  class Railtie < Rails::Railtie
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
5
  class Service < Adobe::Campaign::Base
5
6
  def self.endpoint
6
- 'profileAndServicesExt/service'
7
+ 'profileAndServices/service'
7
8
  end
8
9
 
9
10
  def self.post_subscription(service_subs_url, person_pkey)
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Adobe
3
4
  module Campaign
4
- VERSION = '0.2.0'
5
+ VERSION = '0.4.0'
5
6
  end
6
7
  end
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:disable Metrics/BlockLength
2
+
3
3
  require 'jwt'
4
4
  require 'adobe/campaign'
5
5
 
6
+ # rubocop:disable Metrics/BlockLength
6
7
  namespace :adobe do
7
8
  desc 'Generate a long-life JWT for exchanging with the adobelogic server'
8
9
  task :generate_jwt do
@@ -36,3 +37,4 @@ namespace :adobe do
36
37
  puts "It will expire: #{10.years.from_now}"
37
38
  end
38
39
  end
40
+ # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,71 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adobe-campaign
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spencer Oberstadt
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-10 00:00:00.000000000 Z
11
+ date: 2020-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: 3.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.1'
26
+ version: 3.1.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: jwt
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.1.0
33
+ version: '1.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '3.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
40
- version: 3.1.0
43
+ version: '1.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
41
47
  - !ruby/object:Gem::Dependency
42
- name: rest-client
48
+ name: rails
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: 1.6.0
53
+ version: '3.1'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: 1.6.0
60
+ version: '3.1'
55
61
  - !ruby/object:Gem::Dependency
56
- name: jwt
62
+ name: rest-client
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - "~>"
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '1.0'
67
+ version: 1.6.0
62
68
  type: :runtime
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - "~>"
72
+ - - ">="
67
73
  - !ruby/object:Gem::Version
68
- version: '1.0'
74
+ version: 1.6.0
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: bundler
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +86,34 @@ dependencies:
80
86
  - - "~>"
81
87
  - !ruby/object:Gem::Version
82
88
  version: '1.11'
89
+ - !ruby/object:Gem::Dependency
90
+ name: guard-rubocop
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
83
103
  - !ruby/object:Gem::Dependency
84
104
  name: rake
85
105
  requirement: !ruby/object:Gem::Requirement
86
106
  requirements:
87
- - - "~>"
107
+ - - ">="
88
108
  - !ruby/object:Gem::Version
89
- version: '10.0'
109
+ version: 12.3.3
90
110
  type: :development
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
- - - "~>"
114
+ - - ">="
95
115
  - !ruby/object:Gem::Version
96
- version: '10.0'
116
+ version: 12.3.3
97
117
  - !ruby/object:Gem::Dependency
98
118
  name: rspec
99
119
  requirement: !ruby/object:Gem::Requirement
@@ -109,20 +129,20 @@ dependencies:
109
129
  - !ruby/object:Gem::Version
110
130
  version: '3.0'
111
131
  - !ruby/object:Gem::Dependency
112
- name: guard-rubocop
132
+ name: rubocop
113
133
  requirement: !ruby/object:Gem::Requirement
114
134
  requirements:
115
- - - ">="
135
+ - - "~>"
116
136
  - !ruby/object:Gem::Version
117
- version: '0'
137
+ version: 0.71.0
118
138
  type: :development
119
139
  prerelease: false
120
140
  version_requirements: !ruby/object:Gem::Requirement
121
141
  requirements:
122
- - - ">="
142
+ - - "~>"
123
143
  - !ruby/object:Gem::Version
124
- version: '0'
125
- description:
144
+ version: 0.71.0
145
+ description:
126
146
  email:
127
147
  - soberstadt@gmail.com
128
148
  executables: []
@@ -144,6 +164,7 @@ files:
144
164
  - lib/adobe/campaign.rb
145
165
  - lib/adobe/campaign/base.rb
146
166
  - lib/adobe/campaign/configuration.rb
167
+ - lib/adobe/campaign/language.rb
147
168
  - lib/adobe/campaign/profile.rb
148
169
  - lib/adobe/campaign/railtie.rb
149
170
  - lib/adobe/campaign/service.rb
@@ -152,7 +173,7 @@ files:
152
173
  homepage: https://github.com/soberstadt/adobe-campaign
153
174
  licenses: []
154
175
  metadata: {}
155
- post_install_message:
176
+ post_install_message:
156
177
  rdoc_options: []
157
178
  require_paths:
158
179
  - lib
@@ -167,9 +188,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
188
  - !ruby/object:Gem::Version
168
189
  version: '0'
169
190
  requirements: []
170
- rubyforge_project:
171
- rubygems_version: 2.6.8
172
- signing_key:
191
+ rubygems_version: 3.0.3
192
+ signing_key:
173
193
  specification_version: 4
174
194
  summary: A ruby wrapper for connecting your Rails app with Adobe Campaign.
175
195
  test_files: []