class Zesty::Client

Constants

API_URLS

Attributes

instance_zuid[R]

Public Class Methods

new(token, instance_zuid, **options) click to toggle source
# File lib/zesty/client.rb, line 20
def initialize(token, instance_zuid, **options)
  @token = token
  @instance_zuid = instance_zuid
  @options = options
end

Public Instance Methods

create_head_tag(type:, attributes:, sort:, resource_zuid:) click to toggle source
# File lib/zesty/client.rb, line 80
def create_head_tag(type:, attributes:, sort:, resource_zuid:)
  Request.post(
    url_for(:create_head_tag),
    params: {
      type: type,
      attributes: attributes,
      sort: sort,
      resource_zuid: resource_zuid
    }.to_camel_case,
    headers: {
      authorization: "Bearer #{@token}"
    }
  )
end
delete_head_tag(head_tag_zuid) click to toggle source
# File lib/zesty/client.rb, line 95
def delete_head_tag(head_tag_zuid)
  Request.delete(url_for(:delete_head_tag, head_tag_zuid: head_tag_zuid), headers: { authorization: "Bearer #{@token}" })
end
get_head_tags() click to toggle source
# File lib/zesty/client.rb, line 76
def get_head_tags
  Request.get(url_for(:get_head_tags), headers: { authorization: "Bearer #{@token}" })
end
get_instance() click to toggle source
# File lib/zesty/client.rb, line 26
def get_instance
  Request.get(url_for(:get_instance), headers: { authorization: "Bearer #{@token}" })
end
get_item(model_zuid, item_zuid) click to toggle source
# File lib/zesty/client.rb, line 42
def get_item(model_zuid, item_zuid)
  Request.get(url_for(:get_item, model_zuid: model_zuid, item_zuid: item_zuid), headers: { authorization: "Bearer #{@token}" })
end
get_items(model_zuid) click to toggle source
# File lib/zesty/client.rb, line 38
def get_items(model_zuid)
  Request.get(url_for(:get_items, model_zuid: model_zuid), headers: { authorization: "Bearer #{@token}" })
end
get_model(model_zuid) click to toggle source
# File lib/zesty/client.rb, line 34
def get_model(model_zuid)
  Request.get(url_for(:get_model, model_zuid: model_zuid), headers: { authorization: "Bearer #{@token}" })
end
get_models() click to toggle source
# File lib/zesty/client.rb, line 30
def get_models
  Request.get(url_for(:get_models), headers: { authorization: "Bearer #{@token}" })
end
publish_item(model_zuid, item_zuid, version_number) click to toggle source
LEGACY

This will be replaced by `update_item(… publish: true)`

# File lib/zesty/client.rb, line 63
def publish_item(model_zuid, item_zuid, version_number)
  Request.post(
    "https://svc.zesty.io/sites-service/#{instance_zuid}/content/items/#{item_zuid}/publish-schedule",
    params: {
      version_num: version_number
    },
    headers: {
      authorization: "Bearer #{@token}",
      'X-Auth': @token
    }
  )
end
update_item(model_zuid, item_zuid, publish: false, data:, meta:, web: {}) click to toggle source
# File lib/zesty/client.rb, line 46
def update_item(model_zuid, item_zuid, publish: false, data:, meta:, web: {})
  # TODO: include `publish: publish` in `url_for` line once API is announced
  # TODO: add `?publish=%{publish}` to API_URLS `:update_item`
  Request.put(
    url_for(:update_item, model_zuid: model_zuid, item_zuid: item_zuid), # publish: publish),
    params: {
      data: data,
      meta: meta.to_camel_case,
      web: web.to_camel_case
    },
    headers: {
      authorization: "Bearer #{@token}"
    }
  )
end

Private Instance Methods

url_for(name, **data) click to toggle source
# File lib/zesty/client.rb, line 101
def url_for(name, **data)
  format(API_URLS.fetch(name), data.merge(instance_zuid: instance_zuid))
end