acw 0.1.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +22 -0
- data/.rubocop.yml +2 -0
- data/Gemfile.lock +64 -8
- data/README.md +61 -16
- data/acw.gemspec +8 -4
- data/lib/acw.rb +4 -10
- data/lib/acw/client.rb +78 -32
- data/lib/acw/helpers.rb +17 -0
- data/lib/acw/version.rb +3 -1
- metadata +58 -20
- data/.travis.yml +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c19f8b720097ef991c9c849fbb801c8d54eaf3b4b1a26129506481bc1a94c902
|
|
4
|
+
data.tar.gz: 6803935f1441129dfb7f48600d7627b0f42c665d9e48da72b83f959410cfde89
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 610c728226bfb1ed0caaf403e1e369faa4c6d4325fb375cf3cbcd3f5caa629a715eb65619d4bcd2b0f947499f4734c3e93b6739d4d4de8eb7bd2bc74e9654389
|
|
7
|
+
data.tar.gz: a84c1ef728d660d40062bd12260dd6ef261fa34d1e62275b315b1b50db6ab789968072c74cdea01cd6f8a79ebd9128b3a6ed5d55f0ce4430dcb80570e94c0baf
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ubuntu-16.04
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
ruby: [ '2.5', '2.6' ]
|
|
11
|
+
name: Ruby ${{ matrix.ruby }} sample
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
- uses: actions/setup-ruby@v1
|
|
15
|
+
with:
|
|
16
|
+
ruby-version: ${{ matrix.ruby }}
|
|
17
|
+
- name: Install and run
|
|
18
|
+
run: |
|
|
19
|
+
sudo apt-get -yqq install libpq-dev
|
|
20
|
+
gem install bundler
|
|
21
|
+
bundle install
|
|
22
|
+
bundle exec rspec .
|
data/.rubocop.yml
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
acw (
|
|
5
|
-
|
|
4
|
+
acw (1.3.1)
|
|
5
|
+
excon (>= 0.73.0)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
10
|
addressable (2.7.0)
|
|
11
11
|
public_suffix (>= 2.0.2, < 5.0)
|
|
12
|
+
ast (2.4.1)
|
|
13
|
+
backport (1.1.2)
|
|
14
|
+
benchmark (0.1.1)
|
|
15
|
+
coderay (1.1.3)
|
|
12
16
|
crack (0.4.3)
|
|
13
17
|
safe_yaml (~> 1.0.0)
|
|
14
18
|
diff-lcs (1.3)
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
e2mmap (0.1.0)
|
|
20
|
+
excon (0.78.1)
|
|
17
21
|
hashdiff (1.0.1)
|
|
18
|
-
|
|
22
|
+
jaro_winkler (1.5.4)
|
|
23
|
+
kramdown (2.3.0)
|
|
24
|
+
rexml
|
|
25
|
+
kramdown-parser-gfm (1.1.0)
|
|
26
|
+
kramdown (~> 2.0)
|
|
27
|
+
method_source (1.0.0)
|
|
28
|
+
mini_portile2 (2.4.0)
|
|
29
|
+
nokogiri (1.10.10)
|
|
30
|
+
mini_portile2 (~> 2.4.0)
|
|
31
|
+
parallel (1.20.1)
|
|
32
|
+
parser (2.7.2.0)
|
|
33
|
+
ast (~> 2.4.1)
|
|
34
|
+
pry (0.13.1)
|
|
35
|
+
coderay (~> 1.1)
|
|
36
|
+
method_source (~> 1.0)
|
|
19
37
|
public_suffix (4.0.4)
|
|
20
|
-
|
|
38
|
+
rainbow (3.0.0)
|
|
39
|
+
rake (12.3.3)
|
|
40
|
+
regexp_parser (2.0.3)
|
|
41
|
+
reverse_markdown (2.0.0)
|
|
42
|
+
nokogiri
|
|
43
|
+
rexml (3.2.4)
|
|
21
44
|
rspec (3.9.0)
|
|
22
45
|
rspec-core (~> 3.9.0)
|
|
23
46
|
rspec-expectations (~> 3.9.0)
|
|
@@ -31,12 +54,42 @@ GEM
|
|
|
31
54
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
32
55
|
rspec-support (~> 3.9.0)
|
|
33
56
|
rspec-support (3.9.2)
|
|
57
|
+
rubocop (1.7.0)
|
|
58
|
+
parallel (~> 1.10)
|
|
59
|
+
parser (>= 2.7.1.5)
|
|
60
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
61
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
62
|
+
rexml
|
|
63
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
64
|
+
ruby-progressbar (~> 1.7)
|
|
65
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
|
66
|
+
rubocop-ast (1.3.0)
|
|
67
|
+
parser (>= 2.7.1.5)
|
|
68
|
+
ruby-progressbar (1.10.1)
|
|
34
69
|
safe_yaml (1.0.5)
|
|
70
|
+
solargraph (0.40.1)
|
|
71
|
+
backport (~> 1.1)
|
|
72
|
+
benchmark
|
|
73
|
+
bundler (>= 1.17.2)
|
|
74
|
+
e2mmap
|
|
75
|
+
jaro_winkler (~> 1.5)
|
|
76
|
+
kramdown (~> 2.3)
|
|
77
|
+
kramdown-parser-gfm (~> 1.1)
|
|
78
|
+
parser (~> 2.3)
|
|
79
|
+
reverse_markdown (>= 1.0.5, < 3)
|
|
80
|
+
rubocop (>= 0.52)
|
|
81
|
+
thor (~> 1.0)
|
|
82
|
+
tilt (~> 2.0)
|
|
83
|
+
yard (~> 0.9, >= 0.9.24)
|
|
84
|
+
thor (1.0.1)
|
|
85
|
+
tilt (2.0.10)
|
|
86
|
+
unicode-display_width (1.7.0)
|
|
35
87
|
vcr (5.1.0)
|
|
36
88
|
webmock (3.8.3)
|
|
37
89
|
addressable (>= 2.3.6)
|
|
38
90
|
crack (>= 0.3.2)
|
|
39
91
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
92
|
+
yard (0.9.26)
|
|
40
93
|
|
|
41
94
|
PLATFORMS
|
|
42
95
|
ruby
|
|
@@ -44,10 +97,13 @@ PLATFORMS
|
|
|
44
97
|
DEPENDENCIES
|
|
45
98
|
acw!
|
|
46
99
|
bundler (~> 2.0)
|
|
47
|
-
|
|
100
|
+
pry (~> 0.13.1)
|
|
101
|
+
rake (~> 12.3.3)
|
|
48
102
|
rspec (~> 3.0)
|
|
103
|
+
rubocop (~> 1.7)
|
|
104
|
+
solargraph (~> 0.40)
|
|
49
105
|
vcr (~> 5.1)
|
|
50
106
|
webmock (~> 3.8)
|
|
51
107
|
|
|
52
108
|
BUNDLED WITH
|
|
53
|
-
2.
|
|
109
|
+
2.1.4
|
data/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
|
20
20
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
### Initialize client
|
|
24
24
|
|
|
25
25
|
```ruby
|
|
26
26
|
client = Acw::Client.new({
|
|
@@ -29,18 +29,13 @@ client = Acw::Client.new({
|
|
|
29
29
|
})
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
### Connection details
|
|
33
33
|
|
|
34
34
|
```ruby
|
|
35
|
-
client = Acw::Client.new({
|
|
36
|
-
url: 'your-url',
|
|
37
|
-
token: 'your-token'
|
|
38
|
-
})
|
|
39
|
-
|
|
40
35
|
client.connection
|
|
41
36
|
```
|
|
42
37
|
|
|
43
|
-
|
|
38
|
+
### Create contact - [Api Reference](https://developers.activecampaign.com/reference#create-a-contact-new)
|
|
44
39
|
|
|
45
40
|
```ruby
|
|
46
41
|
client.create_contact({
|
|
@@ -51,24 +46,36 @@ client.create_contact({
|
|
|
51
46
|
})
|
|
52
47
|
```
|
|
53
48
|
|
|
54
|
-
|
|
49
|
+
### Sync contact (Create or Update) - [Api Reference](https://developers.activecampaign.com/reference#create-or-update-contact-new)
|
|
55
50
|
|
|
56
51
|
```ruby
|
|
57
52
|
client.sync_contact({
|
|
53
|
+
contact: {
|
|
58
54
|
email: 'contact@email.com',
|
|
59
55
|
firstName: 'first',
|
|
60
56
|
lastName: 'last',
|
|
61
|
-
phone: '12312312'
|
|
57
|
+
phone: '12312312',
|
|
58
|
+
fieldValues: [
|
|
59
|
+
{
|
|
60
|
+
field: '1',
|
|
61
|
+
value: 'My Value'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
field: '2',
|
|
65
|
+
value: 'My second value'
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
62
69
|
})
|
|
63
70
|
```
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
### Retrieve contact - [Api Reference](https://developers.activecampaign.com/reference#get-contact)
|
|
66
73
|
|
|
67
74
|
```ruby
|
|
68
75
|
client.retrieve_contact("contact_id")
|
|
69
76
|
```
|
|
70
77
|
|
|
71
|
-
|
|
78
|
+
### Retrieve contact by email
|
|
72
79
|
|
|
73
80
|
This will return an array of contacts.
|
|
74
81
|
|
|
@@ -76,13 +83,13 @@ This will return an array of contacts.
|
|
|
76
83
|
client.retrieve_contact_by_email("email")
|
|
77
84
|
```
|
|
78
85
|
|
|
79
|
-
|
|
86
|
+
### Retrieve lists - [Api Reference](https://developers.activecampaign.com/reference#retrieve-all-lists)
|
|
80
87
|
|
|
81
88
|
```ruby
|
|
82
89
|
client.retrieve_lists
|
|
83
90
|
```
|
|
84
91
|
|
|
85
|
-
|
|
92
|
+
### Create tag - [Api Reference](https://developers.activecampaign.com/reference#tags)
|
|
86
93
|
|
|
87
94
|
```ruby
|
|
88
95
|
client.create_tag({
|
|
@@ -90,7 +97,7 @@ client.create_tag({
|
|
|
90
97
|
})
|
|
91
98
|
```
|
|
92
99
|
|
|
93
|
-
|
|
100
|
+
### Add a tag to contact - [Api Reference](https://developers.activecampaign.com/reference#create-contact-tag)
|
|
94
101
|
|
|
95
102
|
It generates a relationship called contactTag containing an id.
|
|
96
103
|
|
|
@@ -100,7 +107,7 @@ client.add_contact_tag({
|
|
|
100
107
|
})
|
|
101
108
|
```
|
|
102
109
|
|
|
103
|
-
|
|
110
|
+
### Remove a tag to contact - [Api Reference](https://developers.activecampaign.com/reference#delete-contact-tag)
|
|
104
111
|
|
|
105
112
|
To remove a tag from contact just remove the relationship between them.
|
|
106
113
|
|
|
@@ -108,6 +115,44 @@ To remove a tag from contact just remove the relationship between them.
|
|
|
108
115
|
client.remove_contact_tag("contact_tag_id)
|
|
109
116
|
```
|
|
110
117
|
|
|
118
|
+
### Create field value - [Api Reference](https://developers.activecampaign.com/reference#create-fieldvalue)
|
|
119
|
+
|
|
120
|
+
It generates a relationship called fieldVaalue containing an id.
|
|
121
|
+
|
|
122
|
+
```ruby
|
|
123
|
+
client.create_field_value(
|
|
124
|
+
{
|
|
125
|
+
contact: 572218,
|
|
126
|
+
field: 2,
|
|
127
|
+
value: 'field_value'
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Update a field value - [Api Reference](https://developers.activecampaign.com/reference#update-a-custom-field-value-for-contact)
|
|
133
|
+
|
|
134
|
+
It updates a relationship called fieldVaalue containing an id.
|
|
135
|
+
|
|
136
|
+
```ruby
|
|
137
|
+
client.update_field_value(
|
|
138
|
+
803_383,
|
|
139
|
+
{
|
|
140
|
+
contact: 572218,
|
|
141
|
+
field: 2,
|
|
142
|
+
value: 'new_field_value_put'
|
|
143
|
+
}
|
|
144
|
+
)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Testing with your Api-Token
|
|
148
|
+
|
|
149
|
+
You can disable vcr in specs with these commands in your tests and create a new context for you.
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
WebMock.allow_net_connect!
|
|
153
|
+
VCR.turn_off!
|
|
154
|
+
```
|
|
155
|
+
|
|
111
156
|
## License
|
|
112
157
|
|
|
113
158
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/acw.gemspec
CHANGED
|
@@ -16,8 +16,8 @@ Gem::Specification.new do |spec|
|
|
|
16
16
|
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
|
17
17
|
|
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
19
|
-
spec.metadata["source_code_uri"] = "https://github.com/anchietajunior
|
|
20
|
-
spec.metadata["changelog_uri"] = "https://github.com/anchietajunior
|
|
19
|
+
spec.metadata["source_code_uri"] = "https://github.com/anchietajunior/acw"
|
|
20
|
+
spec.metadata["changelog_uri"] = "https://github.com/anchietajunior/acw"
|
|
21
21
|
|
|
22
22
|
# Specify which files should be added to the gem when it is released.
|
|
23
23
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -28,11 +28,15 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
29
29
|
spec.require_paths = ["lib"]
|
|
30
30
|
|
|
31
|
-
spec.add_dependency 'faraday', '>= 1.0'
|
|
31
|
+
# spec.add_dependency 'faraday', '>= 1.0'
|
|
32
|
+
spec.add_dependency 'excon', '>= 0.73.0'
|
|
32
33
|
|
|
33
34
|
spec.add_development_dependency "bundler", "~> 2.0"
|
|
34
|
-
spec.add_development_dependency "rake", "~>
|
|
35
|
+
spec.add_development_dependency "rake", "~> 12.3.3"
|
|
35
36
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
36
37
|
spec.add_development_dependency "vcr", "~> 5.1"
|
|
37
38
|
spec.add_development_dependency "webmock", "~> 3.8"
|
|
39
|
+
spec.add_development_dependency 'pry', '~> 0.13.1'
|
|
40
|
+
spec.add_development_dependency 'solargraph', '~> 0.40'
|
|
41
|
+
spec.add_development_dependency 'rubocop', '~> 1.7'
|
|
38
42
|
end
|
data/lib/acw.rb
CHANGED
data/lib/acw/client.rb
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'excon'
|
|
2
4
|
require 'cgi'
|
|
3
5
|
require 'json'
|
|
6
|
+
require './lib/acw/helpers'
|
|
4
7
|
|
|
5
8
|
module Acw
|
|
6
9
|
class Client
|
|
10
|
+
include Acw::Helpers
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
API_VERSION = 3
|
|
9
13
|
|
|
10
14
|
def initialize(configs = {})
|
|
11
15
|
@config = configs
|
|
@@ -14,67 +18,108 @@ module Acw
|
|
|
14
18
|
attr_reader :config
|
|
15
19
|
|
|
16
20
|
def connection
|
|
17
|
-
@connection ||=
|
|
18
|
-
faraday.headers["Accept"] = 'application/json'
|
|
19
|
-
faraday.headers['Content-Type'] = 'application/json'
|
|
20
|
-
faraday.headers['Api-Token'] = config[:token]
|
|
21
|
-
faraday
|
|
22
|
-
end
|
|
21
|
+
@connection ||= Excon.new(config[:url])
|
|
23
22
|
end
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
def create_contact(args={})
|
|
24
|
+
def create_contact(args = {})
|
|
27
25
|
safe_http_call do
|
|
28
26
|
params = { contact: args }
|
|
29
|
-
connection.post(
|
|
27
|
+
connection.post(
|
|
28
|
+
path: "/api/#{API_VERSION}/contacts",
|
|
29
|
+
headers: headers(config[:token]),
|
|
30
|
+
body: params.to_json
|
|
31
|
+
)
|
|
30
32
|
end
|
|
31
33
|
end
|
|
32
34
|
|
|
33
|
-
def sync_contact(
|
|
35
|
+
def sync_contact(params)
|
|
34
36
|
safe_http_call do
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
connection.post(
|
|
38
|
+
path: "/api/#{API_VERSION}/contact/sync",
|
|
39
|
+
headers: headers(config[:token]),
|
|
40
|
+
body: params.to_json
|
|
41
|
+
)
|
|
37
42
|
end
|
|
38
43
|
end
|
|
39
44
|
|
|
40
45
|
def retrieve_contact(id)
|
|
41
46
|
safe_http_call do
|
|
42
|
-
connection.get(
|
|
47
|
+
connection.get(
|
|
48
|
+
path: "/api/#{API_VERSION}/contacts/#{id}",
|
|
49
|
+
headers: headers(config[:token])
|
|
50
|
+
)
|
|
43
51
|
end
|
|
44
52
|
end
|
|
45
53
|
|
|
46
54
|
def retrieve_contact_by_email(email)
|
|
47
55
|
safe_http_call do
|
|
48
56
|
uemail = CGI.escape email
|
|
49
|
-
connection.get(
|
|
57
|
+
connection.get(
|
|
58
|
+
path: "/api/#{API_VERSION}/contacts?search=#{uemail}",
|
|
59
|
+
headers: headers(config[:token])
|
|
60
|
+
)
|
|
50
61
|
end
|
|
51
62
|
end
|
|
52
63
|
|
|
53
|
-
#LISTS
|
|
54
64
|
def retrieve_lists
|
|
55
65
|
safe_http_call do
|
|
56
|
-
connection.get(
|
|
66
|
+
connection.get(
|
|
67
|
+
path: "/api/#{API_VERSION}/lists",
|
|
68
|
+
headers: headers(config[:token])
|
|
69
|
+
)
|
|
57
70
|
end
|
|
58
71
|
end
|
|
59
72
|
|
|
60
|
-
|
|
61
|
-
def create_tag(args={})
|
|
73
|
+
def create_tag(args = {})
|
|
62
74
|
safe_http_call do
|
|
63
|
-
params = {
|
|
64
|
-
connection.post(
|
|
75
|
+
params = { tag: args }
|
|
76
|
+
connection.post(
|
|
77
|
+
path: "/api/#{API_VERSION}/tags",
|
|
78
|
+
headers: headers(config[:token]),
|
|
79
|
+
body: params.to_json
|
|
80
|
+
)
|
|
65
81
|
end
|
|
66
82
|
end
|
|
67
|
-
|
|
68
|
-
def add_contact_tag(args={})
|
|
83
|
+
|
|
84
|
+
def add_contact_tag(args = {})
|
|
69
85
|
safe_http_call do
|
|
70
|
-
params = {
|
|
71
|
-
connection.post(
|
|
86
|
+
params = { 'contactTag': args }
|
|
87
|
+
connection.post(
|
|
88
|
+
path: "/api/#{API_VERSION}/contactTags",
|
|
89
|
+
headers: headers(config[:token]),
|
|
90
|
+
body: params.to_json
|
|
91
|
+
)
|
|
72
92
|
end
|
|
73
93
|
end
|
|
74
|
-
|
|
94
|
+
|
|
75
95
|
def remove_contact_tag(id)
|
|
76
96
|
safe_http_call do
|
|
77
|
-
connection.delete(
|
|
97
|
+
connection.delete(
|
|
98
|
+
path: "/api/#{API_VERSION}/contactTags/#{id}",
|
|
99
|
+
headers: headers(config[:token])
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def create_field_value(args = {})
|
|
105
|
+
safe_http_call do
|
|
106
|
+
params = { 'fieldValue': args }
|
|
107
|
+
connection.post(
|
|
108
|
+
path: "/api/#{API_VERSION}/fieldValues",
|
|
109
|
+
headers: headers(config[:token]),
|
|
110
|
+
body: params.to_json
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def update_field_value(id, args = {})
|
|
116
|
+
safe_http_call do
|
|
117
|
+
params = { 'fieldValue': args }
|
|
118
|
+
connection.put(
|
|
119
|
+
path: "/api/#{API_VERSION}/fieldValues/#{id}",
|
|
120
|
+
headers: headers(config[:token]),
|
|
121
|
+
body: params.to_json
|
|
122
|
+
)
|
|
78
123
|
end
|
|
79
124
|
end
|
|
80
125
|
|
|
@@ -83,13 +128,14 @@ module Acw
|
|
|
83
128
|
def safe_http_call
|
|
84
129
|
response = yield
|
|
85
130
|
raise response.body unless success_http_status(response.status)
|
|
86
|
-
|
|
131
|
+
|
|
132
|
+
result(true, nil, JSON.parse(response.body))
|
|
87
133
|
rescue StandardError => e
|
|
88
|
-
|
|
134
|
+
result(false, e.message, nil)
|
|
89
135
|
end
|
|
90
136
|
|
|
91
137
|
def success_http_status(status)
|
|
92
|
-
|
|
138
|
+
[200, 201, 202].include?(status)
|
|
93
139
|
end
|
|
94
140
|
end
|
|
95
|
-
end
|
|
141
|
+
end
|
data/lib/acw/helpers.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Acw
|
|
2
|
+
module Helpers
|
|
3
|
+
Result = Struct.new(:success?, :error, :value)
|
|
4
|
+
|
|
5
|
+
def headers(token)
|
|
6
|
+
@headers ||= {
|
|
7
|
+
'Accept': 'application/json',
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
'Api-Token': token
|
|
10
|
+
}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def result(success, error, value)
|
|
14
|
+
Result.new(success, error, value)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/acw/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: acw
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anchieta Júnior
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: excon
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
- - "<"
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: '3.0'
|
|
19
|
+
version: 0.73.0
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
24
|
- - ">="
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
30
|
-
- - "<"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '3.0'
|
|
26
|
+
version: 0.73.0
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: bundler
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -50,14 +44,14 @@ dependencies:
|
|
|
50
44
|
requirements:
|
|
51
45
|
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
47
|
+
version: 12.3.3
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
51
|
requirements:
|
|
58
52
|
- - "~>"
|
|
59
53
|
- !ruby/object:Gem::Version
|
|
60
|
-
version:
|
|
54
|
+
version: 12.3.3
|
|
61
55
|
- !ruby/object:Gem::Dependency
|
|
62
56
|
name: rspec
|
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,6 +94,48 @@ dependencies:
|
|
|
100
94
|
- - "~>"
|
|
101
95
|
- !ruby/object:Gem::Version
|
|
102
96
|
version: '3.8'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: pry
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 0.13.1
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 0.13.1
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: solargraph
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0.40'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0.40'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: rubocop
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '1.7'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '1.7'
|
|
103
139
|
description: Active Campaign Wrapper.
|
|
104
140
|
email:
|
|
105
141
|
- santosjr87@gmail.com
|
|
@@ -107,9 +143,10 @@ executables: []
|
|
|
107
143
|
extensions: []
|
|
108
144
|
extra_rdoc_files: []
|
|
109
145
|
files:
|
|
146
|
+
- ".github/workflows/ci.yml"
|
|
110
147
|
- ".gitignore"
|
|
111
148
|
- ".rspec"
|
|
112
|
-
- ".
|
|
149
|
+
- ".rubocop.yml"
|
|
113
150
|
- Gemfile
|
|
114
151
|
- Gemfile.lock
|
|
115
152
|
- LICENSE.txt
|
|
@@ -120,6 +157,7 @@ files:
|
|
|
120
157
|
- bin/setup
|
|
121
158
|
- lib/acw.rb
|
|
122
159
|
- lib/acw/client.rb
|
|
160
|
+
- lib/acw/helpers.rb
|
|
123
161
|
- lib/acw/version.rb
|
|
124
162
|
homepage: https://github.com/anchietajunior.com/acw
|
|
125
163
|
licenses:
|
|
@@ -127,9 +165,9 @@ licenses:
|
|
|
127
165
|
metadata:
|
|
128
166
|
allowed_push_host: https://rubygems.org
|
|
129
167
|
homepage_uri: https://github.com/anchietajunior.com/acw
|
|
130
|
-
source_code_uri: https://github.com/anchietajunior
|
|
131
|
-
changelog_uri: https://github.com/anchietajunior
|
|
132
|
-
post_install_message:
|
|
168
|
+
source_code_uri: https://github.com/anchietajunior/acw
|
|
169
|
+
changelog_uri: https://github.com/anchietajunior/acw
|
|
170
|
+
post_install_message:
|
|
133
171
|
rdoc_options: []
|
|
134
172
|
require_paths:
|
|
135
173
|
- lib
|
|
@@ -144,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
144
182
|
- !ruby/object:Gem::Version
|
|
145
183
|
version: '0'
|
|
146
184
|
requirements: []
|
|
147
|
-
rubygems_version: 3.0.
|
|
148
|
-
signing_key:
|
|
185
|
+
rubygems_version: 3.0.8
|
|
186
|
+
signing_key:
|
|
149
187
|
specification_version: 4
|
|
150
188
|
summary: Active Campaign Wrapper.
|
|
151
189
|
test_files: []
|