voog_api 0.0.14 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/voog_api/api/buy_buttons.rb +30 -0
- data/lib/voog_api/api/product_widgets.rb +31 -0
- data/lib/voog_api/api/redirect_rules.rb +44 -0
- data/lib/voog_api/client.rb +21 -10
- data/lib/voog_api/version.rb +1 -1
- data/spec/fixtures/buy_buttons/buy_button.json +38 -0
- data/spec/fixtures/buy_buttons/buy_buttons.json +78 -0
- data/spec/fixtures/product_widgets/product_widget.json +41 -0
- data/spec/fixtures/product_widgets/product_widgets.json +84 -0
- data/spec/fixtures/redirect_rules/redirect_rule.json +12 -0
- data/spec/fixtures/redirect_rules/redirect_rules.json +26 -0
- data/spec/spec_helper.rb +9 -6
- data/spec/voog_api/api/buy_buttons_spec.rb +56 -0
- data/spec/voog_api/api/product_widgets_spec.rb +56 -0
- data/spec/voog_api/api/redirect_rules_spec.rb +62 -0
- data/spec/voog_api/api/search_spec.rb +1 -1
- data/voog_api.gemspec +8 -8
- metadata +67 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a5de2b79ce80ba8056a366fe37a5f8117973519106101575cd040cc1a6c77c3f
|
4
|
+
data.tar.gz: 49e1dfe0187babf5a363bb90f488a6d73f8db7b70adba2e4cda1dde75ec95261
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03bc3a3ebaa5db6d032f8e1fe75181565596bf6d3b82c59ac287c0b856db8a90a7c46d191c83554c10935233e31ef1b1441a49bd2f5414d15ed73fa273421257
|
7
|
+
data.tar.gz: 459805e39d563039c3be9ed7d2d66084c0f863643764bdc72700eb89aacc2041201817fda80b4c74fd99be79fb6c7f0a7693c2bf021936abe4f30d33b6aa880d
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
# Voog Buy Buttons API methods.
|
4
|
+
#
|
5
|
+
# @see https://www.voog.com/developers/api/resources/buy_buttons
|
6
|
+
module BuyButtons
|
7
|
+
|
8
|
+
# List buy_buttons
|
9
|
+
#
|
10
|
+
# @see https://www.voog.com/developers/api/resources/buy_buttons#get_buy_buttons
|
11
|
+
def buy_buttons(params = {})
|
12
|
+
paginate 'buy_buttons', {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get a single buy_button
|
16
|
+
#
|
17
|
+
# @see https://www.voog.com/developers/api/resources/buy_buttons#get_buy_button
|
18
|
+
def buy_button(id, params = {})
|
19
|
+
get "buy_buttons/#{id}", {query: params}
|
20
|
+
end
|
21
|
+
|
22
|
+
# Update a buy_button
|
23
|
+
#
|
24
|
+
# @see https://www.voog.com/developers/api/resources/buy_buttons#update_buy_button
|
25
|
+
def update_buy_button(id, data)
|
26
|
+
put "buy_buttons/#{id}", data
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Voog
|
2
|
+
|
3
|
+
class API
|
4
|
+
# Voog Product Widgets API methods.
|
5
|
+
#
|
6
|
+
# @see https://www.voog.com/developers/api/resources/product_widgets
|
7
|
+
module ProductWidgets
|
8
|
+
|
9
|
+
# List product_widgets
|
10
|
+
#
|
11
|
+
# @see https://www.voog.com/developers/api/resources/product_widgets#get_product_widgets
|
12
|
+
def product_widgets(params = {})
|
13
|
+
paginate 'product_widgets', {query: params}
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get a single product_widget
|
17
|
+
#
|
18
|
+
# @see https://www.voog.com/developers/api/resources/product_widgets#get_product_widget
|
19
|
+
def product_widget(id, params = {})
|
20
|
+
get "product_widgets/#{id}", {query: params}
|
21
|
+
end
|
22
|
+
|
23
|
+
# Update a product_widget
|
24
|
+
#
|
25
|
+
# @see https://www.voog.com/developers/api/resources/product_widgets#update_product_widget
|
26
|
+
def update_product_widget(id, data)
|
27
|
+
put "product_widgets/#{id}", data
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Voog
|
2
|
+
class API
|
3
|
+
# Voog Redirect Rules API methods.
|
4
|
+
#
|
5
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules
|
6
|
+
module RedirectRules
|
7
|
+
|
8
|
+
# List redirect_rules
|
9
|
+
#
|
10
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules#get_redirect_rules
|
11
|
+
def redirect_rules(params = {})
|
12
|
+
paginate 'redirect_rules', {query: params}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get a single redirect_rule
|
16
|
+
#
|
17
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules#get_redirect_rule
|
18
|
+
def redirect_rule(id, params = {})
|
19
|
+
get "redirect_rules/#{id}", {query: params}
|
20
|
+
end
|
21
|
+
|
22
|
+
# Create a new redirect_rule
|
23
|
+
#
|
24
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules#create_redirect_rules
|
25
|
+
def create_redirect_rule(data)
|
26
|
+
post 'redirect_rules', data
|
27
|
+
end
|
28
|
+
|
29
|
+
# Update a redirect_rule
|
30
|
+
#
|
31
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules#update_redirect_rule
|
32
|
+
def update_redirect_rule(id, data)
|
33
|
+
put "redirect_rules/#{id}", data
|
34
|
+
end
|
35
|
+
|
36
|
+
# Delete a redirect_rule
|
37
|
+
#
|
38
|
+
# @see https://www.voog.com/developers/api/resources/redirect_rules#delete_redirect_rule
|
39
|
+
def delete_redirect_rule(id)
|
40
|
+
delete "redirect_rules/#{id}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/voog_api/client.rb
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'sawyer'
|
3
|
+
require 'faraday'
|
4
|
+
|
5
|
+
if ::Gem::Requirement.new('>= 2.0').satisfied_by?(::Gem::Version.new(Faraday::VERSION))
|
6
|
+
require 'faraday/multipart'
|
7
|
+
end
|
3
8
|
|
4
9
|
require 'voog_api/error'
|
5
10
|
|
6
11
|
require 'voog_api/api/articles'
|
7
12
|
require 'voog_api/api/assets'
|
13
|
+
require 'voog_api/api/buy_buttons'
|
8
14
|
require 'voog_api/api/comments'
|
9
15
|
require 'voog_api/api/content_partials'
|
10
16
|
require 'voog_api/api/contents'
|
@@ -12,15 +18,17 @@ require 'voog_api/api/element_definitions'
|
|
12
18
|
require 'voog_api/api/elements'
|
13
19
|
require 'voog_api/api/forms'
|
14
20
|
require 'voog_api/api/languages'
|
15
|
-
require 'voog_api/api/layouts'
|
16
21
|
require 'voog_api/api/layout_assets'
|
22
|
+
require 'voog_api/api/layouts'
|
17
23
|
require 'voog_api/api/media_sets'
|
18
24
|
require 'voog_api/api/nodes'
|
19
|
-
require 'voog_api/api/site'
|
20
25
|
require 'voog_api/api/pages'
|
21
26
|
require 'voog_api/api/people'
|
27
|
+
require 'voog_api/api/product_widgets'
|
28
|
+
require 'voog_api/api/redirect_rules'
|
22
29
|
require 'voog_api/api/search'
|
23
30
|
require 'voog_api/api/site_users'
|
31
|
+
require 'voog_api/api/site'
|
24
32
|
require 'voog_api/api/tags'
|
25
33
|
require 'voog_api/api/texts'
|
26
34
|
require 'voog_api/api/tickets'
|
@@ -36,6 +44,7 @@ module Voog
|
|
36
44
|
|
37
45
|
include Voog::API::Articles
|
38
46
|
include Voog::API::Assets
|
47
|
+
include Voog::API::BuyButtons
|
39
48
|
include Voog::API::Comments
|
40
49
|
include Voog::API::ContentPartials
|
41
50
|
include Voog::API::Contents
|
@@ -43,12 +52,14 @@ module Voog
|
|
43
52
|
include Voog::API::Elements
|
44
53
|
include Voog::API::Forms
|
45
54
|
include Voog::API::Languages
|
46
|
-
include Voog::API::Layouts
|
47
55
|
include Voog::API::LayoutAssets
|
56
|
+
include Voog::API::Layouts
|
48
57
|
include Voog::API::MediaSets
|
49
58
|
include Voog::API::Nodes
|
50
59
|
include Voog::API::Pages
|
51
60
|
include Voog::API::People
|
61
|
+
include Voog::API::ProductWidgets
|
62
|
+
include Voog::API::RedirectRules
|
52
63
|
include Voog::API::Search
|
53
64
|
include Voog::API::Site
|
54
65
|
include Voog::API::SiteUsers
|
@@ -81,7 +92,7 @@ module Voog
|
|
81
92
|
def get(url, options = {})
|
82
93
|
request :get, url, nil, options
|
83
94
|
end
|
84
|
-
|
95
|
+
|
85
96
|
def post(url, data, options = {})
|
86
97
|
request :post, url, data, options
|
87
98
|
end
|
@@ -101,7 +112,7 @@ module Voog
|
|
101
112
|
def head(url, options = {})
|
102
113
|
request :head, url, nil, options
|
103
114
|
end
|
104
|
-
|
115
|
+
|
105
116
|
def api_endpoint
|
106
117
|
"#{host_with_protocol}/admin/api".freeze
|
107
118
|
end
|
@@ -109,7 +120,7 @@ module Voog
|
|
109
120
|
def host_with_protocol
|
110
121
|
"#{protocol}://#{host}".freeze
|
111
122
|
end
|
112
|
-
|
123
|
+
|
113
124
|
def agent
|
114
125
|
@agent ||= Sawyer::Agent.new(api_endpoint, sawyer_options) do |http|
|
115
126
|
http.headers[:content_type] = 'application/json'
|
@@ -129,7 +140,7 @@ module Voog
|
|
129
140
|
faraday.headers[:user_agent] = 'Voog.rb Ruby wrapper'
|
130
141
|
end
|
131
142
|
end
|
132
|
-
|
143
|
+
|
133
144
|
def last_response
|
134
145
|
@last_response
|
135
146
|
end
|
@@ -162,16 +173,16 @@ module Voog
|
|
162
173
|
end
|
163
174
|
|
164
175
|
data
|
165
|
-
|
176
|
+
end
|
166
177
|
|
167
178
|
private
|
168
|
-
|
179
|
+
|
169
180
|
def request(method, path, data, options = {})
|
170
181
|
multipart = options.fetch(:multipart, false) && (method == :post)
|
171
182
|
|
172
183
|
@last_response = response = multipart ? \
|
173
184
|
multipart_agent.post("#{api_endpoint}/#{path}", data) : \
|
174
|
-
agent.call(method, URI.
|
185
|
+
agent.call(method, URI.parse(path.to_s), data, options.dup)
|
175
186
|
|
176
187
|
raise Voog::MovedPermanently.new(response, host_with_protocol) if response.status == 301
|
177
188
|
|
data/lib/voog_api/version.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
{
|
2
|
+
"id": 2,
|
3
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
4
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
5
|
+
"settings": {
|
6
|
+
"title": "Add to cart",
|
7
|
+
"button_style": "with_price"
|
8
|
+
},
|
9
|
+
"url": "http://voog.test/admin/api/buy_buttons/2",
|
10
|
+
"content": {
|
11
|
+
"id": 2,
|
12
|
+
"name": "body",
|
13
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
14
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
15
|
+
"position": 1,
|
16
|
+
"url": "http://voog.test/admin/api/pages/1/contents/2"
|
17
|
+
},
|
18
|
+
"parent": {
|
19
|
+
"id": 1,
|
20
|
+
"title": "Home",
|
21
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
22
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
23
|
+
"type": "page",
|
24
|
+
"url": "http://voog.test/admin/api/pages/1"
|
25
|
+
},
|
26
|
+
"product": {
|
27
|
+
"id": 1,
|
28
|
+
"name": "Product",
|
29
|
+
"price": "100.0",
|
30
|
+
"status": "live",
|
31
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
32
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
33
|
+
"sku": "product-sku",
|
34
|
+
"uses_variants": false,
|
35
|
+
"tax_rate": "20.0",
|
36
|
+
"in_stock": true
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
5
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
6
|
+
"settings": {
|
7
|
+
"title": "Add to cart",
|
8
|
+
"button_style": "with_price"
|
9
|
+
},
|
10
|
+
"url": "http://voog.test/admin/api/buy_buttons/1",
|
11
|
+
"content": {
|
12
|
+
"id": 1,
|
13
|
+
"name": "body",
|
14
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
15
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
16
|
+
"position": 1,
|
17
|
+
"url": "http://voog.test/admin/api/pages/1/contents/1"
|
18
|
+
},
|
19
|
+
"parent": {
|
20
|
+
"id": 1,
|
21
|
+
"title": "Home",
|
22
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
23
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
24
|
+
"type": "page",
|
25
|
+
"url": "http://voog.test/admin/api/pages/1"
|
26
|
+
},
|
27
|
+
"product": {
|
28
|
+
"id": 1,
|
29
|
+
"name": "Product",
|
30
|
+
"price": "100.0",
|
31
|
+
"status": "live",
|
32
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
33
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
34
|
+
"sku": "product-sku",
|
35
|
+
"uses_variants": false,
|
36
|
+
"tax_rate": "20.0",
|
37
|
+
"in_stock": true
|
38
|
+
}
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"id": 2,
|
42
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
43
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
44
|
+
"settings": {
|
45
|
+
"title": "Add to cart",
|
46
|
+
"button_style": "with_price"
|
47
|
+
},
|
48
|
+
"url": "http://voog.test/admin/api/buy_buttons/2",
|
49
|
+
"content": {
|
50
|
+
"id": 2,
|
51
|
+
"name": "body",
|
52
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
53
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
54
|
+
"position": 1,
|
55
|
+
"url": "http://voog.test/admin/api/pages/1/contents/2"
|
56
|
+
},
|
57
|
+
"parent": {
|
58
|
+
"id": 1,
|
59
|
+
"title": "Home",
|
60
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
61
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
62
|
+
"type": "page",
|
63
|
+
"url": "http://voog.test/admin/api/pages/1"
|
64
|
+
},
|
65
|
+
"product": {
|
66
|
+
"id": 1,
|
67
|
+
"name": "Product",
|
68
|
+
"price": "100.0",
|
69
|
+
"status": "live",
|
70
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
71
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
72
|
+
"sku": "product-sku",
|
73
|
+
"uses_variants": false,
|
74
|
+
"tax_rate": "20.0",
|
75
|
+
"in_stock": true
|
76
|
+
}
|
77
|
+
}
|
78
|
+
]
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"id": 2,
|
3
|
+
"created_at": "2023-11-17T13:26:47.000Z",
|
4
|
+
"updated_at": "2023-11-17T13:26:47.000Z",
|
5
|
+
"content_settings": {
|
6
|
+
"category_ids": [],
|
7
|
+
"sort_order": "created_at-desc"
|
8
|
+
},
|
9
|
+
"design_settings": {
|
10
|
+
"layout": "grid",
|
11
|
+
"columns": 3,
|
12
|
+
"item_width": 300,
|
13
|
+
"item_height": 600,
|
14
|
+
"mask_content_overflow": true,
|
15
|
+
"show_navigation_buttons": true,
|
16
|
+
"mobile_columns": 2,
|
17
|
+
"show_cart_button": true,
|
18
|
+
"show_price": true,
|
19
|
+
"show_product_filters": true,
|
20
|
+
"product_count": 56,
|
21
|
+
"show_discount_label": false,
|
22
|
+
"show_discount_percentage": false
|
23
|
+
},
|
24
|
+
"url": "http://voog.test/admin/api/product_widgets/2",
|
25
|
+
"content": {
|
26
|
+
"id": 2,
|
27
|
+
"name": "body",
|
28
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
29
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
30
|
+
"position": 1,
|
31
|
+
"url": "http://voog.test/admin/api/pages/1/contents/2"
|
32
|
+
},
|
33
|
+
"parent": {
|
34
|
+
"id": 1,
|
35
|
+
"title": "Home",
|
36
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
37
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
38
|
+
"type": "page",
|
39
|
+
"url": "http://voog.test/admin/api/pages/1"
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"created_at": "2023-11-17T13:25:47.000Z",
|
5
|
+
"updated_at": "2023-11-17T13:25:47.000Z",
|
6
|
+
"content_settings": {
|
7
|
+
"category_ids": [],
|
8
|
+
"sort_order": "created_at-desc"
|
9
|
+
},
|
10
|
+
"design_settings": {
|
11
|
+
"layout": "grid",
|
12
|
+
"columns": 3,
|
13
|
+
"item_width": 300,
|
14
|
+
"item_height": 600,
|
15
|
+
"mask_content_overflow": true,
|
16
|
+
"show_navigation_buttons": true,
|
17
|
+
"mobile_columns": 2,
|
18
|
+
"show_cart_button": true,
|
19
|
+
"show_price": true,
|
20
|
+
"show_product_filters": true,
|
21
|
+
"product_count": 56,
|
22
|
+
"show_discount_label": false,
|
23
|
+
"show_discount_percentage": false
|
24
|
+
},
|
25
|
+
"url": "http://voog.test/admin/api/product_widgets/1",
|
26
|
+
"content": {
|
27
|
+
"id": 1,
|
28
|
+
"name": "body",
|
29
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
30
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
31
|
+
"position": 1,
|
32
|
+
"url": "http://voog.test/admin/api/pages/1/contents/1"
|
33
|
+
},
|
34
|
+
"parent": {
|
35
|
+
"id": 1,
|
36
|
+
"title": "Home",
|
37
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
38
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
39
|
+
"type": "page",
|
40
|
+
"url": "http://voog.test/admin/api/pages/1"
|
41
|
+
}
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"id": 2,
|
45
|
+
"created_at": "2023-11-17T13:26:47.000Z",
|
46
|
+
"updated_at": "2023-11-17T13:26:47.000Z",
|
47
|
+
"content_settings": {
|
48
|
+
"category_ids": [],
|
49
|
+
"sort_order": "created_at-desc"
|
50
|
+
},
|
51
|
+
"design_settings": {
|
52
|
+
"layout": "grid",
|
53
|
+
"columns": 3,
|
54
|
+
"item_width": 300,
|
55
|
+
"item_height": 600,
|
56
|
+
"mask_content_overflow": true,
|
57
|
+
"show_navigation_buttons": true,
|
58
|
+
"mobile_columns": 2,
|
59
|
+
"show_cart_button": true,
|
60
|
+
"show_price": true,
|
61
|
+
"show_product_filters": true,
|
62
|
+
"product_count": 56,
|
63
|
+
"show_discount_label": false,
|
64
|
+
"show_discount_percentage": false
|
65
|
+
},
|
66
|
+
"url": "http://voog.test/admin/api/product_widgets/2",
|
67
|
+
"content": {
|
68
|
+
"id": 2,
|
69
|
+
"name": "body",
|
70
|
+
"created_at": "2023-11-17T12:56:36.000Z",
|
71
|
+
"updated_at": "2023-11-17T12:56:36.000Z",
|
72
|
+
"position": 1,
|
73
|
+
"url": "http://voog.test/admin/api/pages/1/contents/2"
|
74
|
+
},
|
75
|
+
"parent": {
|
76
|
+
"id": 1,
|
77
|
+
"title": "Home",
|
78
|
+
"created_at": "2023-11-17T12:55:36.000Z",
|
79
|
+
"updated_at": "2023-11-17T12:55:36.000Z",
|
80
|
+
"type": "page",
|
81
|
+
"url": "http://voog.test/admin/api/pages/1"
|
82
|
+
}
|
83
|
+
}
|
84
|
+
]
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"id": 2,
|
3
|
+
"active": true,
|
4
|
+
"regexp": false,
|
5
|
+
"source": "/other-page",
|
6
|
+
"destination": "/new-other-page",
|
7
|
+
"redirect_type": 301,
|
8
|
+
"complexity": 1005,
|
9
|
+
"created_at": "2023-11-24T10:23:49.000Z",
|
10
|
+
"updated_at": "2023-11-24T10:23:49.000Z",
|
11
|
+
"url": "http://voog.test/admin/api/redirect_rules/2"
|
12
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"active": true,
|
5
|
+
"regexp": false,
|
6
|
+
"source": "/page",
|
7
|
+
"destination": "/new-page",
|
8
|
+
"redirect_type": 301,
|
9
|
+
"complexity": 1005,
|
10
|
+
"created_at": "2023-11-24T10:23:04.000Z",
|
11
|
+
"updated_at": "2023-11-24T10:23:04.000Z",
|
12
|
+
"url": "http://voog.test/admin/api/redirect_rules/1"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"id": 2,
|
16
|
+
"active": true,
|
17
|
+
"regexp": false,
|
18
|
+
"source": "/other-page",
|
19
|
+
"destination": "/new-other-page",
|
20
|
+
"redirect_type": 301,
|
21
|
+
"complexity": 1005,
|
22
|
+
"created_at": "2023-11-24T10:23:49.000Z",
|
23
|
+
"updated_at": "2023-11-24T10:23:49.000Z",
|
24
|
+
"url": "http://voog.test/admin/api/redirect_rules/2"
|
25
|
+
}
|
26
|
+
]
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'voog_api'
|
2
2
|
require 'webmock/rspec'
|
3
|
+
require 'pathname'
|
3
4
|
|
4
5
|
WebMock.disable_net_connect!
|
5
6
|
|
6
7
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
8
|
RSpec.configure do |config|
|
8
|
-
|
9
|
+
|
9
10
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
10
11
|
config.run_all_when_everything_filtered = true
|
11
12
|
config.filter_run :focus
|
@@ -30,14 +31,16 @@ def fixture(file)
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def request_fixture(method, path, options = {})
|
33
|
-
request =
|
34
|
-
headers: {
|
35
|
-
|
36
|
-
|
34
|
+
request = {
|
35
|
+
headers: {
|
36
|
+
'X-API-TOKEN' => 'afcf30182aecfc8155d390d7d4552d14'
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
37
40
|
response = ({headers: {'Content-Type' => 'application/json'}}).tap { |response|
|
38
41
|
response[:body] = fixture(options[:fixture]) if options.has_key?(:fixture)
|
39
42
|
}.merge(options.fetch(:response, {}))
|
40
|
-
|
43
|
+
|
41
44
|
stub_request(method, voog_url(path)).with(request).to_return(response)
|
42
45
|
end
|
43
46
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Voog::API::BuyButtons do
|
4
|
+
let(:client) { voog_client }
|
5
|
+
|
6
|
+
describe '#buy_buttons' do
|
7
|
+
before do
|
8
|
+
request_fixture(:get, 'buy_buttons', fixture: 'buy_buttons/buy_buttons')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'returns a list of buy_buttons' do
|
12
|
+
expect(client.buy_buttons.length).to eql(2)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#buy_button' do
|
17
|
+
before do
|
18
|
+
request_fixture(:get, 'buy_buttons/2', fixture: 'buy_buttons/buy_button')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'returns a single buy_button' do
|
22
|
+
expect(client.buy_button(2).settings.title).to eq('Add to cart')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'returns a buy_button with the same id as in the request' do
|
26
|
+
expect(client.buy_button(2).id).to eq(2)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '#update_buy_button' do
|
31
|
+
let(:new_title) { 'New title' }
|
32
|
+
|
33
|
+
before do
|
34
|
+
request_fixture(
|
35
|
+
:put,
|
36
|
+
'buy_buttons/2',
|
37
|
+
request: {
|
38
|
+
body: {
|
39
|
+
settings: {
|
40
|
+
title: new_title
|
41
|
+
}
|
42
|
+
}
|
43
|
+
},
|
44
|
+
response: {
|
45
|
+
body: "{\"id\": 2, \"settings\": {\"title\": \"#{new_title}\"}}"
|
46
|
+
}
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'responds with new title' do
|
51
|
+
expect(
|
52
|
+
client.update_buy_button(2, settings: {title: new_title}).settings.title
|
53
|
+
).to eq(new_title)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Voog::API::ProductWidgets do
|
4
|
+
let(:client) { voog_client }
|
5
|
+
|
6
|
+
describe '#product_widgets' do
|
7
|
+
before do
|
8
|
+
request_fixture(:get, 'product_widgets', fixture: 'product_widgets/product_widgets')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'returns a list of product_widgets' do
|
12
|
+
expect(client.product_widgets.length).to eql(2)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#product_widget' do
|
17
|
+
before do
|
18
|
+
request_fixture(:get, 'product_widgets/2', fixture: 'product_widgets/product_widget')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'returns a single product_widget' do
|
22
|
+
expect(client.product_widget(2).design_settings.layout).to eq('grid')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'returns a product_widget with the same id as in the request' do
|
26
|
+
expect(client.product_widget(2).id).to eq(2)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '#update_product_widget' do
|
31
|
+
let(:new_layout) { 'list' }
|
32
|
+
|
33
|
+
before do
|
34
|
+
request_fixture(
|
35
|
+
:put,
|
36
|
+
'product_widgets/2',
|
37
|
+
request: {
|
38
|
+
body: {
|
39
|
+
design_settings: {
|
40
|
+
layout: new_layout
|
41
|
+
}
|
42
|
+
}
|
43
|
+
},
|
44
|
+
response: {
|
45
|
+
body: "{\"id\": 2, \"design_settings\": {\"layout\": \"#{new_layout}\"}}"
|
46
|
+
}
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'responds with new layout' do
|
51
|
+
expect(
|
52
|
+
client.update_product_widget(2, design_settings: {layout: new_layout}).design_settings.layout
|
53
|
+
).to eq(new_layout)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Voog::API::RedirectRules do
|
4
|
+
|
5
|
+
let(:client) { voog_client }
|
6
|
+
|
7
|
+
describe '#redirect_rules' do
|
8
|
+
before do
|
9
|
+
request_fixture(:get, 'redirect_rules', fixture: 'redirect_rules/redirect_rules')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'returns a list of redirect_rules' do
|
13
|
+
expect(client.redirect_rules.length).to eql(2)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#redirect_rule' do
|
18
|
+
before do
|
19
|
+
request_fixture(:get, 'redirect_rules/2', fixture: 'redirect_rules/redirect_rule')
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'returns a single redirect_rule' do
|
23
|
+
expect(client.redirect_rule(2).source).to eq('/other-page')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'returns a redirect_rule with the same id as in the request' do
|
27
|
+
expect(client.redirect_rule(2).id).to eq(2)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#delete_redirect_rule' do
|
32
|
+
before do
|
33
|
+
request_fixture(:delete, 'redirect_rules/2')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'calls delete method on redirect_rule' do
|
37
|
+
client.delete_redirect_rule(2)
|
38
|
+
|
39
|
+
assert_requested :delete, 'http://voog.test/admin/api/redirect_rules/2'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '#update_redirect_rule' do
|
44
|
+
let(:new_source) { '/new-source' }
|
45
|
+
before do
|
46
|
+
request_fixture(
|
47
|
+
:put,
|
48
|
+
'redirect_rules/2',
|
49
|
+
request: {
|
50
|
+
body: {source: new_source}
|
51
|
+
},
|
52
|
+
response: {
|
53
|
+
body: "{\"id\": 2, \"source\": \"#{new_source}\"}"
|
54
|
+
}
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'responds with new source' do
|
59
|
+
expect(client.update_redirect_rule(2, source: new_source).source).to eq(new_source)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -6,7 +6,7 @@ describe Voog::API::Search do
|
|
6
6
|
|
7
7
|
describe '#people' do
|
8
8
|
before do
|
9
|
-
request_fixture(:get, 'search', request: {q: 'any kind of content'}, fixture: 'search/search')
|
9
|
+
request_fixture(:get, 'search', request: {query: {q: 'any kind of content'}}, fixture: 'search/search')
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'returns a list of search results' do
|
data/voog_api.gemspec
CHANGED
@@ -6,23 +6,23 @@ require 'voog_api/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'voog_api'
|
8
8
|
spec.version = Voog::VERSION
|
9
|
-
spec.authors = ['Priit Haamer', 'Mikk Pristavka', 'Tanel Jakobsoo']
|
10
|
-
spec.email = ['priit@edicy.com', 'mikk@
|
9
|
+
spec.authors = ['Priit Haamer', 'Mikk Pristavka', 'Tanel Jakobsoo', 'Peeter Paal']
|
10
|
+
spec.email = ['priit@edicy.com', 'mikk@voog.com', 'tanel@voog.com', 'peeter@voog.com']
|
11
11
|
spec.description = %q{Best API wrapper for the best website builder}
|
12
12
|
spec.summary = %q{Ruby toolkit for the Voog API}
|
13
|
-
spec.homepage = 'https://github.com/
|
13
|
+
spec.homepage = 'https://github.com/Voog/voog.rb'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_development_dependency 'bundler', '~> 1.3'
|
21
20
|
spec.add_development_dependency 'guard-rspec', '~> 4.2.0'
|
22
|
-
spec.add_development_dependency 'rspec', '~>
|
23
|
-
spec.add_development_dependency 'webmock', '
|
21
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
22
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
24
23
|
spec.add_development_dependency 'rake'
|
25
|
-
spec.add_development_dependency 'listen', '~> 3.0.8'
|
26
24
|
|
27
|
-
spec.add_dependency 'sawyer', '~> 0.
|
25
|
+
spec.add_dependency 'sawyer', '~> 0.9'
|
26
|
+
spec.add_dependency 'faraday', '>= 0.9', '< 3'
|
27
|
+
spec.add_dependency 'faraday-multipart', '> 0' if RUBY_VERSION >= '2.4'
|
28
28
|
end
|
metadata
CHANGED
@@ -1,31 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: voog_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Priit Haamer
|
8
8
|
- Mikk Pristavka
|
9
9
|
- Tanel Jakobsoo
|
10
|
-
|
10
|
+
- Peeter Paal
|
11
|
+
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2023-12-20 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: bundler
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - "~>"
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.3'
|
22
|
-
type: :development
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - "~>"
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '1.3'
|
29
16
|
- !ruby/object:Gem::Dependency
|
30
17
|
name: guard-rspec
|
31
18
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,28 +33,28 @@ dependencies:
|
|
46
33
|
requirements:
|
47
34
|
- - "~>"
|
48
35
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
36
|
+
version: '3.0'
|
50
37
|
type: :development
|
51
38
|
prerelease: false
|
52
39
|
version_requirements: !ruby/object:Gem::Requirement
|
53
40
|
requirements:
|
54
41
|
- - "~>"
|
55
42
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
43
|
+
version: '3.0'
|
57
44
|
- !ruby/object:Gem::Dependency
|
58
45
|
name: webmock
|
59
46
|
requirement: !ruby/object:Gem::Requirement
|
60
47
|
requirements:
|
61
|
-
- -
|
48
|
+
- - "~>"
|
62
49
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
50
|
+
version: '3.18'
|
64
51
|
type: :development
|
65
52
|
prerelease: false
|
66
53
|
version_requirements: !ruby/object:Gem::Requirement
|
67
54
|
requirements:
|
68
|
-
- -
|
55
|
+
- - "~>"
|
69
56
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
57
|
+
version: '3.18'
|
71
58
|
- !ruby/object:Gem::Dependency
|
72
59
|
name: rake
|
73
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,38 +70,59 @@ dependencies:
|
|
83
70
|
- !ruby/object:Gem::Version
|
84
71
|
version: '0'
|
85
72
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
73
|
+
name: sawyer
|
87
74
|
requirement: !ruby/object:Gem::Requirement
|
88
75
|
requirements:
|
89
76
|
- - "~>"
|
90
77
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
92
|
-
type: :
|
78
|
+
version: '0.9'
|
79
|
+
type: :runtime
|
93
80
|
prerelease: false
|
94
81
|
version_requirements: !ruby/object:Gem::Requirement
|
95
82
|
requirements:
|
96
83
|
- - "~>"
|
97
84
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
85
|
+
version: '0.9'
|
99
86
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
87
|
+
name: faraday
|
101
88
|
requirement: !ruby/object:Gem::Requirement
|
102
89
|
requirements:
|
103
|
-
- - "
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0.9'
|
93
|
+
- - "<"
|
104
94
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
95
|
+
version: '3'
|
106
96
|
type: :runtime
|
107
97
|
prerelease: false
|
108
98
|
version_requirements: !ruby/object:Gem::Requirement
|
109
99
|
requirements:
|
110
|
-
- - "
|
100
|
+
- - ">="
|
111
101
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.
|
102
|
+
version: '0.9'
|
103
|
+
- - "<"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '3'
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: faraday-multipart
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
type: :runtime
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
113
120
|
description: Best API wrapper for the best website builder
|
114
121
|
email:
|
115
122
|
- priit@edicy.com
|
116
|
-
- mikk@
|
117
|
-
- tanel@
|
123
|
+
- mikk@voog.com
|
124
|
+
- tanel@voog.com
|
125
|
+
- peeter@voog.com
|
118
126
|
executables: []
|
119
127
|
extensions: []
|
120
128
|
extra_rdoc_files: []
|
@@ -129,6 +137,7 @@ files:
|
|
129
137
|
- lib/voog_api.rb
|
130
138
|
- lib/voog_api/api/articles.rb
|
131
139
|
- lib/voog_api/api/assets.rb
|
140
|
+
- lib/voog_api/api/buy_buttons.rb
|
132
141
|
- lib/voog_api/api/comments.rb
|
133
142
|
- lib/voog_api/api/content_partials.rb
|
134
143
|
- lib/voog_api/api/contents.rb
|
@@ -142,6 +151,8 @@ files:
|
|
142
151
|
- lib/voog_api/api/nodes.rb
|
143
152
|
- lib/voog_api/api/pages.rb
|
144
153
|
- lib/voog_api/api/people.rb
|
154
|
+
- lib/voog_api/api/product_widgets.rb
|
155
|
+
- lib/voog_api/api/redirect_rules.rb
|
145
156
|
- lib/voog_api/api/search.rb
|
146
157
|
- lib/voog_api/api/site.rb
|
147
158
|
- lib/voog_api/api/site_users.rb
|
@@ -155,6 +166,8 @@ files:
|
|
155
166
|
- spec/fixtures/articles/articles.json
|
156
167
|
- spec/fixtures/assets/asset.json
|
157
168
|
- spec/fixtures/assets/assets.json
|
169
|
+
- spec/fixtures/buy_buttons/buy_button.json
|
170
|
+
- spec/fixtures/buy_buttons/buy_buttons.json
|
158
171
|
- spec/fixtures/comments/comment.json
|
159
172
|
- spec/fixtures/comments/comments.json
|
160
173
|
- spec/fixtures/content_partials/content_partial.json
|
@@ -181,6 +194,10 @@ files:
|
|
181
194
|
- spec/fixtures/pages/pages.json
|
182
195
|
- spec/fixtures/people/people.json
|
183
196
|
- spec/fixtures/people/person.json
|
197
|
+
- spec/fixtures/product_widgets/product_widget.json
|
198
|
+
- spec/fixtures/product_widgets/product_widgets.json
|
199
|
+
- spec/fixtures/redirect_rules/redirect_rule.json
|
200
|
+
- spec/fixtures/redirect_rules/redirect_rules.json
|
184
201
|
- spec/fixtures/search/search.json
|
185
202
|
- spec/fixtures/site/site.json
|
186
203
|
- spec/fixtures/site_users/site_user.json
|
@@ -194,6 +211,7 @@ files:
|
|
194
211
|
- spec/spec_helper.rb
|
195
212
|
- spec/voog_api/api/articles_spec.rb
|
196
213
|
- spec/voog_api/api/assets_spec.rb
|
214
|
+
- spec/voog_api/api/buy_buttons_spec.rb
|
197
215
|
- spec/voog_api/api/comments_spec.rb
|
198
216
|
- spec/voog_api/api/content_partials_spec.rb
|
199
217
|
- spec/voog_api/api/contents_spec.rb
|
@@ -207,6 +225,8 @@ files:
|
|
207
225
|
- spec/voog_api/api/nodes_spec.rb
|
208
226
|
- spec/voog_api/api/pages_spec.rb
|
209
227
|
- spec/voog_api/api/people_spec.rb
|
228
|
+
- spec/voog_api/api/product_widgets_spec.rb
|
229
|
+
- spec/voog_api/api/redirect_rules_spec.rb
|
210
230
|
- spec/voog_api/api/search_spec.rb
|
211
231
|
- spec/voog_api/api/site_spec.rb
|
212
232
|
- spec/voog_api/api/site_users_spec.rb
|
@@ -215,11 +235,11 @@ files:
|
|
215
235
|
- spec/voog_api/api/tickets_spec.rb
|
216
236
|
- spec/voog_spec.rb
|
217
237
|
- voog_api.gemspec
|
218
|
-
homepage: https://github.com/
|
238
|
+
homepage: https://github.com/Voog/voog.rb
|
219
239
|
licenses:
|
220
240
|
- MIT
|
221
241
|
metadata: {}
|
222
|
-
post_install_message:
|
242
|
+
post_install_message:
|
223
243
|
rdoc_options: []
|
224
244
|
require_paths:
|
225
245
|
- lib
|
@@ -234,9 +254,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
254
|
- !ruby/object:Gem::Version
|
235
255
|
version: '0'
|
236
256
|
requirements: []
|
237
|
-
|
238
|
-
|
239
|
-
signing_key:
|
257
|
+
rubygems_version: 3.4.10
|
258
|
+
signing_key:
|
240
259
|
specification_version: 4
|
241
260
|
summary: Ruby toolkit for the Voog API
|
242
261
|
test_files:
|
@@ -244,6 +263,8 @@ test_files:
|
|
244
263
|
- spec/fixtures/articles/articles.json
|
245
264
|
- spec/fixtures/assets/asset.json
|
246
265
|
- spec/fixtures/assets/assets.json
|
266
|
+
- spec/fixtures/buy_buttons/buy_button.json
|
267
|
+
- spec/fixtures/buy_buttons/buy_buttons.json
|
247
268
|
- spec/fixtures/comments/comment.json
|
248
269
|
- spec/fixtures/comments/comments.json
|
249
270
|
- spec/fixtures/content_partials/content_partial.json
|
@@ -270,6 +291,10 @@ test_files:
|
|
270
291
|
- spec/fixtures/pages/pages.json
|
271
292
|
- spec/fixtures/people/people.json
|
272
293
|
- spec/fixtures/people/person.json
|
294
|
+
- spec/fixtures/product_widgets/product_widget.json
|
295
|
+
- spec/fixtures/product_widgets/product_widgets.json
|
296
|
+
- spec/fixtures/redirect_rules/redirect_rule.json
|
297
|
+
- spec/fixtures/redirect_rules/redirect_rules.json
|
273
298
|
- spec/fixtures/search/search.json
|
274
299
|
- spec/fixtures/site/site.json
|
275
300
|
- spec/fixtures/site_users/site_user.json
|
@@ -283,6 +308,7 @@ test_files:
|
|
283
308
|
- spec/spec_helper.rb
|
284
309
|
- spec/voog_api/api/articles_spec.rb
|
285
310
|
- spec/voog_api/api/assets_spec.rb
|
311
|
+
- spec/voog_api/api/buy_buttons_spec.rb
|
286
312
|
- spec/voog_api/api/comments_spec.rb
|
287
313
|
- spec/voog_api/api/content_partials_spec.rb
|
288
314
|
- spec/voog_api/api/contents_spec.rb
|
@@ -296,6 +322,8 @@ test_files:
|
|
296
322
|
- spec/voog_api/api/nodes_spec.rb
|
297
323
|
- spec/voog_api/api/pages_spec.rb
|
298
324
|
- spec/voog_api/api/people_spec.rb
|
325
|
+
- spec/voog_api/api/product_widgets_spec.rb
|
326
|
+
- spec/voog_api/api/redirect_rules_spec.rb
|
299
327
|
- spec/voog_api/api/search_spec.rb
|
300
328
|
- spec/voog_api/api/site_spec.rb
|
301
329
|
- spec/voog_api/api/site_users_spec.rb
|
@@ -303,4 +331,3 @@ test_files:
|
|
303
331
|
- spec/voog_api/api/texts_spec.rb
|
304
332
|
- spec/voog_api/api/tickets_spec.rb
|
305
333
|
- spec/voog_spec.rb
|
306
|
-
has_rdoc:
|