pipedrive_jetrockets 0.0.68 → 0.0.69
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pipedrive_jetrockets/deal.rb +2 -8
- data/lib/pipedrive_jetrockets/entity.rb +16 -0
- data/lib/pipedrive_jetrockets/field.rb +5 -0
- data/lib/pipedrive_jetrockets/field_service.rb +4 -0
- data/lib/pipedrive_jetrockets/organization.rb +2 -7
- data/lib/pipedrive_jetrockets/person.rb +2 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dff17bb1ab5a4d627d53222fec2511cb508691994723076ce63a18d1235f8da8
|
4
|
+
data.tar.gz: 21678c725aa915630193af75f6bcb5fa2c42bef845aec6547a0dd00eb0277bb4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5719dea759b152fd605da1353b5876eabdf520bad53a3516c629e5fe540240d13411b24df507117a8a098a7182767d6f7e3198ce9be5d3ad86cad0a5760ab876
|
7
|
+
data.tar.gz: fc40a7b0da214fd13cabf3b80a58e3ed4d79a3e187ef77475469a60ee5e6247e4e0e3a54761bca49b15c54d254b171082ea9bdafc3ed43ac0956d99b213009c1
|
@@ -5,19 +5,13 @@ module PipedriveJetrockets
|
|
5
5
|
class Deal < Entity
|
6
6
|
attr_accessor :organization, :person
|
7
7
|
def initialize(hash)
|
8
|
-
@@key_name_hash ||= Pipedrive.deal_fields.
|
8
|
+
@@key_name_hash ||= Pipedrive.deal_fields.key_field_hash
|
9
9
|
super(hash.except(*@@key_name_hash.keys))
|
10
10
|
|
11
11
|
org_id = hash['org_id']
|
12
12
|
person_id = hash['person_id']
|
13
13
|
|
14
|
-
@@key_name_hash
|
15
|
-
name = name.underscore.gsub(' ','_')
|
16
|
-
name = name.gsub('%','percent').gsub(/[^a-zA-Z0-9_]/,'')
|
17
|
-
name = transform_field_name(key, name)
|
18
|
-
instance_variable_set("@#{name}", hash[key])
|
19
|
-
Deal.class_eval {attr_accessor name}
|
20
|
-
end
|
14
|
+
assign_custom_fields(@@key_name_hash, hash)
|
21
15
|
|
22
16
|
if org_id
|
23
17
|
if org_id.kind_of? Integer
|
@@ -7,6 +7,22 @@ module PipedriveJetrockets
|
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
+
def assign_custom_fields(key_name_hash, entity_hash)
|
11
|
+
key_name_hash.each do |key, field|
|
12
|
+
name = field.name
|
13
|
+
name = name.underscore.gsub(' ','_')
|
14
|
+
name = name.gsub('%','percent').gsub(/[^a-zA-Z0-9_]/,'')
|
15
|
+
name = transform_field_name(key, name)
|
16
|
+
if field.field_type == 'enum'
|
17
|
+
option_id = entity_hash[key]
|
18
|
+
instance_variable_set("@#{name}", field.options_hash[option_id])
|
19
|
+
else
|
20
|
+
instance_variable_set("@#{name}", entity_hash[key])
|
21
|
+
end
|
22
|
+
self.class.class_eval {attr_accessor name}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
10
26
|
def transform_field_name(key, name)
|
11
27
|
hash = ::CUSTOM_FIELD_NAMES
|
12
28
|
class_name = self.class.name.demodulize.underscore.to_sym
|
@@ -6,6 +6,10 @@ module PipedriveJetrockets
|
|
6
6
|
@resource_name = resource_name
|
7
7
|
end
|
8
8
|
|
9
|
+
def key_field_hash
|
10
|
+
Pipedrive.send("#{@resource_name.split(/(?=[A-Z])/).first}_fields").all.select{|field|field.edit_flag || field.is_subfield}.map{|field|{field.key => field}}.inject(:merge) || {}
|
11
|
+
end
|
12
|
+
|
9
13
|
def key_name_hash
|
10
14
|
Pipedrive.send("#{@resource_name.split(/(?=[A-Z])/).first}_fields").all.select{|field|field.edit_flag || field.is_subfield}.map{|field|{field.key => field.name}}.inject(:merge) || {}
|
11
15
|
end
|
@@ -1,16 +1,11 @@
|
|
1
1
|
module PipedriveJetrockets
|
2
2
|
class Organization < Entity
|
3
3
|
def initialize(hash)
|
4
|
-
@@key_name_hash ||= Pipedrive.organization_fields.
|
4
|
+
@@key_name_hash ||= Pipedrive.organization_fields.key_field_hash
|
5
5
|
super(hash.except(*@@key_name_hash.keys))
|
6
6
|
@id = hash['value'] if hash['value'].present?
|
7
7
|
|
8
|
-
@@key_name_hash
|
9
|
-
name = name.underscore.gsub(' ','_')
|
10
|
-
name = name.gsub('%','percent').gsub(/[^a-zA-Z0-9_]/,'')
|
11
|
-
instance_variable_set("@#{name}", hash[key])
|
12
|
-
Organization.class_eval {attr_accessor name}
|
13
|
-
end
|
8
|
+
assign_custom_fields(@@key_name_hash, hash)
|
14
9
|
end
|
15
10
|
end
|
16
11
|
end
|
@@ -2,7 +2,7 @@ module PipedriveJetrockets
|
|
2
2
|
class Person < Entity
|
3
3
|
attr_accessor :email, :phone, :organization, :id
|
4
4
|
def initialize(hash)
|
5
|
-
@@key_name_hash ||= Pipedrive.person_fields.
|
5
|
+
@@key_name_hash ||= Pipedrive.person_fields.key_field_hash
|
6
6
|
super(hash.except(*@@key_name_hash.keys))
|
7
7
|
@email = hash['email'].first['value'] if hash['email']
|
8
8
|
@phone = hash['phone'].first['value'] if hash['phone']
|
@@ -18,12 +18,7 @@ module PipedriveJetrockets
|
|
18
18
|
|
19
19
|
@id = hash['value'] if hash['value'].present?
|
20
20
|
|
21
|
-
@@key_name_hash
|
22
|
-
name = name.underscore.gsub(' ','_')
|
23
|
-
name = name.gsub('%','percent').gsub(/[^a-zA-Z0-9_]/,'')
|
24
|
-
instance_variable_set("@#{name}", hash[key])
|
25
|
-
Person.class_eval {attr_accessor name}
|
26
|
-
end
|
21
|
+
assign_custom_fields(@@key_name_hash, hash)
|
27
22
|
end
|
28
23
|
end
|
29
24
|
end
|