Method: FigmaClient#get_nodes

Defined in:
lib/admiral-tools-figma/helper/figma/figma_client/figma_client.rb

#get_nodes(file_key:, node_ids:, depth: 1) ⇒ Object



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/admiral-tools-figma/helper/figma/figma_client/figma_client.rb', line 156

def get_nodes(file_key:, node_ids:, depth: 1)
  uri = URI.parse("#{@base_url}/files/#{file_key}/nodes")
  node_ids_string = node_ids.join(',')
  params = { "ids": node_ids_string, "depth": depth }
  add_query_parameters(uri: uri, params: params)

  req = create_request(uri)
  http = create_http_client(uri)

  res = http.start do |h|
    h.request(req)
  end

  raise "HTTP Status Code: #{res.code}\n#{res.body}" unless res.is_a?(Net::HTTPSuccess)

  json_data = JSON.parse(res.body)
  FigmaNodesResult.from_hash(json_data)
end