Class: Integrations::Cults3d::CreatorDeserializer
Constant Summary
BaseDeserializer::PATH_COMPONENTS
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
client
Instance Attribute Details
#username ⇒ Object
Returns the value of attribute username.
2
3
4
|
# File 'app/deserializers/integrations/cults3d/creator_deserializer.rb', line 2
def username
@username
end
|
Class Method Details
.parse(data) ⇒ Object
20
21
22
23
24
25
26
27
28
|
# File 'app/deserializers/integrations/cults3d/creator_deserializer.rb', line 20
def self.parse(data)
{
name: data&.nick,
slug: data&.nick&.parameterize,
notes: data&.bio,
links_attributes: [{url: data&.url}],
avatar_remote_url: data&.image_url
}
end
|
Instance Method Details
#capabilities ⇒ Object
30
31
32
33
34
35
36
37
|
# File 'app/deserializers/integrations/cults3d/creator_deserializer.rb', line 30
def capabilities
{
class: Creator,
name: true,
slug: true,
notes: true
}
end
|
#deserialize ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'app/deserializers/integrations/cults3d/creator_deserializer.rb', line 4
def deserialize
return {} unless valid?
result = self.class.client.query <<~GRAPHQL
{
user(nick: "#{@username}") {
nick
bio
url
imageUrl
}
}
GRAPHQL
raise Faraday::ResourceNotFound.new("Not Found") unless result.data&.user
self.class.parse(result.data&.user)
end
|