voog_api 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rspec +2 -0
- data/Gemfile +3 -0
- data/Guardfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.markdown +55 -0
- data/Rakefile +1 -0
- data/lib/voog_api/api/articles.rb +77 -0
- data/lib/voog_api/api/assets.rb +31 -0
- data/lib/voog_api/api/comments.rb +36 -0
- data/lib/voog_api/api/content_partials.rb +21 -0
- data/lib/voog_api/api/contents.rb +38 -0
- data/lib/voog_api/api/element_definitions.rb +31 -0
- data/lib/voog_api/api/elements.rb +63 -0
- data/lib/voog_api/api/forms.rb +21 -0
- data/lib/voog_api/api/languages.rb +68 -0
- data/lib/voog_api/api/layout_assets.rb +39 -0
- data/lib/voog_api/api/layouts.rb +31 -0
- data/lib/voog_api/api/media_sets.rb +36 -0
- data/lib/voog_api/api/nodes.rb +26 -0
- data/lib/voog_api/api/pages.rb +77 -0
- data/lib/voog_api/api/people.rb +16 -0
- data/lib/voog_api/api/site.rb +35 -0
- data/lib/voog_api/api/tags.rb +26 -0
- data/lib/voog_api/api/texts.rb +21 -0
- data/lib/voog_api/api/tickets.rb +26 -0
- data/lib/voog_api/client.rb +140 -0
- data/lib/voog_api/version.rb +3 -0
- data/lib/voog_api.rb +46 -0
- data/spec/fixtures/articles/article.json +37 -0
- data/spec/fixtures/articles/articles.json +75 -0
- data/spec/fixtures/assets/asset.json +24 -0
- data/spec/fixtures/assets/assets.json +29 -0
- data/spec/fixtures/comments/comment.json +21 -0
- data/spec/fixtures/comments/comments.json +35 -0
- data/spec/fixtures/content_partials/content_partial.json +27 -0
- data/spec/fixtures/content_partials/content_partials.json +47 -0
- data/spec/fixtures/contents/content.json +31 -0
- data/spec/fixtures/contents/contents.json +63 -0
- data/spec/fixtures/element_definitions/element_definition.json +31 -0
- data/spec/fixtures/element_definitions/element_definitions.json +15 -0
- data/spec/fixtures/elements/element.json +35 -0
- data/spec/fixtures/elements/elements.json +57 -0
- data/spec/fixtures/forms/form.json +104 -0
- data/spec/fixtures/forms/forms.json +43 -0
- data/spec/fixtures/languages/language.json +13 -0
- data/spec/fixtures/languages/languages.json +27 -0
- data/spec/fixtures/layout_assets/layout_asset.json +14 -0
- data/spec/fixtures/layout_assets/layout_assets.json +29 -0
- data/spec/fixtures/layouts/layout.json +11 -0
- data/spec/fixtures/layouts/layouts.json +23 -0
- data/spec/fixtures/media_sets/media_set.json +23 -0
- data/spec/fixtures/media_sets/media_sets.json +32 -0
- data/spec/fixtures/nodes/node.json +11 -0
- data/spec/fixtures/nodes/nodes.json +23 -0
- data/spec/fixtures/pages/page.json +73 -0
- data/spec/fixtures/pages/pages.json +104 -0
- data/spec/fixtures/people/people.json +29 -0
- data/spec/fixtures/people/person.json +14 -0
- data/spec/fixtures/site/site.json +30 -0
- data/spec/fixtures/tags/tag.json +20 -0
- data/spec/fixtures/tags/tags.json +31 -0
- data/spec/fixtures/texts/text.json +23 -0
- data/spec/fixtures/texts/texts.json +45 -0
- data/spec/fixtures/tickets/ticket.json +26 -0
- data/spec/fixtures/tickets/tickets.json +29 -0
- data/spec/spec_helper.rb +46 -0
- data/spec/voog_api/api/articles_spec.rb +89 -0
- data/spec/voog_api/api/assets_spec.rb +53 -0
- data/spec/voog_api/api/comments_spec.rb +66 -0
- data/spec/voog_api/api/content_partials_spec.rb +41 -0
- data/spec/voog_api/api/contents_spec.rb +53 -0
- data/spec/voog_api/api/element_definitions_spec.rb +53 -0
- data/spec/voog_api/api/elements_spec.rb +78 -0
- data/spec/voog_api/api/forms_spec.rb +41 -0
- data/spec/voog_api/api/languages_spec.rb +89 -0
- data/spec/voog_api/api/layout_assets_spec.rb +54 -0
- data/spec/voog_api/api/layouts_spec.rb +53 -0
- data/spec/voog_api/api/media_sets_spec.rb +64 -0
- data/spec/voog_api/api/nodes_spec.rb +52 -0
- data/spec/voog_api/api/pages_spec.rb +89 -0
- data/spec/voog_api/api/people_spec.rb +30 -0
- data/spec/voog_api/api/site_spec.rb +53 -0
- data/spec/voog_api/api/tags_spec.rb +53 -0
- data/spec/voog_api/api/texts_spec.rb +41 -0
- data/spec/voog_api/api/tickets_spec.rb +54 -0
- data/spec/voog_spec.rb +38 -0
- data/voog_api.gemspec +27 -0
- metadata +278 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4e20e5667103808724ed2df2060430cb06585194
|
4
|
+
data.tar.gz: 87276171f2c2ad169c6241aac2a53e9d3e35a00c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 85efc4a527b459c8787b6639dafc1552ea640ed3af02fc2e4568f28b729d0607e4e4ba3ab4e1877251853f3ff6af40354abb31b5e817d18cf37499a14d9fde6a
|
7
|
+
data.tar.gz: d0cf82aad10c84fcf89cd169a01e78263242adb8588771faaef74f3be4e449b9a78d96fd6895b317016a58964e109bf7af251c9b1b02f8de5ee2a69f6ab1f325
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Priit Haamer
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# voog.rb
|
2
|
+
|
3
|
+
Ruby toolkit for the [Voog](http://www.voog.com) API.
|
4
|
+
|
5
|
+
Learn more at the [Voog developer central](http://www.voog.com/developers/api) and by reading the [Voog API documentation](http://www.voog.com/developers/api).
|
6
|
+
|
7
|
+
## Getting started
|
8
|
+
|
9
|
+
Either add this line to your application's `Gemfile`:
|
10
|
+
|
11
|
+
```
|
12
|
+
gem 'voog_api'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
```
|
18
|
+
$ bundle
|
19
|
+
```
|
20
|
+
|
21
|
+
Or install it yourself as:
|
22
|
+
|
23
|
+
```
|
24
|
+
$ gem install voog_api
|
25
|
+
```
|
26
|
+
|
27
|
+
## API token
|
28
|
+
|
29
|
+
To generate your personal **API token** for your site, go to `Account` -> `My profile` and click on "Generate new API token".
|
30
|
+
|
31
|
+
## Initializing the client
|
32
|
+
|
33
|
+
All requests to the Voog API are done through the `Voog::Client` class, which takes two parameters: site host and API token.
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
client = Voog::Client.new('example.com', 'afcf30182aecfc8155d390d7d4552d14')
|
37
|
+
```
|
38
|
+
|
39
|
+
Making an API request is as simple as calling a single method on the client:
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
client.layouts
|
43
|
+
```
|
44
|
+
|
45
|
+
Most responses from the client are `Response` objects that provide access to the API resource objects by using both dot and hash notation:
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
layout = client.layout(1)
|
49
|
+
|
50
|
+
puts layout.title
|
51
|
+
# => "Front page"
|
52
|
+
|
53
|
+
puts layout[:title]
|
54
|
+
# => "Front page"
|
55
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Articles
|
4
|
+
|
5
|
+
# List articles
|
6
|
+
def articles(params = {})
|
7
|
+
get 'articles', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single article
|
11
|
+
def article(id, params = {})
|
12
|
+
get "articles/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a article
|
16
|
+
def create_article(data)
|
17
|
+
post 'articles', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a article
|
21
|
+
def update_article(id, data)
|
22
|
+
put "articles/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Patch a article
|
26
|
+
def patch_article(id, data)
|
27
|
+
patch "articles/#{id}", data
|
28
|
+
end
|
29
|
+
|
30
|
+
# Delete a article
|
31
|
+
def delete_article(id)
|
32
|
+
delete "articles/#{id}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# Update/create a key in article data field
|
36
|
+
#
|
37
|
+
# @params id [String] key in data field
|
38
|
+
def update_article_data(article_id, id, data)
|
39
|
+
put "articles/#{article_id}/data/#{id}", {value: data}
|
40
|
+
end
|
41
|
+
|
42
|
+
# Delete a key from article data field
|
43
|
+
#
|
44
|
+
# @params id [String] key in data field
|
45
|
+
def delete_article_data(article_id, id)
|
46
|
+
delete "articles/#{article_id}/data/#{id}"
|
47
|
+
end
|
48
|
+
|
49
|
+
# Article contents
|
50
|
+
|
51
|
+
# List contents for article
|
52
|
+
def article_contents(id, params = {})
|
53
|
+
contents(Voog::API::Contents::ParentKind::Article, id, params)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Get a single content for article
|
57
|
+
def article_content(article_id, id, params = {})
|
58
|
+
content(Voog::API::Contents::ParentKind::Article, article_id, id, params)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Create a article content for article
|
62
|
+
def create_article_content(article_id, data)
|
63
|
+
create_content(Voog::API::Contents::ParentKind::Article, article_id, data)
|
64
|
+
end
|
65
|
+
|
66
|
+
# Delete a content from article
|
67
|
+
def delete_article_content(article_id, id)
|
68
|
+
delete_content(Voog::API::Contents::ParentKind::Article, article_id, id)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Reorder/move article content inside/between content areas and parent objects
|
72
|
+
def move_article_content(article_id, id, params = {})
|
73
|
+
move_content(Voog::API::Contents::ParentKind::Article, article_id, id, params)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Assets
|
4
|
+
|
5
|
+
# List assets
|
6
|
+
def assets(params = {})
|
7
|
+
get 'assets', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single asset
|
11
|
+
def asset(id, params = {})
|
12
|
+
get "assets/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a asset
|
16
|
+
def create_asset(data)
|
17
|
+
post 'assets', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Confirm a asset upload
|
21
|
+
def confirm_asset(id)
|
22
|
+
put "assets/#{id}/confirm", nil
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a asset
|
26
|
+
def delete_asset(id)
|
27
|
+
delete "assets/#{id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Comments
|
4
|
+
|
5
|
+
# List article comments
|
6
|
+
def comments(article_id, params = {})
|
7
|
+
get "articles/#{article_id}/comments", {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single comment for article
|
11
|
+
def comment(article_id, id, params = {})
|
12
|
+
get "articles/#{article_id}/comments/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a comment
|
16
|
+
def create_comment(article_id, data)
|
17
|
+
post "articles/#{article_id}/comments", data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Toggle comment spam flag
|
21
|
+
def toggle_spam_comment(article_id, id)
|
22
|
+
put "articles/#{article_id}/comments/#{id}/toggle_spam", nil
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a article comment
|
26
|
+
def delete_comment(article_id, id)
|
27
|
+
delete "articles/#{article_id}/comments/#{id}"
|
28
|
+
end
|
29
|
+
|
30
|
+
# Delete all spam comment for article
|
31
|
+
def delete_spam_comments(article_id)
|
32
|
+
delete "articles/#{article_id}/comments/delete_spam"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module ContentPartials
|
4
|
+
|
5
|
+
# List content partials contents
|
6
|
+
def content_partials(params = {})
|
7
|
+
get 'content_partials', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single content partial content
|
11
|
+
def content_partial(id, params = {})
|
12
|
+
get "content_partials/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Update a content partial content
|
16
|
+
def update_content_partial(id, data)
|
17
|
+
put "content_partials/#{id}", data
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Contents
|
4
|
+
|
5
|
+
module ParentKind
|
6
|
+
Article = 'articles'
|
7
|
+
Element = 'elements'
|
8
|
+
Language = 'languages'
|
9
|
+
Page = 'pages'
|
10
|
+
end
|
11
|
+
|
12
|
+
# List contents
|
13
|
+
def contents(parent_name, parent_id, params = {})
|
14
|
+
get "#{parent_name}/#{parent_id}/contents", {query: params}
|
15
|
+
end
|
16
|
+
|
17
|
+
# Get a single content
|
18
|
+
def content(parent_name, parent_id, id, params = {})
|
19
|
+
get "#{parent_name}/#{parent_id}/contents/#{id}", {query: params}
|
20
|
+
end
|
21
|
+
|
22
|
+
# Create a content
|
23
|
+
def create_content(parent_name, parent_id, data)
|
24
|
+
post "#{parent_name}/#{parent_id}/contents", data
|
25
|
+
end
|
26
|
+
|
27
|
+
# Delete a content
|
28
|
+
def delete_content(parent_name, parent_id, id)
|
29
|
+
delete "#{parent_name}/#{parent_id}/contents/#{id}"
|
30
|
+
end
|
31
|
+
|
32
|
+
# Reorder/move content inside/between content areas and parent objects
|
33
|
+
def move_content(parent_name, parent_id, id, params = {})
|
34
|
+
put "#{parent_name}/#{parent_id}/contents/#{id}/move", nil, {query: params}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module ElementDefinitions
|
4
|
+
|
5
|
+
# List element_definitions
|
6
|
+
def element_definitions(params = {})
|
7
|
+
get 'element_definitions', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single element_definition
|
11
|
+
def element_definition(id, params = {})
|
12
|
+
get "element_definitions/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a element_definition
|
16
|
+
def create_element_definition(data)
|
17
|
+
post 'element_definitions', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a element_definition
|
21
|
+
def update_element_definition(id, data)
|
22
|
+
put "element_definitions/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a element_definition
|
26
|
+
def delete_element_definition(id)
|
27
|
+
delete "element_definitions/#{id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Elements
|
4
|
+
|
5
|
+
# List elements
|
6
|
+
def elements(params = {})
|
7
|
+
get 'elements', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single element
|
11
|
+
def element(id, params = {})
|
12
|
+
get "elements/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a element
|
16
|
+
def create_element(data)
|
17
|
+
post 'elements', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a element
|
21
|
+
def update_element(id, data)
|
22
|
+
put "elements/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a element
|
26
|
+
def delete_element(id)
|
27
|
+
delete "elements/#{id}"
|
28
|
+
end
|
29
|
+
|
30
|
+
# Reorder a elements
|
31
|
+
def move_element(element_id, params)
|
32
|
+
put "elements/#{element_id}/move", nil, {query: params}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Element contents
|
36
|
+
|
37
|
+
# List contents for element
|
38
|
+
def element_contents(id, params = {})
|
39
|
+
contents(Voog::API::Contents::ParentKind::Element, id, params)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Get a single content for element
|
43
|
+
def element_content(element_id, id, params = {})
|
44
|
+
content(Voog::API::Contents::ParentKind::Element, element_id, id, params)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Create a element content for element
|
48
|
+
def create_element_content(element_id, data)
|
49
|
+
create_content(Voog::API::Contents::ParentKind::Element, element_id, data)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Delete a content from element
|
53
|
+
def delete_element_content(element_id, id)
|
54
|
+
delete_content(Voog::API::Contents::ParentKind::Element, element_id, id)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Reorder/move element content inside/between content areas and parent objects
|
58
|
+
def move_element_content(element_id, id, params = {})
|
59
|
+
move_content(Voog::API::Contents::ParentKind::Element, element_id, id, params)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Forms
|
4
|
+
|
5
|
+
# List forms
|
6
|
+
def forms(params = {})
|
7
|
+
get 'forms', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single form
|
11
|
+
def form(id, params = {})
|
12
|
+
get "forms/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Update a form
|
16
|
+
def update_form(id, data)
|
17
|
+
put "forms/#{id}", data
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Languages
|
4
|
+
|
5
|
+
# List languages
|
6
|
+
def languages(params = {})
|
7
|
+
get 'languages', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single language
|
11
|
+
def language(id, params = {})
|
12
|
+
get "languages/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a language
|
16
|
+
def create_language(data)
|
17
|
+
post 'languages', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a language
|
21
|
+
def update_language(id, data)
|
22
|
+
put "languages/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a language
|
26
|
+
def delete_language(id)
|
27
|
+
delete "languages/#{id}"
|
28
|
+
end
|
29
|
+
|
30
|
+
# Reorder a language
|
31
|
+
def move_language(language_id, params)
|
32
|
+
put "languages/#{language_id}/move", nil, {query: params}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Enable language automatic detection for site visitors
|
36
|
+
def enable_language_autodetect
|
37
|
+
put "languages/enable_autodetect", nil
|
38
|
+
end
|
39
|
+
|
40
|
+
# Language contents
|
41
|
+
|
42
|
+
# List contents for language
|
43
|
+
def language_contents(id, params = {})
|
44
|
+
contents(Voog::API::Contents::ParentKind::Language, id, params)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Get a single content for language
|
48
|
+
def language_content(language_id, id, params = {})
|
49
|
+
content(Voog::API::Contents::ParentKind::Language, language_id, id, params)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Create a language content for language
|
53
|
+
def create_language_content(language_id, data)
|
54
|
+
create_content(Voog::API::Contents::ParentKind::Language, language_id, data)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Delete a content from language
|
58
|
+
def delete_language_content(language_id, id)
|
59
|
+
delete_content(Voog::API::Contents::ParentKind::Language, language_id, id)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Reorder/move language content inside/between content areas and parent objects
|
63
|
+
def move_language_content(language_id, id, params = {})
|
64
|
+
move_content(Voog::API::Contents::ParentKind::Language, language_id, id, params)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module LayoutAssets
|
4
|
+
|
5
|
+
# List layouts assets
|
6
|
+
def layout_assets(params = {})
|
7
|
+
get 'layout_assets', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single layout asset
|
11
|
+
def layout_asset(id, params = {})
|
12
|
+
get "layout_assets/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a layout asset
|
16
|
+
def create_layout_asset(data)
|
17
|
+
if data && data.key?(:file)
|
18
|
+
data[:file] = Faraday::UploadIO.new(data[:file], data[:content_type])
|
19
|
+
options = {multipart: true}
|
20
|
+
end
|
21
|
+
|
22
|
+
post 'layout_assets', data, (options || {})
|
23
|
+
end
|
24
|
+
|
25
|
+
# Update a layout asset
|
26
|
+
def update_layout_asset(id, data)
|
27
|
+
if data && data.key?(:file)
|
28
|
+
data[:data] = File.read data.delete(:file)
|
29
|
+
end
|
30
|
+
put "layout_assets/#{id}", data
|
31
|
+
end
|
32
|
+
|
33
|
+
# Delete a layout asset
|
34
|
+
def delete_layout_asset(id)
|
35
|
+
delete "layout_assets/#{id}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Layouts
|
4
|
+
|
5
|
+
# List layouts
|
6
|
+
def layouts(params = {})
|
7
|
+
get 'layouts', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single layout
|
11
|
+
def layout(id, params = {})
|
12
|
+
get "layouts/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a layout
|
16
|
+
def create_layout(data)
|
17
|
+
post 'layouts', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a layout
|
21
|
+
def update_layout(id, data)
|
22
|
+
put "layouts/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a layout
|
26
|
+
def delete_layout(id)
|
27
|
+
delete "layouts/#{id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module MediaSets
|
4
|
+
|
5
|
+
# List media_sets
|
6
|
+
def media_sets(params = {})
|
7
|
+
get 'media_sets', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single media_set
|
11
|
+
def media_set(id, params = {})
|
12
|
+
get "media_sets/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create a media_set
|
16
|
+
def create_media_set(data)
|
17
|
+
post 'media_sets', data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Update a media_set
|
21
|
+
def update_media_set(id, data)
|
22
|
+
put "media_sets/#{id}", data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Delete a media_set
|
26
|
+
def delete_media_set(id)
|
27
|
+
delete "media_sets/#{id}"
|
28
|
+
end
|
29
|
+
|
30
|
+
# Add assets to media_set
|
31
|
+
def media_set_add_assets(media_set_id, data)
|
32
|
+
put "media_sets/#{media_set_id}/add_assets", data
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
module Nodes
|
4
|
+
|
5
|
+
# List nodes
|
6
|
+
def nodes(params = {})
|
7
|
+
get 'nodes', {query: params}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Get a single node
|
11
|
+
def node(id, params = {})
|
12
|
+
get "nodes/#{id}", {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Update a node
|
16
|
+
def update_node(id, data)
|
17
|
+
put "nodes/#{id}", data
|
18
|
+
end
|
19
|
+
|
20
|
+
# Reorder a node
|
21
|
+
def move_node(node_id, params)
|
22
|
+
put "nodes/#{node_id}/move", nil, {query: params}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|