pipe_drive_ruby_wrapper 0.1.7 → 0.1.8

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
  SHA256:
3
- metadata.gz: c6194381c3e69bfd85c4f56cfe46b0a7e3dd72d807e37321c15388a6da7ba1c8
4
- data.tar.gz: 60e5915a47680e389b31f335f925ae1d484203e58d01d952db9f84fe7d6d0781
3
+ metadata.gz: 93e0fdacc778f6cdd1a7b227d8c34187b27a29ca410f6f2abd175dff39e442c3
4
+ data.tar.gz: 8ed2f42c1e757de34b76017bb98f085c7ed39ad1a8241837855d5e3a07bbf92b
5
5
  SHA512:
6
- metadata.gz: eeb9780ef3994337e20dbdf0167f2445958f1baac8755531987715d1949190ebfb9c1020fade871838d6e132b2f99bc0e8b391170cc0f0b8074d092eed2f8292
7
- data.tar.gz: 9ab90f34a831443b5d857105b677885ab9640d7be3ee2517f02fa549df02d2e3314c12e73a76c9ee1de103cab16e406195cc5c2668d00adbe181a4e820a11869
6
+ metadata.gz: 6ee7df332dd515924942efe3ca8d68c2290a895968332279ace8e563576279d97f9fe3046d006afe2adaec9008908726b1697cae64a80b0fc0bcf0e05b2baea3
7
+ data.tar.gz: 05a9e1339fa9c285d4833ee0dd90233f24871455caf02eab460a265b542ea68b41edaf1f01ca84542aa6c3763c0dbde9f70f88b7e7897ba6b475e125af16b971
@@ -14,7 +14,7 @@ module PipeDrive
14
14
 
15
15
  def update(opts)
16
16
  path = "/#{self.class.resource_name}s/#{id}"
17
- opts.transform_keys!{|key| self.class.field_keys[key] || key}
17
+ opts.transform_keys!{|key| self.class.field_keys[key].present? ? self.class.field_keys[key][:key] : key}
18
18
  requester.http_put(path, opts) do |result|
19
19
  self.class.new(result)
20
20
  end
@@ -42,7 +42,7 @@ module PipeDrive
42
42
  end
43
43
 
44
44
  def create(opts)
45
- opts.transform_keys!{|key| field_keys[key] || key}
45
+ opts.transform_keys!{|key| field_keys[key].present? ? field_keys[key][:key] : key}
46
46
  requester.http_post("/#{resource_name}s", opts) do |result|
47
47
  new(result)
48
48
  end
@@ -50,7 +50,7 @@ module PipeDrive
50
50
 
51
51
  def update(id, opts)
52
52
  path = "/#{resource_name}s/#{id}"
53
- opts.transform_keys!{|key| field_keys[key] || key}
53
+ opts.transform_keys!{|key| field_keys[key].present? ? field_keys[key][:key] : key}
54
54
  requester.http_put(path, opts) do |result|
55
55
  new(result)
56
56
  end
@@ -77,7 +77,7 @@ module PipeDrive
77
77
  end
78
78
 
79
79
  def parameterize(target_string, separator)
80
- target_string.gsub!(/[\-_\ \/]+/, separator)
80
+ target_string.gsub!(/[\W_]+/, separator)
81
81
  target_string.downcase
82
82
  end
83
83
 
@@ -3,7 +3,7 @@ module PipeDrive
3
3
  def add_to_field_keys
4
4
  resource = self.class.correspond_resource.to_sym
5
5
  field_name = parameterize(name, '_').to_sym
6
- PipeDrive.field_keys[resource][field_name] = key
6
+ PipeDrive.field_keys[resource][field_name] = {id: id, key: key}
7
7
  end
8
8
 
9
9
  class << self
@@ -33,7 +33,7 @@ module PipeDrive
33
33
  resource = correspond_resource.to_sym
34
34
  list.each do |field|
35
35
  field_name = parameterize(field.name, '_').to_sym
