hubspot-api-ruby 0.22.0 → 0.22.2
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/hubspot-api-ruby.gemspec +2 -1
- data/lib/hubspot/contact.rb +14 -5
- data/lib/hubspot/resource.rb +10 -7
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a1c4dba7d7f1b326dda694f28411d5f2ee995ff5e81cd1b6ffa5cc74485ecdb0
|
|
4
|
+
data.tar.gz: 81d1e069ad0cb2a2c4b8146627ef3410cd99ffbe0a3b6135650a807cc16792d4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50e8e0acc2ba97a6fc0c967b5885f185f4fdf3062d81d06e75e2b2434fc0236b256b011b0ccca42a541232d934d7cec41d67ca0e8aa109c86f786854a2ffebf4
|
|
7
|
+
data.tar.gz: 0470bc959124fae32c3b7629ee517b47795f551668c437ef0158d05bef0ce2bd9e76b489d89b0ffd09bb6f77c1fd4c42d45e764d39e56386d84a28ae814e9681
|
data/hubspot-api-ruby.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "hubspot-api-ruby"
|
|
3
|
-
s.version = "0.22.
|
|
3
|
+
s.version = "0.22.2"
|
|
4
4
|
s.require_paths = ["lib"]
|
|
5
5
|
s.authors = ["Jonathan"]
|
|
6
6
|
s.email = ["jonathan@hoggo.com"]
|
|
@@ -37,4 +37,5 @@ Gem::Specification.new do |s|
|
|
|
37
37
|
s.add_development_dependency("byebug")
|
|
38
38
|
s.add_development_dependency("faker")
|
|
39
39
|
s.add_development_dependency("factory_bot")
|
|
40
|
+
s.add_development_dependency("irb")
|
|
40
41
|
end
|
data/lib/hubspot/contact.rb
CHANGED
|
@@ -17,12 +17,13 @@ class Hubspot::Contact < Hubspot::Resource
|
|
|
17
17
|
class << self
|
|
18
18
|
def all(opts = {})
|
|
19
19
|
Hubspot::PagedCollection.new(opts) do |options, after, limit|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
20
|
+
request_options = options.merge(limit:)
|
|
21
|
+
request_options[:after] = after if after.present?
|
|
22
|
+
response = Hubspot::Connection.get_json(ALL_PATH, request_options)
|
|
24
23
|
|
|
25
|
-
contacts = response['results'].map
|
|
24
|
+
contacts = response['results'].map do |result|
|
|
25
|
+
from_result result, id_field: Hubspot::Resource.id_field
|
|
26
|
+
end
|
|
26
27
|
after = response.dig('paging', 'next', 'after')
|
|
27
28
|
[contacts, after, after.present?]
|
|
28
29
|
end
|
|
@@ -105,6 +106,14 @@ class Hubspot::Contact < Hubspot::Resource
|
|
|
105
106
|
end
|
|
106
107
|
end
|
|
107
108
|
|
|
109
|
+
def [](name)
|
|
110
|
+
return @changes[name] if changes.key? name
|
|
111
|
+
|
|
112
|
+
name_property = @properties[name]
|
|
113
|
+
|
|
114
|
+
name_property.is_a?(Hash) ? name_property['value'] : name_property
|
|
115
|
+
end
|
|
116
|
+
|
|
108
117
|
def name
|
|
109
118
|
[firstname, lastname].compact.join(' ')
|
|
110
119
|
end
|
data/lib/hubspot/resource.rb
CHANGED
|
@@ -9,7 +9,7 @@ module Hubspot
|
|
|
9
9
|
self.update_method = "put"
|
|
10
10
|
|
|
11
11
|
class << self
|
|
12
|
-
def from_result(result)
|
|
12
|
+
def from_result(result, id_field: self.id_field)
|
|
13
13
|
resource = new(result[id_field])
|
|
14
14
|
resource.send(:initialize_from, result.with_indifferent_access)
|
|
15
15
|
resource
|
|
@@ -55,9 +55,12 @@ module Hubspot
|
|
|
55
55
|
@changes = HashWithIndifferentAccess.new
|
|
56
56
|
@properties = HashWithIndifferentAccess.new
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
case id_or_properties
|
|
59
|
+
when Integer, NilClass
|
|
59
60
|
@id = id_or_properties
|
|
60
|
-
|
|
61
|
+
when String
|
|
62
|
+
@id = Integer id_or_properties
|
|
63
|
+
when Hash
|
|
61
64
|
@id = id_or_properties.delete(id_field) || id_or_properties.delete(:id)
|
|
62
65
|
|
|
63
66
|
add_accessors(id_or_properties.keys)
|
|
@@ -227,11 +230,11 @@ module Hubspot
|
|
|
227
230
|
singleton_class.instance_eval do
|
|
228
231
|
keys.each do |k|
|
|
229
232
|
# Define a getter
|
|
230
|
-
define_method(k) {
|
|
233
|
+
define_method(k) { self[k] }
|
|
231
234
|
|
|
232
235
|
# Define a setter
|
|
233
236
|
define_method("#{k}=") do |v|
|
|
234
|
-
@changes[k
|
|
237
|
+
@changes[k] = v
|
|
235
238
|
end
|
|
236
239
|
end
|
|
237
240
|
end
|
|
@@ -244,9 +247,9 @@ module Hubspot
|
|
|
244
247
|
add_accessors([attr])
|
|
245
248
|
|
|
246
249
|
# Call the new setter
|
|
247
|
-
|
|
250
|
+
send(method_name, arguments[0])
|
|
248
251
|
elsif @properties.key?(method_name)
|
|
249
|
-
|
|
252
|
+
self[method_name]
|
|
250
253
|
else
|
|
251
254
|
super
|
|
252
255
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hubspot-api-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.22.
|
|
4
|
+
version: 0.22.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan
|
|
@@ -247,6 +247,20 @@ dependencies:
|
|
|
247
247
|
- - ">="
|
|
248
248
|
- !ruby/object:Gem::Version
|
|
249
249
|
version: '0'
|
|
250
|
+
- !ruby/object:Gem::Dependency
|
|
251
|
+
name: irb
|
|
252
|
+
requirement: !ruby/object:Gem::Requirement
|
|
253
|
+
requirements:
|
|
254
|
+
- - ">="
|
|
255
|
+
- !ruby/object:Gem::Version
|
|
256
|
+
version: '0'
|
|
257
|
+
type: :development
|
|
258
|
+
prerelease: false
|
|
259
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
260
|
+
requirements:
|
|
261
|
+
- - ">="
|
|
262
|
+
- !ruby/object:Gem::Version
|
|
263
|
+
version: '0'
|
|
250
264
|
description: hubspot-api-ruby is a wrapper for the HubSpot REST API
|
|
251
265
|
email:
|
|
252
266
|
- jonathan@hoggo.com
|