contentful_middleman 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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