pipedrive_jetrockets 0.0.68 → 0.0.69
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 +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
|