36
- field_keys_map[resource][field_name] = field.key
36
+ field_keys_map[resource][field_name] = {id: field.id, key: field.key}
37
37
  end
38
38
  field_keys_map
39
39
  end
@@ -43,15 +43,15 @@ module PipeDrive
43
43
  end
44
44
 
45
45
  def pipedrive_key_of(field_name)
46
- cache_field_name = parameterize(field_name, '_').to_sym
46
+ cache_field_name = field_name.is_a?(String) ? parameterize(field_name, '_').to_sym : field_name
47
47
  pipedrive_key = cache_keys[cache_field_name]
48
- return pipedrive_key unless pipedrive_key.nil?
48
+ return pipedrive_key[:key] unless pipedrive_key.nil?
49
49
  PipeDrive.reset_field_keys!
50
50
  pipedrive_key = cache_keys[cache_field_name]
51
51
  if pipedrive_key.nil?
52
52
  raise TargetNotFound.new(self.name, :name, field_name)
53
53
  else
54
- pipedrive_key
54
+ pipedrive_key[:key]
55
55
  end
56
56
  end
57
57
 
@@ -8,7 +8,7 @@ RSpec.describe PipeDrive::Deal do
8
8
 
9
9
  context '.field_keys' do
10
10
  it 'should obtain person custom field' do
11
- deal_custom_fields = {product: 'product key'}
11
+ deal_custom_fields = {product: {id: 3, key: 'product key'}}
12
12
  expect(PipeDrive::Deal.field_keys).to eq(deal_custom_fields)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ RSpec.describe PipeDrive::Organization do
8
8
 
9
9
  context '.field_keys' do
10
10
  it 'should obtain person custom field' do
11
- org_custom_fields = {region: 'region key'}
11
+ org_custom_fields = {region: {id: 1, key: 'region key'}}
12
12
  expect(PipeDrive::Organization.field_keys).to eq(org_custom_fields)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ RSpec.describe PipeDrive::Person do
8
8
 
9
9
  context '.field_keys' do
10
10
  it 'should obtain person custom field' do
11
- person_custom_fields = {role: 'role key'}
11
+ person_custom_fields = {role: {id: 2, key: 'role key'}}
12
12
  expect(PipeDrive::Person.field_keys).to eq(person_custom_fields)
13
13
  end
14
14
  end
@@ -4,7 +4,7 @@ RSpec.describe PipeDrive do
4
4
  PipeDrive.setup do |config|
5
5
  config.api_token = 'api token'
6
6
  config.field_keys = {
7
- person: {test: 'test_key'}
7
+ person: {test: {id: 1, key: 'test_key'}}
8
8
  }
9
9
  config.stage_ids = {
10
10
  1 => {
@@ -13,7 +13,7 @@ RSpec.describe PipeDrive do
13
13
  }
14
14
  end
15
15
  expect(PipeDrive.api_token).to eq('api token')
16
- expect(PipeDrive.field_keys).to eq({person: {test: 'test_key'}})
16
+ expect(PipeDrive.field_keys).to eq({person: {test: {id: 1, key: 'test_key'}}})
17
17
  expect(PipeDrive.stage_ids).to eq({1 => {test: 1}})
18
18
  end
19
19
  end
data/spec/spec_helper.rb CHANGED
@@ -13,13 +13,13 @@ PipeDrive.setup do |config|
13
13
  config.api_token = 'api_token'
14
14
  config.field_keys = {
15
15
  organization: {
16
- region: 'region key'
16
+ region: {id: 1, key: 'region key'}
17
17
  },
18
18
  person: {
19
- role: 'role key'
19
+ role: {id: 2, key: 'role key'}
20
20
  },
21
21
  deal: {
22
- product: 'product key'
22
+ product: {id: 3, key: 'product key'}
23
23
  }
24
24
  }
25
25
  config.stage_ids = {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipe_drive_ruby_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - JiaRou Lee