contentful_middleman 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -3
  3. data/CHANGELOG.md +10 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/Gemfile +1 -2
  6. data/Guardfile +5 -0
  7. data/README.md +122 -8
  8. data/contentful_middleman.gemspec +9 -3
  9. data/lib/contentful_middleman/commands/contentful.rb +0 -1
  10. data/lib/contentful_middleman/core.rb +18 -0
  11. data/lib/contentful_middleman/helpers.rb +29 -0
  12. data/lib/contentful_middleman/import_task.rb +6 -3
  13. data/lib/contentful_middleman/instance.rb +26 -5
  14. data/lib/contentful_middleman/mappers/base.rb +10 -2
  15. data/lib/contentful_middleman/version.rb +1 -1
  16. data/lib/contentful_middleman/webhook_handler.rb +33 -0
  17. data/spec/contentful_middleman/commands/context_spec.rb +22 -0
  18. data/spec/contentful_middleman/core_spec.rb +89 -0
  19. data/spec/contentful_middleman/helpers_spec.rb +99 -0
  20. data/spec/contentful_middleman/import_task_spec.rb +41 -0
  21. data/spec/contentful_middleman/instance_spec.rb +71 -0
  22. data/spec/contentful_middleman/local_data/file_spec.rb +34 -0
  23. data/spec/contentful_middleman/local_data/store_spec.rb +47 -0
  24. data/spec/contentful_middleman/mappers/base_spec.rb +88 -0
  25. data/spec/contentful_middleman/tools/backup_spec.rb +113 -0
  26. data/spec/contentful_middleman/version_hash_spec.rb +58 -0
  27. data/spec/contentful_middleman/webhook_handler_spec.rb +32 -0
  28. data/spec/fixtures/backup_fixtures/.tmp/backups/.gitkeep +0 -0
  29. data/spec/fixtures/backup_fixtures/baz +0 -0
  30. data/spec/fixtures/space_hash_fixtures/.blah-space-hash +1 -0
  31. data/spec/fixtures/space_hash_fixtures/.foo-space-hash +1 -0
  32. data/spec/fixtures/space_hash_fixtures/.foobar-space-hash +1 -0
  33. data/spec/fixtures/space_hash_fixtures/.my_space-space-hash +1 -0
  34. data/spec/fixtures/vcr_fixtures/instance/entries_1.yml +93 -0
  35. data/spec/fixtures/vcr_fixtures/instance/entries_2.yml +293 -0
  36. data/spec/fixtures/vcr_fixtures/mappers/entries.yml +913 -0
  37. data/spec/fixtures/vcr_fixtures/mappers/entries_localized.yml +996 -0
  38. data/spec/spec_helper.rb +57 -2
  39. metadata +153 -14
  40. data/TODO +0 -15
  41. data/spec/contentful_middleman_spec.rb +0 -5
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,60 @@
1
+ $LOAD_PATH.unshift File.expand_path('lib', __FILE__)
2
+
3
+ require 'vcr'
4
+ require 'yaml'
5
+
6
+ require 'contentful_middleman'
7
+
8
+ VCR.configure do |config|
9
+ config.cassette_library_dir = "spec/fixtures/vcr_fixtures"
10
+ config.hook_into :webmock
11
+ end
12
+
1
13
  require 'simplecov'
2
14
  SimpleCov.root(File.expand_path(File.dirname(__FILE__) + '/..'))
3
15
 
4
- require 'coveralls'
5
- Coveralls.wear!
16
+ def vcr(cassette)
17
+ VCR.use_cassette(cassette) do
18
+ yield if block_given?
19
+ end
20
+ end
21
+
22
+ def yaml(name)
23
+ yaml = YAML.parse(File.read("spec/fixtures/yaml_fixtures/#{name}.yaml")).to_ruby
24
+ yield yaml if block_given?
25
+ yaml
26
+ end
27
+
28
+ class ServerDouble
29
+ def [](key)
30
+ end
31
+ end
32
+
33
+ class RequestDouble
34
+ attr_accessor :query
35
+ end
36
+
37
+ class ResponseDouble
38
+ attr_accessor :body, :status, :content_type
39
+ end
40
+
41
+ class OptionsDouble
42
+ DEFAULT_OPTIONS = {
43
+ space: {id: 'cfexampleapi', name: 'cats'},
44
+ access_token: 'b4c0n73n7fu1',
45
+ cda_query: {},
46
+ content_types: {},
47
+ use_preview_api: false,
48
+ all_entries: false,
49
+ rebuild_on_webhook: false,
50
+ webhook_timeout: 300
51
+ }
52
+
53
+ def initialize(options = DEFAULT_OPTIONS)
54
+ options.each do |field, value|
55
+ define_singleton_method(field.to_sym) do
56
+ value
57
+ end
58
+ end
59
+ end
60
+ 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: 1.1.1
4
+ version: 1.2.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: 2015-07-14 00:00:00.000000000 Z
12
+ date: 2015-12-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: middleman-core
@@ -26,33 +26,33 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '3.3'
28
28
  - !ruby/object:Gem::Dependency
29
- name: middleman-blog
29
+ name: contentful
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '3.5'
34
+ version: '0.8'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '3.5'
41
+ version: '0.8'
42
42
  - !ruby/object:Gem::Dependency
