contentful_middleman 3.0.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +10 -3
- data/CHANGELOG.md +8 -5
- data/DEPLOYING.md +0 -18
- data/Gemfile +2 -1
- data/README.md +2 -3
- data/contentful_middleman.gemspec +2 -1
- data/examples/mappers/backref.rb +1 -1
- data/lib/contentful_middleman/commands/contentful.rb +24 -22
- data/lib/contentful_middleman/core.rb +8 -0
- data/lib/contentful_middleman/import_task.rb +3 -10
- data/lib/contentful_middleman/instance.rb +1 -1
- data/lib/contentful_middleman/mappers/base.rb +5 -12
- data/lib/contentful_middleman/version.rb +1 -1
- data/lib/contentful_middleman/version_hash.rb +2 -3
- data/spec/contentful_middleman/core_spec.rb +3 -3
- data/spec/contentful_middleman/import_task_spec.rb +2 -3
- data/spec/contentful_middleman/instance_spec.rb +1 -1
- data/spec/contentful_middleman/mappers/base_spec.rb +0 -31
- data/spec/fixtures/backup_fixtures/.tmp/backups/.gitkeep +0 -0
- data/spec/fixtures/vcr_fixtures/client.yml +1 -1
- data/spec/fixtures/vcr_fixtures/entries/localized_references.yml +2 -2
- data/spec/fixtures/vcr_fixtures/entries/localized_references_localized_assets.yml +2 -2
- data/spec/fixtures/vcr_fixtures/entries/locations.yml +2 -2
- data/spec/fixtures/vcr_fixtures/entries/nil_file.yml +2 -2
- data/spec/fixtures/vcr_fixtures/entries/repeated_entry.yml +2 -2
- data/spec/fixtures/vcr_fixtures/helpers/preview.yml +2 -2
- data/spec/fixtures/vcr_fixtures/instance/entries_1.yml +1 -1
- data/spec/fixtures/vcr_fixtures/instance/entries_2.yml +3 -3
- data/spec/fixtures/vcr_fixtures/instance/entries_3.yml +3 -3
- data/spec/fixtures/vcr_fixtures/instance/include_resolution_1.yml +2 -2
- data/spec/fixtures/vcr_fixtures/mappers/entries.yml +2 -2
- data/spec/fixtures/vcr_fixtures/mappers/entries_localized.yml +2 -2
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/asset.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/asset_2.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/assets.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/assets_2.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/entries.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/entries_2.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/entry.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper/entry_2.yml +1 -1
- data/spec/fixtures/vcr_fixtures/tools/preview_helper.yml +1 -1
- data/spec/spec_helper.rb +7 -10
- metadata +19 -7
- data/spec/fixtures/vcr_fixtures/entries/map_with_camel_case.yml +0 -244
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e51a2eac628788ddb604e97937212f087b37e0ab
|
4
|
+
data.tar.gz: 45ee41c807a5d790d4e5a997db1f7004fa1f4adf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9db96ccef66c5c8d299aea7fbd3e34b5ebea4b4e70e903ca87a2388bd7e73527885068a3c28ea9b1578c8828543065ac3be50a5a4af28cfb304455166119e84
|
7
|
+
data.tar.gz: c8e1c9569519691d2c5c0d55ca9f647da672545c658b4785abdd7528343efa9bf3e9d21e70920b4e42be84d6e73f5584865e29a80402730618e770ca79ce5ee7
|
data/.travis.yml
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
rvm:
|
2
|
-
- 2.2.
|
3
|
-
- 2.
|
4
|
-
- 2.
|
2
|
+
- 2.2.2
|
3
|
+
- 2.2.6
|
4
|
+
- 2.3.3
|
5
|
+
- 2.4.0
|
6
|
+
- jruby
|
5
7
|
|
6
8
|
script: "bundle exec rake test"
|
7
9
|
|
8
10
|
before_install: gem install bundler -v 1.10.6
|
9
11
|
|
12
|
+
env: TEST=true JRUBY_OPTS='--2.0'
|
10
13
|
notifications:
|
11
14
|
slack:
|
12
15
|
secure: MMWxqKMT4m2UhZ+Ix4wgCs1nLvu9hUFCbyV/qJWmIFif7V4GUKXi6h9krMqGqBAd3YV3pP/InPlw3QoKBUGIAIr5GzDpSnU5ACv7E61v548qViEvPBqsfhRHha2M164rUHn32tpejJnIizVUyND/hIzNviIrab+G8uOaZXUtB5I=
|
16
|
+
|
17
|
+
matrix:
|
18
|
+
allow_failures:
|
19
|
+
- rvm: jruby
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# Change Log
|
2
2
|
## Unreleased
|
3
3
|
|
4
|
-
##
|
5
|
-
|
6
|
-
|
4
|
+
## 4.0.0
|
5
|
+
|
6
|
+
### Changed
|
7
|
+
* Middleman v4 is now the supported Middleman version.
|
8
|
+
|
9
|
+
This release symbolises the break in compatibility from Middleman v3 - moving the main development branch to Middleman v4.
|
7
10
|
|
8
11
|
## 3.0.0
|
9
12
|
|
@@ -34,11 +37,11 @@ will stay compatible with.
|
|
34
37
|
|
35
38
|
## 2.0.0
|
36
39
|
|
37
|
-
|
40
|
+
### Changed
|
38
41
|
* Upgraded to 2.0.1 Ruby CDA SDK which solves a number of pre-existing bugs [#116](https://github.com/contentful/contentful_middleman/issues/116) [#113](https://github.com/contentful/contentful_middleman/issues/113) [#103](https://github.com/contentful/contentful_middleman/issues/103)
|
39
42
|
* Field IDs will now be `snake_cased` following the 2.0.1 Ruby CDA SDK Upgrade
|
40
43
|
|
41
|
-
|
44
|
+
### Added
|
42
45
|
* Added `_meta` to all entries and assets [#117](https://github.com/contentful/contentful_middleman/issues/117) [#93](https://github.com/contentful/contentful_middleman/issues/93)
|
43
46
|
* Added `client_options` to extension options to control Client instantiation
|
44
47
|
|
data/DEPLOYING.md
CHANGED
@@ -21,24 +21,6 @@
|
|
21
21
|
|
22
22
|
---
|
23
23
|
|
24
|
-
# Netlify
|
25
|
-
|
26
|
-
## Requirements for Build
|
27
|
-
|
28
|
-
> Minimum requirements for a clean build of a Contentful Middleman app on Netlify
|
29
|
-
|
30
|
-
Steps to solve:
|
31
|
-
|
32
|
-
1. add `.*-space-hash` to .gitignore
|
33
|
-
2. add `/data` to .gitignore
|
34
|
-
3. add a .ruby-version file
|
35
|
-
4. add a .nvmrc file
|
36
|
-
5. Netlify Site > Settings > Deploy Settings > Build Command: `middleman contentful --rebuild && middleman build`
|
37
|
-
|
38
|
-
> Contributed by @joshRpowell
|
39
|
-
|
40
|
-
---
|
41
|
-
|
42
24
|
# Placeholder Platform
|
43
25
|
|
44
26
|
## Placeholder Caveat
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -6,10 +6,9 @@ Contentful Middleman is a [Middleman](http://middlemanapp.com/) extension to use
|
|
6
6
|
|
7
7
|
Experience the power of Middleman while staying sane as a developer by letting end-users edit content in a web-based interface.
|
8
8
|
|
9
|
-
> The main release works for Middleman
|
9
|
+
> The main release works for Middleman v4 starting on version `4.0.0`.
|
10
10
|
>
|
11
|
-
> If you are using Middleman
|
12
|
-
> Feel free to communicate with us if you are experiencing any bugs.
|
11
|
+
> If you are using Middleman v3, use older releases. Latest stable release is `3.0.0`
|
13
12
|
|
14
13
|
|
15
14
|
## Installation
|
@@ -19,7 +19,8 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
21
|
# The version of middleman-core your extension depends on
|
22
|
-
s.add_dependency("middleman-core", ["~>
|
22
|
+
s.add_dependency("middleman-core", ["~> 4.0"])
|
23
|
+
s.add_dependency("middleman-cli", ["~> 4.0"])
|
23
24
|
|
24
25
|
# Additional dependencies
|
25
26
|
s.add_dependency("contentful", '~> 2.1')
|
data/examples/mappers/backref.rb
CHANGED
@@ -48,7 +48,7 @@ def self.BackrefMapper(content_type_id, content_type_field, backref_field)
|
|
48
48
|
|
49
49
|
def map(context, entry)
|
50
50
|
super
|
51
|
-
content_type_entries = @entries.select { |e| e.sys[:
|
51
|
+
content_type_entries = @entries.select { |e| e.sys[:contentType].id == @@content_type_id }
|
52
52
|
referencing_entries = content_type_entries.select{ |e| e.send(@@content_type_field).map{|x| x.id}.include? entry.id }
|
53
53
|
referencing_ids = referencing_entries.map{ |e| e.id }
|
54
54
|
context.set(@@backref_field, map_value(referencing_ids))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'middleman-
|
1
|
+
require 'middleman-cli'
|
2
2
|
require 'date'
|
3
3
|
require 'digest'
|
4
4
|
require 'contentful_middleman/commands/context'
|
@@ -12,7 +12,7 @@ module Middleman
|
|
12
12
|
module Cli
|
13
13
|
# This class provides an "contentful" command for the middleman CLI.
|
14
14
|
|
15
|
-
class Contentful < Thor
|
15
|
+
class Contentful < Thor::Group
|
16
16
|
include Thor::Actions
|
17
17
|
|
18
18
|
# Path where Middleman expects the local data to be stored
|
@@ -20,10 +20,7 @@ module Middleman
|
|
20
20
|
|
21
21
|
check_unknown_options!
|
22
22
|
|
23
|
-
|
24
|
-
desc 'contentful', 'Import data from Contentful'
|
25
|
-
|
26
|
-
method_option "rebuild",
|
23
|
+
class_option "rebuild",
|
27
24
|
aliases: "-r",
|
28
25
|
desc: "Rebuilds the site if there were changes in the imported data"
|
29
26
|
|
@@ -37,7 +34,7 @@ module Middleman
|
|
37
34
|
end
|
38
35
|
|
39
36
|
def contentful
|
40
|
-
if
|
37
|
+
if contentful_instances.size > 0
|
41
38
|
ContentfulMiddleman::VersionHash.source_root = self.class.source_root
|
42
39
|
ContentfulMiddleman::LocalData::Store.base_path = MIDDLEMAN_LOCAL_DATA_FOLDER
|
43
40
|
ContentfulMiddleman::LocalData::File.thor = self
|
@@ -50,31 +47,36 @@ module Middleman
|
|
50
47
|
end
|
51
48
|
|
52
49
|
Middleman::Cli::Build.new.build if hash_local_data_changed && options[:rebuild]
|
53
|
-
|
50
|
+
logger.info 'Contentful Import: Done!'
|
54
51
|
else
|
55
52
|
raise Thor::Error.new "You need to activate the contentful extension in config.rb before you can import data from Contentful"
|
56
53
|
end
|
57
54
|
end
|
58
55
|
|
59
56
|
private
|
60
|
-
|
61
|
-
|
62
|
-
|
57
|
+
def logger
|
58
|
+
::Middleman::Logger.singleton
|
59
|
+
end
|
63
60
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
content_type_mappers = instance.content_types_ids_to_mappers
|
61
|
+
def contentful_instances
|
62
|
+
app.contentful_instances
|
63
|
+
end
|
68
64
|
|
69
|
-
|
65
|
+
def app
|
66
|
+
@app ||= ::Middleman::Application.new do
|
67
|
+
config[:mode] = :contentful
|
70
68
|
end
|
69
|
+
end
|
71
70
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
77
|
-
end
|
71
|
+
def create_import_task(instance)
|
72
|
+
space_name = instance.space_name.to_s
|
73
|
+
content_type_names = instance.content_types_ids_to_names
|
74
|
+
content_type_mappers = instance.content_types_ids_to_mappers
|
78
75
|
|
76
|
+
ContentfulMiddleman::ImportTask.new(space_name, content_type_names, content_type_mappers, instance)
|
77
|
+
end
|
78
|
+
|
79
|
+
Base.register(self, 'contentful', 'contentful [--rebuild]', 'Import Contentful data to your Data folder')
|
80
|
+
end
|
79
81
|
end
|
80
82
|
end
|
@@ -54,6 +54,14 @@ module ContentfulMiddleman
|
|
54
54
|
|
55
55
|
|
56
56
|
helpers ContentfulMiddleman::Helpers
|
57
|
+
include ContentfulMiddleman::Helpers
|
58
|
+
|
59
|
+
expose_to_application contentful_instances: :contentful_instances
|
60
|
+
|
61
|
+
expose_to_template localize_entry: :localize_entry
|
62
|
+
expose_to_template localize: :localize
|
63
|
+
expose_to_template localize_array: :localize_array
|
64
|
+
expose_to_template localize_value: :localize_value
|
57
65
|
|
58
66
|
attr_reader :middleman_app
|
59
67
|
def initialize(app, options_hash = {}, &block)
|
@@ -6,7 +6,6 @@ module ContentfulMiddleman
|
|
6
6
|
@content_type_mappers = content_type_mappers
|
7
7
|
@changed_local_data = false
|
8
8
|
@contentful = contentful
|
9
|
-
@use_camel_case = @contentful.options.client_options.fetch(:use_camel_case, false)
|
10
9
|
end
|
11
10
|
|
12
11
|
def run
|
@@ -14,7 +13,7 @@ module ContentfulMiddleman
|
|
14
13
|
|
15
14
|
LocalData::Store.new(local_data_files, @space_name).write
|
16
15
|
|
17
|
-
new_version_hash = ContentfulMiddleman::VersionHash.write_for_space_with_entries(@space_name, entries
|
16
|
+
new_version_hash = ContentfulMiddleman::VersionHash.write_for_space_with_entries(@space_name, entries)
|
18
17
|
|
19
18
|
@changed_local_data = new_version_hash != old_version_hash
|
20
19
|
end
|
@@ -34,18 +33,12 @@ module ContentfulMiddleman
|
|
34
33
|
|
35
34
|
private
|
36
35
|
def local_data_files
|
37
|
-
content_type_key = if @use_camel_case
|
38
|
-
:contentType
|
39
|
-
else
|
40
|
-
:content_type
|
41
|
-
end
|
42
|
-
|
43
36
|
entries.map do |entry|
|
44
|
-
content_type_mapper_class = @content_type_mappers.fetch(entry.sys[
|
37
|
+
content_type_mapper_class = @content_type_mappers.fetch(entry.sys[:content_type].id, nil)
|
45
38
|
|
46
39
|
next unless content_type_mapper_class
|
47
40
|
|
48
|
-
content_type_name = @content_type_names.fetch(entry.sys[
|
41
|
+
content_type_name = @content_type_names.fetch(entry.sys[:content_type].id).to_s
|
49
42
|
context = ContentfulMiddleman::Context.new
|
50
43
|
|
51
44
|
content_type_mapper = content_type_mapper_class.new(entries, @contentful.options)
|
@@ -67,7 +67,7 @@ module ContentfulMiddleman
|
|
67
67
|
dynamic_entries: :auto,
|
68
68
|
raise_errors: true,
|
69
69
|
default_locale: options.default_locale,
|
70
|
-
integration_name: 'middleman',
|
70
|
+
integration_name: 'middleman.v4',
|
71
71
|
integration_version: ContentfulMiddleman::VERSION
|
72
72
|
}.merge(options.client_options)
|
73
73
|
|
@@ -9,9 +9,6 @@ module ContentfulMiddleman
|
|
9
9
|
@entries = entries
|
10
10
|
@options = options
|
11
11
|
@children = {}
|
12
|
-
@created_at_key = using_camel_case? ? :createdAt : :created_at
|
13
|
-
@updated_at_key = using_camel_case? ? :updatedAt : :updated_at
|
14
|
-
@content_type_key = using_camel_case? ? :contentType : :content_type
|
15
12
|
end
|
16
13
|
|
17
14
|
def map(context, entry)
|
@@ -28,10 +25,6 @@ module ContentfulMiddleman
|
|
28
25
|
|
29
26
|
private
|
30
27
|
|
31
|
-
def using_camel_case?
|
32
|
-
@options.client_options.fetch(:use_camel_case, false)
|
33
|
-
end
|
34
|
-
|
35
28
|
def has_multiple_locales?
|
36
29
|
@options.cda_query.fetch(:locale, nil) == '*'
|
37
30
|
end
|
@@ -68,8 +61,8 @@ module ContentfulMiddleman
|
|
68
61
|
|
69
62
|
def map_asset_metadata(asset)
|
70
63
|
context = Context.new
|
71
|
-
context.updated_at = asset.sys[
|
72
|
-
context.created_at = asset.sys[
|
64
|
+
context.updated_at = asset.sys[:updated_at].iso8601 unless asset.sys[:updated_at].nil?
|
65
|
+
context.created_at = asset.sys[:created_at].iso8601 unless asset.sys[:created_at].nil?
|
73
66
|
context.id = asset.sys[:id]
|
74
67
|
|
75
68
|
context
|
@@ -94,9 +87,9 @@ module ContentfulMiddleman
|
|
94
87
|
|
95
88
|
def map_entry_metadata(entry)
|
96
89
|
context = Context.new
|
97
|
-
context.content_type_id = entry.sys[
|
98
|
-
context.updated_at = entry.sys[
|
99
|
-
context.created_at = entry.sys[
|
90
|
+
context.content_type_id = entry.sys[:content_type].id unless entry.sys[:content_type].nil?
|
91
|
+
context.updated_at = entry.sys[:updated_at].iso8601 unless entry.sys[:updated_at].nil?
|
92
|
+
context.created_at = entry.sys[:created_at].iso8601 unless entry.sys[:created_at].nil?
|
100
93
|
context.id = entry.sys[:id]
|
101
94
|
|
102
95
|
context
|
@@ -10,10 +10,9 @@ module ContentfulMiddleman
|
|
10
10
|
::File.read(hashfilename_for_space) if File.exist? hashfilename_for_space
|
11
11
|
end
|
12
12
|
|
13
|
-
def write_for_space_with_entries(space_name, entries
|
14
|
-
updated_at_key = use_camel_case ? :updatedAt : :updated_at
|
13
|
+
def write_for_space_with_entries(space_name, entries)
|
15
14
|
sorted_entries = entries.sort {|a, b| a.id <=> b.id}
|
16
|
-
ids_and_revisions_string = sorted_entries.map {|e| "#{e.id}#{e.
|
15
|
+
ids_and_revisions_string = sorted_entries.map {|e| "#{e.id}#{e.updated_at}"}.join
|
17
16
|
entries_hash = Digest::SHA1.hexdigest( ids_and_revisions_string )
|
18
17
|
|
19
18
|
File.open(hashfilename(space_name), 'w') { |file| file.write(entries_hash) }
|
@@ -4,7 +4,7 @@ class MapperDouble
|
|
4
4
|
end
|
5
5
|
|
6
6
|
describe ContentfulMiddleman::Core do
|
7
|
-
subject { described_class.new Middleman::Application }
|
7
|
+
subject { described_class.new Middleman::Application.new }
|
8
8
|
let(:options) { subject.options }
|
9
9
|
|
10
10
|
before(:each) do
|
@@ -74,7 +74,7 @@ describe ContentfulMiddleman::Core do
|
|
74
74
|
it 'does not get called if rebuild_on_webhook is false' do
|
75
75
|
expect(ContentfulMiddleman::WebhookHandler).not_to receive(:start)
|
76
76
|
|
77
|
-
subject.
|
77
|
+
subject.app.execute_callbacks(:before_server)
|
78
78
|
end
|
79
79
|
|
80
80
|
it 'gets called if rebuild_on_webhook is true' do
|
@@ -82,7 +82,7 @@ describe ContentfulMiddleman::Core do
|
|
82
82
|
|
83
83
|
expect(ContentfulMiddleman::WebhookHandler).to receive(:start)
|
84
84
|
|
85
|
-
subject.
|
85
|
+
subject.app.execute_callbacks(:before_server)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
end
|
@@ -88,7 +88,7 @@ describe ContentfulMiddleman::Instance do
|
|
88
88
|
subject = described_class.new(extension)
|
89
89
|
|
90
90
|
vcr('client') {
|
91
|
-
expect(subject.client.integration_info).to eq(name: 'middleman', version: ContentfulMiddleman::VERSION)
|
91
|
+
expect(subject.client.integration_info).to eq(name: 'middleman.v4', version: ContentfulMiddleman::VERSION)
|
92
92
|
}
|
93
93
|
end
|
94
94
|
|
@@ -160,37 +160,6 @@ describe ContentfulMiddleman::Mapper::Base do
|
|
160
160
|
}
|
161
161
|
end
|
162
162
|
|
163
|
-
it 'maps properly when using camel case option' do
|
164
|
-
vcr('entries/map_with_camel_case') {
|
165
|
-
subject = described_class.new entries, OptionsDouble.new(client_options: { use_camel_case: true })
|
166
|
-
expect(context.hashize).to eq ({})
|
167
|
-
|
168
|
-
expected = {
|
169
|
-
:_meta => {
|
170
|
-
:content_type_id=>"test",
|
171
|
-
:updated_at=>"2018-06-14T13:13:17+00:00",
|
172
|
-
:created_at=>"2018-06-14T13:13:17+00:00",
|
173
|
-
:id=>"5xkCBpVmHmS2WwqOW8OSwK"
|
174
|
-
},
|
175
|
-
id: "5xkCBpVmHmS2WwqOW8OSwK",
|
176
|
-
someField: "foobar"
|
177
|
-
}
|
178
|
-
|
179
|
-
client = Contentful::Client.new(
|
180
|
-
space: 'ycz65dz7s75m',
|
181
|
-
access_token: '7790b343268100301696628b99678de6a552c967ded5c448bf9f2cba3de806ca',
|
182
|
-
dynamic_entries: :auto,
|
183
|
-
use_camel_case: true
|
184
|
-
)
|
185
|
-
|
186
|
-
entry = client.entries.first
|
187
|
-
|
188
|
-
subject.map(context, entry)
|
189
|
-
|
190
|
-
expect(context.hashize).to eq(expected)
|
191
|
-
}
|
192
|
-
end
|
193
|
-
|
194
163
|
it 'maps entries with multiple locales with nested resources that are also localized' do
|
195
164
|
vcr('entries/localized_references_localized_assets') {
|
196
165
|
subject = described_class.new entries, OptionsDouble.new(cda_query: {locale: '*'})
|
File without changes
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/1sjfpsn7l90g/
|
5
|
+
uri: https://cdn.contentful.com/spaces/1sjfpsn7l90g/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -117,7 +117,7 @@ http_interactions:
|
|
117
117
|
recorded_at: Thu, 29 Sep 2016 22:30:25 GMT
|
118
118
|
- request:
|
119
119
|
method: get
|
120
|
-
uri: https://cdn.contentful.com/spaces/1sjfpsn7l90g/
|
120
|
+
uri: https://cdn.contentful.com/spaces/1sjfpsn7l90g/entries?locale=*
|
121
121
|
body:
|
122
122
|
encoding: US-ASCII
|
123
123
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/bht13amj0fva/
|
5
|
+
uri: https://cdn.contentful.com/spaces/bht13amj0fva/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -119,7 +119,7 @@ http_interactions:
|
|
119
119
|
recorded_at: Wed, 05 Oct 2016 14:33:01 GMT
|
120
120
|
- request:
|
121
121
|
method: get
|
122
|
-
uri: https://cdn.contentful.com/spaces/bht13amj0fva/
|
122
|
+
uri: https://cdn.contentful.com/spaces/bht13amj0fva/entries?locale=*
|
123
123
|
body:
|
124
124
|
encoding: US-ASCII
|
125
125
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/v0h47qlgo3zl/
|
5
|
+
uri: https://cdn.contentful.com/spaces/v0h47qlgo3zl/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -80,7 +80,7 @@ http_interactions:
|
|
80
80
|
recorded_at: Mon, 21 Aug 2017 21:10:22 GMT
|
81
81
|
- request:
|
82
82
|
method: get
|
83
|
-
uri: https://cdn.contentful.com/spaces/v0h47qlgo3zl/
|
83
|
+
uri: https://cdn.contentful.com/spaces/v0h47qlgo3zl/entries?content_type=destination&select=fields.name,fields.coordinates,sys&sys.id=4ik8UErhRmIwomiQs8EUkI
|
84
84
|
body:
|
85
85
|
encoding: US-ASCII
|
86
86
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://preview.contentful.com/spaces/7f19o1co4hn7/
|
5
|
+
uri: https://preview.contentful.com/spaces/7f19o1co4hn7/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -79,7 +79,7 @@ http_interactions:
|
|
79
79
|
recorded_at: Tue, 19 Jul 2016 13:49:05 GMT
|
80
80
|
- request:
|
81
81
|
method: get
|
82
|
-
uri: https://preview.contentful.com/spaces/7f19o1co4hn7/
|
82
|
+
uri: https://preview.contentful.com/spaces/7f19o1co4hn7/entries?sys.id=6C4T3KAZUWaysA6ooQOWiE
|
83
83
|
body:
|
84
84
|
encoding: US-ASCII
|
85
85
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/a80guayqr8ut/
|
5
|
+
uri: https://cdn.contentful.com/spaces/a80guayqr8ut/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -90,7 +90,7 @@ http_interactions:
|
|
90
90
|
recorded_at: Tue, 13 Dec 2016 12:56:31 GMT
|
91
91
|
- request:
|
92
92
|
method: get
|
93
|
-
uri: https://cdn.contentful.com/spaces/a80guayqr8ut/
|
93
|
+
uri: https://cdn.contentful.com/spaces/a80guayqr8ut/entries?sys.id=DT1yQgZABwuWeY842sGYY
|
94
94
|
body:
|
95
95
|
encoding: US-ASCII
|
96
96
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://preview.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://preview.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -92,7 +92,7 @@ http_interactions:
|
|
92
92
|
recorded_at: Thu, 10 Dec 2015 19:42:11 GMT
|
93
93
|
- request:
|
94
94
|
method: get
|
95
|
-
uri: https://preview.contentful.com/spaces/cfexampleapi/
|
95
|
+
uri: https://preview.contentful.com/spaces/cfexampleapi/entries
|
96
96
|
body:
|
97
97
|
encoding: US-ASCII
|
98
98
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -92,7 +92,7 @@ http_interactions:
|
|
92
92
|
recorded_at: Thu, 26 Nov 2015 14:05:49 GMT
|
93
93
|
- request:
|
94
94
|
method: get
|
95
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
95
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?limit=1
|
96
96
|
body:
|
97
97
|
encoding: US-ASCII
|
98
98
|
string: ''
|
@@ -176,7 +176,7 @@ http_interactions:
|
|
176
176
|
recorded_at: Thu, 26 Nov 2015 14:05:49 GMT
|
177
177
|
- request:
|
178
178
|
method: get
|
179
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
179
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?limit=1000&order=sys.createdAt&skip=0
|
180
180
|
body:
|
181
181
|
encoding: US-ASCII
|
182
182
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -98,7 +98,7 @@ http_interactions:
|
|
98
98
|
recorded_at: Wed, 07 Sep 2016 22:51:13 GMT
|
99
99
|
- request:
|
100
100
|
method: get
|
101
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
101
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?limit=1
|
102
102
|
body:
|
103
103
|
encoding: US-ASCII
|
104
104
|
string: ''
|
@@ -213,7 +213,7 @@ http_interactions:
|
|
213
213
|
recorded_at: Wed, 07 Sep 2016 22:51:13 GMT
|
214
214
|
- request:
|
215
215
|
method: get
|
216
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
216
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?limit=100&order=sys.createdAt&skip=0
|
217
217
|
body:
|
218
218
|
encoding: US-ASCII
|
219
219
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -97,7 +97,7 @@ http_interactions:
|
|
97
97
|
recorded_at: Thu, 27 Apr 2017 13:45:07 GMT
|
98
98
|
- request:
|
99
99
|
method: get
|
100
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
100
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?sys.id=nyancat
|
101
101
|
body:
|
102
102
|
encoding: US-ASCII
|
103
103
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -321,7 +321,7 @@ http_interactions:
|
|
321
321
|
recorded_at: Wed, 02 Dec 2015 18:20:27 GMT
|
322
322
|
- request:
|
323
323
|
method: get
|
324
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
324
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries
|
325
325
|
body:
|
326
326
|
encoding: US-ASCII
|
327
327
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/content_types?limit=1000
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -321,7 +321,7 @@ http_interactions:
|
|
321
321
|
recorded_at: Wed, 02 Dec 2015 18:20:29 GMT
|
322
322
|
- request:
|
323
323
|
method: get
|
324
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
324
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/entries?include=1&locale=*
|
325
325
|
body:
|
326
326
|
encoding: US-ASCII
|
327
327
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/cfexampleapi/
|
5
|
+
uri: https://cdn.contentful.com/spaces/cfexampleapi/assets?order=sys.createdAt
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
data/spec/spec_helper.rb
CHANGED
@@ -85,20 +85,13 @@ end
|
|
85
85
|
class EntryDouble
|
86
86
|
attr_reader :id, :sys, :fields
|
87
87
|
|
88
|
-
def initialize(id, sys_data = {}, fields = {}, updated_at = nil
|
88
|
+
def initialize(id, sys_data = {}, fields = {}, updated_at = nil)
|
89
89
|
@id = id
|
90
90
|
sys_data[:id] = id
|
91
|
-
sys_data[
|
92
|
-
sys_data[
|
91
|
+
sys_data[:updated_at] = updated_at
|
92
|
+
sys_data[:content_type] = ContentTypeDouble.new("#{id}_ct")
|
93
93
|
@sys = sys_data
|
94
94
|
@fields = fields
|
95
|
-
@camel_case = camel_case
|
96
|
-
|
97
|
-
sys_data.each do |k, v|
|
98
|
-
define_singleton_method k do
|
99
|
-
v
|
100
|
-
end
|
101
|
-
end
|
102
95
|
|
103
96
|
unless fields.nil?
|
104
97
|
fields.each do |k, v|
|
@@ -108,4 +101,8 @@ class EntryDouble
|
|
108
101
|
end
|
109
102
|
end
|
110
103
|
end
|
104
|
+
|
105
|
+
def updated_at
|
106
|
+
sys[:updated_at]
|
107
|
+
end
|
111
108
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: contentful_middleman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sascha Konietzke
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-11-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: middleman-core
|
@@ -17,14 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '4.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '4.0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: middleman-cli
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '4.0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '4.0'
|
28
42
|
- !ruby/object:Gem::Dependency
|
29
43
|
name: contentful
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -259,7 +273,6 @@ files:
|
|
259
273
|
- spec/fixtures/vcr_fixtures/entries/localized_references.yml
|
260
274
|
- spec/fixtures/vcr_fixtures/entries/localized_references_localized_assets.yml
|
261
275
|
- spec/fixtures/vcr_fixtures/entries/locations.yml
|
262
|
-
- spec/fixtures/vcr_fixtures/entries/map_with_camel_case.yml
|
263
276
|
- spec/fixtures/vcr_fixtures/entries/nil_file.yml
|
264
277
|
- spec/fixtures/vcr_fixtures/entries/repeated_entry.yml
|
265
278
|
- spec/fixtures/vcr_fixtures/helpers/preview.yml
|
@@ -299,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
312
|
version: '0'
|
300
313
|
requirements: []
|
301
314
|
rubyforge_project:
|
302
|
-
rubygems_version: 2.
|
315
|
+
rubygems_version: 2.6.14
|
303
316
|
signing_key:
|
304
317
|
specification_version: 4
|
305
318
|
summary: Include mangablable content from the Contentful CMS and API into your Middleman
|
@@ -327,7 +340,6 @@ test_files:
|
|
327
340
|
- spec/fixtures/vcr_fixtures/entries/localized_references.yml
|
328
341
|
- spec/fixtures/vcr_fixtures/entries/localized_references_localized_assets.yml
|
329
342
|
- spec/fixtures/vcr_fixtures/entries/locations.yml
|
330
|
-
- spec/fixtures/vcr_fixtures/entries/map_with_camel_case.yml
|
331
343
|
- spec/fixtures/vcr_fixtures/entries/nil_file.yml
|
332
344
|
- spec/fixtures/vcr_fixtures/entries/repeated_entry.yml
|
333
345
|
- spec/fixtures/vcr_fixtures/helpers/preview.yml
|
@@ -1,244 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://cdn.contentful.com/spaces/ycz65dz7s75m/environments/master/content_types?limit=1000
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
X-Contentful-User-Agent:
|
11
|
-
- sdk contentful.rb/2.2.1; platform ruby/2.5.1; os macOS/16;
|
12
|
-
Authorization:
|
13
|
-
- Bearer 7790b343268100301696628b99678de6a552c967ded5c448bf9f2cba3de806ca
|
14
|
-
Content-Type:
|
15
|
-
- application/vnd.contentful.delivery.v1+json
|
16
|
-
Accept-Encoding:
|
17
|
-
- gzip
|
18
|
-
Connection:
|
19
|
-
- close
|
20
|
-
Host:
|
21
|
-
- cdn.contentful.com
|
22
|
-
User-Agent:
|
23
|
-
- http.rb/2.2.2
|
24
|
-
response:
|
25
|
-
status:
|
26
|
-
code: 200
|
27
|
-
message: OK
|
28
|
-
headers:
|
29
|
-
Access-Control-Allow-Headers:
|
30
|
-
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent,X-Contentful-Enable-Alpha-Feature
|
31
|
-
Access-Control-Allow-Methods:
|
32
|
-
- GET,HEAD,OPTIONS
|
33
|
-
Access-Control-Allow-Origin:
|
34
|
-
- "*"
|
35
|
-
Access-Control-Expose-Headers:
|
36
|
-
- Etag
|
37
|
-
Access-Control-Max-Age:
|
38
|
-
- '86400'
|
39
|
-
Cache-Control:
|
40
|
-
- max-age=0
|
41
|
-
Content-Type:
|
42
|
-
- application/vnd.contentful.delivery.v1+json
|
43
|
-
Etag:
|
44
|
-
- '"a802c9553879adaad0097a8beedb5ecc"'
|
45
|
-
Server:
|
46
|
-
- Contentful
|
47
|
-
X-Content-Type-Options:
|
48
|
-
- nosniff
|
49
|
-
X-Contentful-Request-Id:
|
50
|
-
- b86f4e978f9a1bfee6bc90007bbe9e41
|
51
|
-
Content-Length:
|
52
|
-
- '957'
|
53
|
-
Accept-Ranges:
|
54
|
-
- bytes
|
55
|
-
Date:
|
56
|
-
- Thu, 14 Jun 2018 13:16:11 GMT
|
57
|
-
Via:
|
58
|
-
- 1.1 varnish
|
59
|
-
Age:
|
60
|
-
- '0'
|
61
|
-
Connection:
|
62
|
-
- close
|
63
|
-
X-Served-By:
|
64
|
-
- cache-hhn1532-HHN
|
65
|
-
X-Cache:
|
66
|
-
- MISS
|
67
|
-
X-Cache-Hits:
|
68
|
-
- '0'
|
69
|
-
X-Timer:
|
70
|
-
- S1528982171.382086,VS0,VE270
|
71
|
-
Vary:
|
72
|
-
- Accept-Encoding
|
73
|
-
body:
|
74
|
-
encoding: ASCII-8BIT
|
75
|
-
string: |
|
76
|
-
{
|
77
|
-
"sys": {
|
78
|
-
"type": "Array"
|
79
|
-
},
|
80
|
-
"total": 1,
|
81
|
-
"skip": 0,
|
82
|
-
"limit": 1000,
|
83
|
-
"items": [
|
84
|
-
{
|
85
|
-
"sys": {
|
86
|
-
"space": {
|
87
|
-
"sys": {
|
88
|
-
"type": "Link",
|
89
|
-
"linkType": "Space",
|
90
|
-
"id": "ycz65dz7s75m"
|
91
|
-
}
|
92
|
-
},
|
93
|
-
"id": "test",
|
94
|
-
"type": "ContentType",
|
95
|
-
"createdAt": "2018-06-14T13:13:07.886Z",
|
96
|
-
"updatedAt": "2018-06-14T13:13:07.886Z",
|
97
|
-
"environment": {
|
98
|
-
"sys": {
|
99
|
-
"id": "master",
|
100
|
-
"type": "Link",
|
101
|
-
"linkType": "Environment"
|
102
|
-
}
|
103
|
-
},
|
104
|
-
"revision": 1
|
105
|
-
},
|
106
|
-
"displayField": "someField",
|
107
|
-
"name": "Test",
|
108
|
-
"description": "",
|
109
|
-
"fields": [
|
110
|
-
{
|
111
|
-
"id": "someField",
|
112
|
-
"name": "someField",
|
113
|
-
"type": "Symbol",
|
114
|
-
"localized": false,
|
115
|
-
"required": false,
|
116
|
-
"disabled": false,
|
117
|
-
"omitted": false
|
118
|
-
}
|
119
|
-
]
|
120
|
-
}
|
121
|
-
]
|
122
|
-
}
|
123
|
-
http_version:
|
124
|
-
recorded_at: Thu, 14 Jun 2018 13:16:11 GMT
|
125
|
-
- request:
|
126
|
-
method: get
|
127
|
-
uri: https://cdn.contentful.com/spaces/ycz65dz7s75m/environments/master/entries
|
128
|
-
body:
|
129
|
-
encoding: US-ASCII
|
130
|
-
string: ''
|
131
|
-
headers:
|
132
|
-
X-Contentful-User-Agent:
|
133
|
-
- sdk contentful.rb/2.2.1; platform ruby/2.5.1; os macOS/16;
|
134
|
-
Authorization:
|
135
|
-
- Bearer 7790b343268100301696628b99678de6a552c967ded5c448bf9f2cba3de806ca
|
136
|
-
Content-Type:
|
137
|
-
- application/vnd.contentful.delivery.v1+json
|
138
|
-
Accept-Encoding:
|
139
|
-
- gzip
|
140
|
-
Connection:
|
141
|
-
- close
|
142
|
-
Host:
|
143
|
-
- cdn.contentful.com
|
144
|
-
User-Agent:
|
145
|
-
- http.rb/2.2.2
|
146
|
-
response:
|
147
|
-
status:
|
148
|
-
code: 200
|
149
|
-
message: OK
|
150
|
-
headers:
|
151
|
-
Access-Control-Allow-Headers:
|
152
|
-
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent,X-Contentful-Enable-Alpha-Feature
|
153
|
-
Access-Control-Allow-Methods:
|
154
|
-
- GET,HEAD,OPTIONS
|
155
|
-
Access-Control-Allow-Origin:
|
156
|
-
- "*"
|
157
|
-
Access-Control-Expose-Headers:
|
158
|
-
- Etag
|
159
|
-
Access-Control-Max-Age:
|
160
|
-
- '86400'
|
161
|
-
Cache-Control:
|
162
|
-
- max-age=0
|
163
|
-
Content-Type:
|
164
|
-
- application/vnd.contentful.delivery.v1+json
|
165
|
-
Etag:
|
166
|
-
- '"376db3c86ef859e48397c6520bfcf235"'
|
167
|
-
Server:
|
168
|
-
- Contentful
|
169
|
-
X-Content-Type-Options:
|
170
|
-
- nosniff
|
171
|
-
X-Contentful-Request-Id:
|
172
|
-
- 6644c1c7f9d2b797077967aa07c407b8
|
173
|
-
Content-Length:
|
174
|
-
- '879'
|
175
|
-
Accept-Ranges:
|
176
|
-
- bytes
|
177
|
-
Date:
|
178
|
-
- Thu, 14 Jun 2018 13:16:12 GMT
|
179
|
-
Via:
|
180
|
-
- 1.1 varnish
|
181
|
-
Age:
|
182
|
-
- '0'
|
183
|
-
Connection:
|
184
|
-
- close
|
185
|
-
X-Served-By:
|
186
|
-
- cache-hhn1526-HHN
|
187
|
-
X-Cache:
|
188
|
-
- MISS
|
189
|
-
X-Cache-Hits:
|
190
|
-
- '0'
|
191
|
-
X-Timer:
|
192
|
-
- S1528982172.794017,VS0,VE278
|
193
|
-
Vary:
|
194
|
-
- Accept-Encoding
|
195
|
-
body:
|
196
|
-
encoding: ASCII-8BIT
|
197
|
-
string: |
|
198
|
-
{
|
199
|
-
"sys": {
|
200
|
-
"type": "Array"
|
201
|
-
},
|
202
|
-
"total": 1,
|
203
|
-
"skip": 0,
|
204
|
-
"limit": 100,
|
205
|
-
"items": [
|
206
|
-
{
|
207
|
-
"sys": {
|
208
|
-
"space": {
|
209
|
-
"sys": {
|
210
|
-
"type": "Link",
|
211
|
-
"linkType": "Space",
|
212
|
-
"id": "ycz65dz7s75m"
|
213
|
-
}
|
214
|
-
},
|
215
|
-
"id": "5xkCBpVmHmS2WwqOW8OSwK",
|
216
|
-
"type": "Entry",
|
217
|
-
"createdAt": "2018-06-14T13:13:17.377Z",
|
218
|
-
"updatedAt": "2018-06-14T13:13:17.377Z",
|
219
|
-
"environment": {
|
220
|
-
"sys": {
|
221
|
-
"id": "master",
|
222
|
-
"type": "Link",
|
223
|
-
"linkType": "Environment"
|
224
|
-
}
|
225
|
-
},
|
226
|
-
"revision": 1,
|
227
|
-
"contentType": {
|
228
|
-
"sys": {
|
229
|
-
"type": "Link",
|
230
|
-
"linkType": "ContentType",
|
231
|
-
"id": "test"
|
232
|
-
}
|
233
|
-
},
|
234
|
-
"locale": "en-US"
|
235
|
-
},
|
236
|
-
"fields": {
|
237
|
-
"someField": "foobar"
|
238
|
-
}
|
239
|
-
}
|
240
|
-
]
|
241
|
-
}
|
242
|
-
http_version:
|
243
|
-
recorded_at: Thu, 14 Jun 2018 13:16:12 GMT
|
244
|
-
recorded_with: VCR 3.0.3
|