equinox_crm 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 147ad950f1a48ba11f8e509ae9fdc27e5e3e33262f788d3eb14f9e12a5c04e5f
4
- data.tar.gz: db9596a5409617260d7524363e090474b04402bab46d93f37a79072dafc7232e
3
+ metadata.gz: e5c13a978b831f1aa4c3be9dca516ba6f599c801b32b203397ae6352d1340246
4
+ data.tar.gz: e776b0a365c66524e6a685d60d54980c427acae00395ed6b275fa7cb7b6f9f10
5
5
  SHA512:
6
- metadata.gz: '04699469fb6958b3a877299d370720f447e7db30b5a1c10fda407eb89a763fcdfe0618b671564c3c75aaa7399df127840acdf2c15a452bf61fcd50fc0299456f'
7
- data.tar.gz: 2041779ec76cc9d59b132c76ce29a4283041ca7f123390ed5aaa4f28a24bd91641962c2b165463948239539e5e088120bc303d18e3fce2199d319e9b26e47a6e
6
+ metadata.gz: 9410550d3b3d209fef0af7c8dd2ff0df0657c0e937328671fe7e3d397b883ea07a9a700c3dcef5d449bfac61c17182f794a06b6e509730bcb84e918b96782391
7
+ data.tar.gz: f98a140e1d88373ed52912ab3b1f9136639640b699f129964b5b3bffb6daa7c060519709d68b7bd3488f76d19a0af5040cc1d090f29248bb942003705a0e7ee0
data/README.md CHANGED
@@ -24,21 +24,19 @@ Or install it yourself as:
24
24
 
25
25
  ## Usage
26
26
 
27
- TODO: Write usage instructions here
28
-
29
27
  To fetch a specific contact
30
28
 
31
- @client = EquinoxCrm::Client.new('YOUR_API_KEY')
32
- @client.contacts('ID')
29
+ @client = EquinoxCrm::Client.new('YOUR_API_KEY')
30
+ @client.contacts('ID')
33
31
 
34
32
  To fetch list of contacts
35
33
 
36
- @client = EquinoxCrm::Client.new('YOUR_API_KEY')
37
- @client.contacts_list
34
+ @client = EquinoxCrm::Client.new('YOUR_API_KEY')
35
+ @client.contacts_list
38
36
 
39
37
  Default limit is 10 records. To fect more or less 10 records user limit param
40
38
 
41
- @client.contacts_list(limit: 20)
39
+ @client.contacts_list(limit: 20)
42
40
 
43
41
  If the result contains next_page attribute is null means list is over.
44
42
 
@@ -56,4 +54,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
56
54
 
57
55
  ## Code of Conduct
58
56
 
59
- Everyone interacting in the EquinoxCrm project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/reliadvisor/equinox_crm/blob/master/CODE_OF_CONDUCT.md).
57
+ Everyone interacting in the EquinoxCrm project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/reliadvisor/equinox_crm/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,39 @@
1
+ require 'faraday'
2
+ require 'json'
3
+ require 'active_support'
4
+ require 'active_support/core_ext'
5
+
6
+ module EquinoxCrm
7
+ class Client
8
+ include Contact
9
+ attr_reader :oauth_token
10
+
11
+ def initialize(oauth_token = nil)
12
+ @oauth_token = oauth_token
13
+ end
14
+
15
+ def contacts(id)
16
+ find(id)
17
+ end
18
+
19
+ def contacts_list(options = nil)
20
+ all(options)
21
+ end
22
+
23
+ private
24
+
25
+ def client
26
+ @_client ||= Faraday.new(API_URL) do |client|
27
+ client.request :url_encoded
28
+ client.adapter Faraday.default_adapter
29
+ client.headers['Authorization'] = "token #{oauth_token}" if oauth_token.present?
30
+ end
31
+ end
32
+
33
+ def request(http_method:, endpoint:, params: {})
34
+ response = client.public_send(http_method, endpoint, params)
35
+ JSON.parse(response.body)
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,26 @@
1
+ require 'faraday'
2
+ require 'json'
3
+
4
+ API_URL = "http://203.193.173.114:4000/api/public_access/contacts"
5
+
6
+ module Contact
7
+
8
+ def find(id)
9
+ response = request(
10
+ http_method: :get,
11
+ endpoint: "#{API_URL}/#{id}"
12
+ )
13
+ response
14
+ end
15
+
16
+ def all(options)
17
+ limit = options && options[:limit]
18
+ page = options && options[:page]
19
+ response = request(
20
+ http_method: :get,
21
+ endpoint: "#{API_URL}?limit=#{limit}&page=#{page}"
22
+ )
23
+ response
24
+ end
25
+
26
+ end
@@ -1,3 +1,3 @@
1
1
  module EquinoxCrm
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/equinox_crm.rb CHANGED
@@ -5,4 +5,4 @@ require_relative "equinox_crm/client"
5
5
  module EquinoxCrm
6
6
  class Error < StandardError; end
7
7
  # Your code goes here...
8
- end
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: equinox_crm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - radv.ss.dev1
@@ -126,6 +126,8 @@ files:
126
126
  - bin/setup
127
127
  - equinox_crm.gemspec
128
128
  - lib/equinox_crm.rb
129
+ - lib/equinox_crm/client.rb
130
+ - lib/equinox_crm/contact.rb
129
131
  - lib/equinox_crm/version.rb
130
132
  homepage: https://www.equinoxcrm.com/
131
133
  licenses: