klickmail_api 0.1.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a81e8e8d675c82d55082cf826a8e10b344972b00
4
- data.tar.gz: d858f2c89e56f1bfe26aa703acd1ab2403eda0a3
3
+ metadata.gz: 0f0074541eeccb17810beccd91379a68f21ad904
4
+ data.tar.gz: b8865a06528c0c0968c882fdcab6c05a7cafc6d2
5
5
  SHA512:
6
- metadata.gz: 7ad6a84466f119f48f12109938c54d47b44df525c57c18cf2f7e3d8da3f057cbf1efb587177541126914372f97c0af16c3de670c0c9eee77d28875ab75fe1b25
7
- data.tar.gz: 600688d4d5d58afc3fae20996997d28a453b978a6aa0c76213e49247df812f46b36692c0f03a382ecaa2b2e75c432419a9918c19dde7ef89af2dfe797c498527
6
+ metadata.gz: '0428d10208f86c875f93df400c91dc346c968a33f3514f2d259190edc7c36d116212b325283bc55230cf395bdfe1f87cb99d13269cb22f3709ab7b6270c842e0'
7
+ data.tar.gz: 28dfa6a5fe93d06e38d049e60c00c2b3bfecf1cecaf03fc783681b1069f31f06a1b6167dce86832262f615daed688049bc3bf456197ed9f4cd89003181db6d83
@@ -0,0 +1,17 @@
1
+ require 'httparty'
2
+
3
+ module KlickmailApi
4
+ class Client
5
+ def initialize
6
+ @connector = Connector.new
7
+ end
8
+
9
+ def login(username, password)
10
+ @connector.login(username, password)
11
+ end
12
+
13
+ def index_fields
14
+ @connector.request('field')
15
+ end
16
+ end
17
+ end
@@ -2,8 +2,6 @@ require 'httparty'
2
2
 
3
3
  module KlickmailApi
4
4
  class Connector
5
- include HTTParty
6
-
7
5
  DEFAULT_SERVICE = 'http://www.klickmail.com.br/api'
8
6
 
9
7
  def initialize(service = DEFAULT_SERVICE)
@@ -13,24 +11,34 @@ module KlickmailApi
13
11
  def login(username, password)
14
12
  data = { username: username, password: password }
15
13
 
16
- response = http_request('account/login', 'POST', data)
14
+ result = request('account/login', :post, data)
15
+ set_session(result)
17
16
 
18
- return response['result']
17
+ result
19
18
  end
20
19
 
21
- private
20
+ def request(path, method = :get, data = {})
21
+ headers = {}
22
+ headers = request_header if @sessid
22
23
 
23
- def valid_login?(response)
24
- response['result'] && response['result']['sessid']
24
+ http_request(path, method, data, headers).parsed_response
25
25
  end
26
26
 
27
+ private
28
+
27
29
  def set_session(data)
28
- @sessionName = data['sessioName']
30
+ @session_name = data['session_name']
29
31
  @sessid = data['sessid']
30
32
  end
31
33
 
32
- def http_request(path, method = 'GET', data = nil)
33
- HTTParty.post("#{@service}/#{path}", body: data)
34
+ def request_header
35
+ { 'Cookie' => "#{@session_name}=#{@sessid}",
36
+ 'Content-Type' => 'application/x-www-form-urlencoded'
37
+ }
38
+ end
39
+
40
+ def http_request(path, method, data, headers)
41
+ HTTParty.public_send(method, "#{@service}/#{path}", body: data, headers: headers)
34
42
  end
35
43
  end
36
44
  end
@@ -1,3 +1,3 @@
1
1
  module KlickmailApi
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/klickmail_api.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require 'klickmail_api/version'
2
2
  require 'klickmail_api/connector'
3
+ require 'klickmail_api/client'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klickmail_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juliane Lima
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-08-30 00:00:00.000000000 Z
12
+ date: 2017-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -101,6 +101,7 @@ files:
101
101
  - bin/setup
102
102
  - klickmail_api.gemspec
103
103
  - lib/klickmail_api.rb
104
+ - lib/klickmail_api/client.rb
104
105
  - lib/klickmail_api/connector.rb
105
106
  - lib/klickmail_api/version.rb
106
107
  homepage: https://github.com/ignicaodigitalbr/klickmail_api