43
- name: contentful
43
+ name: contentful-webhook-listener
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: '0.1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ">="
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0'
55
+ version: '0.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rubygems-tasks
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +67,104 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0.2'
70
+ - !ruby/object:Gem::Dependency
71
+ name: guard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: guard-rspec
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: bundler
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1.6'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1.6'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rake
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: vcr
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: webmock
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
70
168
  description: Load blog posts and other managed content into Middleman
71
169
  email:
72
170
  - sascha@contentful.com
@@ -81,10 +179,10 @@ files:
81
179
  - CHANGELOG.md
82
180
  - CONTRIBUTING.md
83
181
  - Gemfile
182
+ - Guardfile
84
183
  - LICENSE.md
85
184
  - README.md
86
185
  - Rakefile
87
- - TODO
88
186
  - contentful_middleman.gemspec
89
187
  - examples/mappers/backref.rb
90
188
  - lib/contentful_middleman.rb
@@ -100,8 +198,29 @@ files:
100
198
  - lib/contentful_middleman/tools/backup.rb
101
199
  - lib/contentful_middleman/version.rb
102
200
  - lib/contentful_middleman/version_hash.rb
201
+ - lib/contentful_middleman/webhook_handler.rb
103
202
  - lib/middleman_extension.rb
104
- - spec/contentful_middleman_spec.rb
203
+ - spec/contentful_middleman/commands/context_spec.rb
204
+ - spec/contentful_middleman/core_spec.rb
205
+ - spec/contentful_middleman/helpers_spec.rb
206
+ - spec/contentful_middleman/import_task_spec.rb
207
+ - spec/contentful_middleman/instance_spec.rb
208
+ - spec/contentful_middleman/local_data/file_spec.rb
209
+ - spec/contentful_middleman/local_data/store_spec.rb
210
+ - spec/contentful_middleman/mappers/base_spec.rb
211
+ - spec/contentful_middleman/tools/backup_spec.rb
212
+ - spec/contentful_middleman/version_hash_spec.rb
213
+ - spec/contentful_middleman/webhook_handler_spec.rb
214
+ - spec/fixtures/backup_fixtures/.tmp/backups/.gitkeep
215
+ - spec/fixtures/backup_fixtures/baz
216
+ - spec/fixtures/space_hash_fixtures/.blah-space-hash
217
+ - spec/fixtures/space_hash_fixtures/.foo-space-hash
218
+ - spec/fixtures/space_hash_fixtures/.foobar-space-hash
219
+ - spec/fixtures/space_hash_fixtures/.my_space-space-hash
220
+ - spec/fixtures/vcr_fixtures/instance/entries_1.yml
221
+ - spec/fixtures/vcr_fixtures/instance/entries_2.yml
222
+ - spec/fixtures/vcr_fixtures/mappers/entries.yml
223
+ - spec/fixtures/vcr_fixtures/mappers/entries_localized.yml
105
224
  - spec/spec_helper.rb
106
225
  homepage: https://www.contentful.com
107
226
  licenses:
@@ -123,11 +242,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
242
  version: '0'
124
243
  requirements: []
125
244
  rubyforge_project:
126
- rubygems_version: 2.2.2
245
+ rubygems_version: 2.4.5.1
127
246
  signing_key:
128
247
  specification_version: 4
129
248
  summary: Include mangablable content from the Contentful CMS and API into your Middleman
130
249
  projects
131
250
  test_files:
132
- - spec/contentful_middleman_spec.rb
251
+ - spec/contentful_middleman/commands/context_spec.rb
252
+ - spec/contentful_middleman/core_spec.rb
253
+ - spec/contentful_middleman/helpers_spec.rb
254
+ - spec/contentful_middleman/import_task_spec.rb
255
+ - spec/contentful_middleman/instance_spec.rb
256
+ - spec/contentful_middleman/local_data/file_spec.rb
257
+ - spec/contentful_middleman/local_data/store_spec.rb
258
+ - spec/contentful_middleman/mappers/base_spec.rb
259
+ - spec/contentful_middleman/tools/backup_spec.rb
260
+ - spec/contentful_middleman/version_hash_spec.rb
261
+ - spec/contentful_middleman/webhook_handler_spec.rb
262
+ - spec/fixtures/backup_fixtures/.tmp/backups/.gitkeep
263
+ - spec/fixtures/backup_fixtures/baz
264
+ - spec/fixtures/space_hash_fixtures/.blah-space-hash
265
+ - spec/fixtures/space_hash_fixtures/.foo-space-hash
266
+ - spec/fixtures/space_hash_fixtures/.foobar-space-hash
267
+ - spec/fixtures/space_hash_fixtures/.my_space-space-hash
268
+ - spec/fixtures/vcr_fixtures/instance/entries_1.yml
269
+ - spec/fixtures/vcr_fixtures/instance/entries_2.yml
270
+ - spec/fixtures/vcr_fixtures/mappers/entries.yml
271
+ - spec/fixtures/vcr_fixtures/mappers/entries_localized.yml
133
272
  - spec/spec_helper.rb
data/TODO DELETED
@@ -1,15 +0,0 @@
1
- - add specs
2
- - add travis ci
3
-
4
- - publish yard docs
5
- - add comments
6
-
7
- - support multiple instances and blog instances
8
-
9
- - building through webhook
10
- - preview mode
11
-
12
- - blog posts
13
- - add draft?
14
- - add ignore?
15
- - use title field from content type
@@ -1,5 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- describe 'ContentfulMiddleman' do
4
- it "should be pending"
5
- end