onepagecrm 0.1.0 → 0.2.0
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 +5 -5
- data/.gitignore +1 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +48 -0
- data/README.md +2 -2
- data/lib/onepagecrm/version.rb +1 -1
- data/lib/onepagecrm.rb +11 -41
- data/onepagecrm.gemspec +2 -2
- metadata +8 -10
- data/config/config_orig.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6f43b8af18d61a41037c8f68194d03d919f7474f0dc22ddbf532c0821d52faa0
|
4
|
+
data.tar.gz: aaf2df2075abd43f72d288fe2e5e7018b7d9b41bd5e65c2f68a1cde3989292fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0db66e59769acc854b5a97004ab8f350294487b598ac08b2e53764ec1530910944011702d9a07dede643ef934a1ca7273901583c07adaac3cf06b71ba4d7b351
|
7
|
+
data.tar.gz: 57ea63f3882375254073ed092d6ebc55c7eacf2634be5da8490072506282d8e49abcc7fe522128fa231c00474e3a225323caa7ca41c2e0d7b0ed5b3d81345b05
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
onepagecrm (0.2.0)
|
5
|
+
faraday
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
coderay (1.1.3)
|
11
|
+
faraday (1.7.1)
|
12
|
+
faraday-em_http (~> 1.0)
|
13
|
+
faraday-em_synchrony (~> 1.0)
|
14
|
+
faraday-excon (~> 1.1)
|
15
|
+
faraday-httpclient (~> 1.0.1)
|
16
|
+
faraday-net_http (~> 1.0)
|
17
|
+
faraday-net_http_persistent (~> 1.1)
|
18
|
+
faraday-patron (~> 1.0)
|
19
|
+
faraday-rack (~> 1.0)
|
20
|
+
multipart-post (>= 1.2, < 3)
|
21
|
+
ruby2_keywords (>= 0.0.4)
|
22
|
+
faraday-em_http (1.0.0)
|
23
|
+
faraday-em_synchrony (1.0.0)
|
24
|
+
faraday-excon (1.1.0)
|
25
|
+
faraday-httpclient (1.0.1)
|
26
|
+
faraday-net_http (1.0.1)
|
27
|
+
faraday-net_http_persistent (1.2.0)
|
28
|
+
faraday-patron (1.0.0)
|
29
|
+
faraday-rack (1.0.0)
|
30
|
+
method_source (1.0.0)
|
31
|
+
multipart-post (2.1.1)
|
32
|
+
pry (0.14.1)
|
33
|
+
coderay (~> 1.1)
|
34
|
+
method_source (~> 1.0)
|
35
|
+
rake (10.5.0)
|
36
|
+
ruby2_keywords (0.0.5)
|
37
|
+
|
38
|
+
PLATFORMS
|
39
|
+
ruby
|
40
|
+
|
41
|
+
DEPENDENCIES
|
42
|
+
bundler (~> 2.2.18)
|
43
|
+
onepagecrm!
|
44
|
+
pry
|
45
|
+
rake (~> 10.5)
|
46
|
+
|
47
|
+
BUNDLED WITH
|
48
|
+
2.2.18
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ You can try out the OnePageCRM gem in an interactive ruby session
|
|
23
23
|
|
24
24
|
$ irb
|
25
25
|
irb:> require 'onepagecrm'
|
26
|
-
irb:> api_client = OnePageCRM.new('
|
26
|
+
irb:> api_client = OnePageCRM.new('user_id', 'api_key')
|
27
27
|
irb:> api_client.get('contacts.json')
|
28
28
|
irb:> api_client.post('contacts.json', {'last_name': 'Bravo', 'first_name': 'Johnny'} )
|
29
29
|
|
@@ -44,4 +44,4 @@ We welcome any contributions.
|
|
44
44
|
6. Create a new Pull Request
|
45
45
|
|
46
46
|
[1]: http://developer.onepagecrm.com
|
47
|
-
[2]: http://forum.developer.onepagecrm.com
|
47
|
+
[2]: http://forum.developer.onepagecrm.com
|
data/lib/onepagecrm/version.rb
CHANGED
data/lib/onepagecrm.rb
CHANGED
@@ -5,24 +5,22 @@ require 'faraday'
|
|
5
5
|
|
6
6
|
# OnePageCRM API Client Object
|
7
7
|
class OnePageCRM
|
8
|
-
def initialize(
|
9
|
-
|
10
|
-
@conn = Faraday.new(url:
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
@auth_key = Base64.decode64(auth_data['data']['auth_key'])
|
8
|
+
def initialize(user_id, api_key)
|
9
|
+
url = 'https://app.onepagecrm.com/api/v3/'
|
10
|
+
@conn = Faraday.new(url: url) do |conn|
|
11
|
+
conn.adapter Faraday.default_adapter
|
12
|
+
conn.basic_auth(user_id, api_key)
|
13
|
+
conn.headers.merge!(
|
14
|
+
'Content-Type' => 'application/json',
|
15
|
+
'X-OnePageCRM-UID' => user_id,
|
16
|
+
'X-OnePageCRM-Source' => 'ruby_gem'
|
17
|
+
)
|
18
|
+
end
|
20
19
|
end
|
21
20
|
|
22
21
|
# defines get and delete methods
|
23
22
|
%w(get delete).each do |http_method|
|
24
23
|
define_method http_method do |endpoint, params = {}|
|
25
|
-
@conn.headers = auth_header(http_method, @url + endpoint, params)
|
26
24
|
response = @conn.send(http_method, endpoint, params)
|
27
25
|
JSON.parse response.body
|
28
26
|
end
|
@@ -31,36 +29,8 @@ class OnePageCRM
|
|
31
29
|
# Defines put and post methods
|
32
30
|
%w(post put).each do |http_method|
|
33
31
|
define_method http_method do |endpoint, params = {}|
|
34
|
-
@conn.headers = auth_header(http_method, @url + endpoint, params)
|
35
32
|
response = @conn.send(http_method, endpoint, params.to_json)
|
36
33
|
JSON.parse response.body
|
37
34
|
end
|
38
35
|
end
|
39
|
-
|
40
|
-
# Returns headers required for API authentication
|
41
|
-
def auth_header(http_method, url, parameters)
|
42
|
-
http_method = http_method.upcase
|
43
|
-
op_headers = { 'Content-Type' => 'application/json' }
|
44
|
-
return op_headers if @uid.nil? || @auth_key.nil?
|
45
|
-
if parameters.any? && %w(GET DELETE).include?(http_method)
|
46
|
-
url += '?' + URI.encode_www_form(parameters)
|
47
|
-
end
|
48
|
-
|
49
|
-
timestamp = Time.now.to_i.to_s
|
50
|
-
token = create_auth_token(http_method, url, parameters, timestamp)
|
51
|
-
{ 'X-OnePageCRM-UID' => @uid,
|
52
|
-
'X-OnePageCRM-TS' => timestamp,
|
53
|
-
'X-OnePageCRM-Auth' => token,
|
54
|
-
'X-OnePageCRM-Source' => 'ruby_gem'
|
55
|
-
}.merge op_headers
|
56
|
-
end
|
57
|
-
|
58
|
-
# Creates the auth token for the X-OnePageCRM-Auth header
|
59
|
-
def create_auth_token(http_method, request_url, request_body, timestamp)
|
60
|
-
request_url_hash = Digest::SHA1.hexdigest request_url
|
61
|
-
request_body_hash = Digest::SHA1.hexdigest request_body.to_json
|
62
|
-
signature = [@uid, timestamp, http_method.upcase, request_url_hash].join '.'
|
63
|
-
signature += ('.' + request_body_hash) if %w(POST PUT).include?(http_method)
|
64
|
-
OpenSSL::HMAC.hexdigest('sha256', @auth_key, signature).to_s
|
65
|
-
end
|
66
36
|
end
|
data/onepagecrm.gemspec
CHANGED
@@ -18,6 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.add_dependency 'faraday'
|
20
20
|
|
21
|
-
spec.add_development_dependency 'bundler', '~>
|
22
|
-
spec.add_development_dependency 'rake', '~> 10.
|
21
|
+
spec.add_development_dependency 'bundler', '~> 2.2.18'
|
22
|
+
spec.add_development_dependency 'rake', '~> 10.5'
|
23
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onepagecrm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Armstrong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.2.18
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.2.18
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '10.
|
47
|
+
version: '10.5'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '10.
|
54
|
+
version: '10.5'
|
55
55
|
description: Basic Gem for the OnePageCRM API
|
56
56
|
email:
|
57
57
|
- devteam@onepagecrm.com
|
@@ -61,10 +61,10 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- ".gitignore"
|
63
63
|
- Gemfile
|
64
|
+
- Gemfile.lock
|
64
65
|
- LICENSE.txt
|
65
66
|
- README.md
|
66
67
|
- Rakefile
|
67
|
-
- config/config_orig.yml
|
68
68
|
- lib/onepagecrm.rb
|
69
69
|
- lib/onepagecrm/version.rb
|
70
70
|
- onepagecrm.gemspec
|
@@ -87,10 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
|
-
|
91
|
-
rubygems_version: 2.4.5
|
90
|
+
rubygems_version: 3.1.6
|
92
91
|
signing_key:
|
93
92
|
specification_version: 4
|
94
93
|
summary: Basic Gem for OnePageCRM
|
95
94
|
test_files: []
|
96
|
-
has_rdoc:
|
data/config/config_orig.yml
DELETED