dpd_api 0.1.3 → 0.1.5

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
2
  SHA1:
3
- metadata.gz: babe69db95fe1be702cd44dee772659e0a13eeaf
4
- data.tar.gz: 4c43ed756134fb57e1f290693a0ee24155d9f659
3
+ metadata.gz: 1c1ccaffe0337bc75523c4da9c7faccab238e4fb
4
+ data.tar.gz: 6884ac90c938972fdb4488b46ef039b17f6fd5a7
5
5
  SHA512:
6
- metadata.gz: 618d8cabd267b33ed0c85ca3fdddf73d2f2c5116328b536528f77e2a90130f7b3cf806438e9318267365feb986c4cd0cd71c0f52bfab5d552c9ad08147220d92
7
- data.tar.gz: 4e4db970d67dc2cb6393e44c846a867b704218f62005242e3066c054b83519336c75d662cddbf447e496ab00eb90df365f9f676e0280d5bc0c3302c66734f58b
6
+ metadata.gz: b31b595ca5d239701d50563b3267fdd6f7496fb94ce0c14576023dcd6be3ff113bfb2766183f3612be33dd45500ee2ea94532a31019e344bb90e6518e0016ba4
7
+ data.tar.gz: 6f08d0af33e3b955b3909a656b3b3dc1ee9024884dd73a165390d5467c4f515c4f33dcf091cdd519ac9eaabbd0bf91d89b163f313f76d534f83d982814c7ad61
data/.env.example ADDED
@@ -0,0 +1,2 @@
1
+ DPD_CLIENT_KEY=123
2
+ DPD_CLIENT_NUMBER=234
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ .env
data/dpd_api.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.7"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
25
  spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "dotenv"
26
27
  end
@@ -19,20 +19,21 @@ module DpdApi
19
19
  rescue Savon::SOAPFault => error
20
20
  { errors: error.to_s }
21
21
  end
22
- notify_observers(@url, builder.merged_params, builder.response_body, result)
22
+ notify_observers(@url, builder.request_params, builder.response_body, result)
23
23
  result
24
24
  end
25
25
 
26
26
  private
27
27
 
28
28
  class ResourceBuilder
29
- attr_reader :merged_params, :response_body
29
+ attr_reader :merged_params, :response_body, :request_params
30
30
 
31
31
  def initialize(client, method, params = {}, options = {})
32
32
  @client = client
33
33
  @method = method
34
+ @params = params
34
35
  @namespace = options.delete(:namespace)
35
- @merged_params = merge_auth_params(params)
36
+ @merged_params = merge_auth_params
36
37
  end
37
38
 
38
39
  def resources
@@ -44,9 +45,9 @@ module DpdApi
44
45
 
45
46
  private
46
47
 
47
- def merge_auth_params(params = {})
48
+ def merge_auth_params
48
49
  auth_params = DpdApi.configuration.auth_params.clone
49
- auth_params.deep_merge!(params)
50
+ auth_params.deep_merge!(@params)
50
51
  end
51
52
 
52
53
  def response
@@ -55,7 +56,7 @@ module DpdApi
55
56
 
56
57
  def request
57
58
  namespace = @namespace || :request
58
- @merged_params.blank? ? @merged_params : { namespace => @merged_params }
59
+ @request_params ||= @params.blank? ? @merged_params : { namespace => @merged_params }
59
60
  end
60
61
  end
61
62
  end
@@ -1,5 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
+ begin
4
+ require 'dotenv'
5
+ Dotenv.load
6
+ end
7
+
3
8
  module DpdApi
4
9
  class << self
5
10
  attr_accessor :configuration
@@ -19,8 +24,8 @@ module DpdApi
19
24
  attr_reader :auth_params
20
25
 
21
26
  def initialize
22
- @client_key = '123'
23
- @client_number = '234'
27
+ @client_key = ENV['DPD_CLIENT_KEY'] || '123'
28
+ @client_number = ENV['DPD_CLIENT_NUMBER'] || '234'
24
29
  @base_url = 'http://wstest.dpd.ru'
25
30
  @debug = false
26
31
  end
@@ -6,11 +6,11 @@ module Debug
6
6
  client.add_observer(self)
7
7
  end
8
8
 
9
- def update(url, params, response_body, result)
9
+ def update(url, request, response, result)
10
10
  p '--------------------------'
11
11
  p "SENDING REQUEST TO: #{url}"
12
- p "WITH PARAMS: #{params}"
13
- p "GETTING RESPONSE: #{response_body}"
12
+ p "WITH PARAMS: #{request}"
13
+ p "GETTING RESPONSE: #{response}"
14
14
  p "RESULT: #{result}"
15
15
  p '--------------------------'
16
16
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module DpdApi
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.5"
5
5
  end
@@ -10,8 +10,8 @@ describe DpdApi::Calculator do
10
10
  let(:auth) do
11
11
  { request: {
12
12
  auth: {
13
- client_number: "234",
14
- client_key: "123"
13
+ client_number: ENV['DPD_CLIENT_NUMBER'] || '234',
14
+ client_key: ENV['DPD_CLIENT_KEY'] || '123'
15
15
  } } }
16
16
  end
17
17
  let(:message) { auth.clone.deep_merge!({ request: params }) }
@@ -3,8 +3,8 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe DpdApi do
6
- let(:client_key) { '123' }
7
- let(:client_number) { '234' }
6
+ let(:client_key) { ENV['DPD_CLIENT_KEY'] || '123' }
7
+ let(:client_number) { ENV['DPD_CLIENT_NUMBER'] || '234' }
8
8
  let(:base_url) { 'http://wstest.dpd.ru' }
9
9
  let(:auth_params) do
10
10
  {
@@ -8,11 +8,10 @@ describe DpdApi::Geography do
8
8
  after(:all) { savon.unmock! }
9
9
 
10
10
  let(:auth) do
11
- { request: {
12
- auth: {
13
- client_number: "234",
14
- client_key: "123"
15
- } } }
11
+ { auth: {
12
+ client_number: ENV['DPD_CLIENT_NUMBER'] || '234',
13
+ client_key: ENV['DPD_CLIENT_KEY'] || '123'
14
+ } }
16
15
  end
17
16
  let(:message) { auth }
18
17
 
@@ -10,8 +10,8 @@ describe DpdApi::Order do
10
10
  let(:auth) do
11
11
  { request: {
12
12
  auth: {
13
- client_number: "234",
14
- client_key: "123"
13
+ client_number: ENV['DPD_CLIENT_NUMBER'] || '234',
14
+ client_key: ENV['DPD_CLIENT_KEY'] || '123'
15
15
  } } }
16
16
  end
17
17
  let(:message) { auth.clone.deep_merge!({ request: params }) }
@@ -10,8 +10,8 @@ describe DpdApi::Order do
10
10
  let(:auth) do
11
11
  { request: {
12
12
  auth: {
13
- client_number: "234",
14
- client_key: "123"
13
+ client_number: ENV['DPD_CLIENT_NUMBER'] || '234',
14
+ client_key: ENV['DPD_CLIENT_KEY'] || '123'
15
15
  } } }
16
16
  end
17
17
  let(:message) { auth.clone.deep_merge!({ request: params }) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpd_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ponomarev Nikolay
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dotenv
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Ruby / Rails wrapper for Dpd's SOAP API
70
84
  email:
71
85
  - itsnikolay@gmail.com
@@ -73,6 +87,7 @@ executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
90
+ - ".env.example"
76
91
  - ".gitignore"
77
92
  - ".rspec"
78
93
  - ".travis.yml"