skypager 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/ARCHITECTURE.md +34 -0
  4. data/CONTRIBUTING.md +7 -0
  5. data/README.md +94 -36
  6. data/Rakefile +1 -1
  7. data/lib/skypager.rb +6 -0
  8. data/lib/skypager/builder.rb +158 -0
  9. data/lib/skypager/builder/server.rb +63 -0
  10. data/lib/skypager/builder/webhook_handler.rb +73 -0
  11. data/lib/skypager/cli/commands/build.rb +48 -0
  12. data/lib/skypager/cli/commands/config.rb +1 -1
  13. data/lib/skypager/cli/commands/setup.rb +13 -0
  14. data/lib/skypager/cli/commands/site.rb +22 -0
  15. data/lib/skypager/cli/commands/sync.rb +1 -1
  16. data/lib/skypager/configuration.rb +32 -7
  17. data/lib/skypager/core_ext.rb +6 -0
  18. data/lib/skypager/data/google_spreadsheet.rb +3 -3
  19. data/lib/skypager/data/source.rb +24 -1
  20. data/lib/skypager/extension.rb +84 -21
  21. data/lib/skypager/proxy.rb +0 -1
  22. data/lib/skypager/router.rb +15 -0
  23. data/lib/skypager/site.rb +104 -21
  24. data/lib/skypager/sync/dropbox/delta.rb +1 -1
  25. data/lib/skypager/sync/folder.rb +7 -1
  26. data/lib/skypager/sync/github.rb +55 -0
  27. data/lib/skypager/version.rb +1 -1
  28. data/skypager.gemspec +21 -13
  29. data/spec/dummy/site-one/.gitignore +18 -0
  30. data/spec/dummy/site-one/Gemfile +14 -0
  31. data/spec/dummy/site-one/config.rb +13 -0
  32. data/spec/dummy/site-one/source/images/background.png +0 -0
  33. data/spec/dummy/site-one/source/images/middleman.png +0 -0
  34. data/spec/dummy/site-one/source/index.html.erb +10 -0
  35. data/spec/dummy/site-one/source/javascripts/all.js +1 -0
  36. data/spec/dummy/site-one/source/layouts/layout.erb +19 -0
  37. data/spec/dummy/site-one/source/stylesheets/all.css +55 -0
  38. data/spec/dummy/site-one/source/stylesheets/normalize.css +375 -0
  39. data/spec/lib/skypager/builder/server_spec.rb +5 -0
  40. data/spec/lib/skypager/configuration_spec.rb +7 -0
  41. data/spec/lib/skypager/site_spec.rb +40 -1
  42. data/spec/lib/skypager_spec.rb +9 -0
  43. data/spec/skypager-test-config.rb.example +22 -0
  44. data/spec/spec_helper.rb +38 -3
  45. data/spec/support/fixtures/cwd_config.json +3 -0
  46. data/spec/support/fixtures/home_config.json +1 -0
  47. metadata +112 -33
  48. data/lib/skypager/build_server.rb +0 -0
@@ -0,0 +1,22 @@
1
+ Skypager.config.instance_eval do
2
+ apply_config({
3
+ github_username: "",
4
+ github_api_token: "",
5
+ github_repository: "",
6
+ dnsimple_api_token: "",
7
+ dnsimple_username: "",
8
+ dropbox_app_key: "",
9
+ dropbox_app_secret: "",
10
+ dropbox_app_type: "dropbox",
11
+ dropbox_client_token: "",
12
+ dropbox_client_secret: "",
13
+ aws_access_key_id: "",
14
+ aws_secret_access_key: "",
15
+ google_client_id: "",
16
+ google_client_secret: "",
17
+ google_refresh_token: "",
18
+ google_access_token: "",
19
+ github_access_token: "",
20
+ domain: ""
21
+ })
22
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,48 @@
1
1
  require 'rack/test'
2
2
  require 'pry'
3
+ require 'skypager'
3
4
 
4
5
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
5
6
 
7
+ module Skypager
8
+ def self.config
9
+ Skypager.fixtures_path.join("home_config.json").open("w+") do |fh|
10
+ fh.write({option:"inherited",config_type:"home"}.to_json)
11
+ end
12
+
13
+ Skypager::Configuration.instance.home_config_path = Skypager.fixtures_path.join("home_config.json").to_s
14
+ Skypager::Configuration.instance.cwd_config_path = Skypager.fixtures_path.join("cwd_config.json").to_s
15
+
16
+ if spec_root.join("config.rb").exist?
17
+ require(spec_root.join("config.rb"))
18
+ end
19
+
20
+ Skypager::Configuration.instance
21
+ end
22
+
23
+ def self.test_app
24
+ ENV['MM_ROOT'] = Skypager.dummy_path.join("site-one").to_s
25
+ Skypager.app
26
+ end
27
+
28
+ def self.spec_root
29
+ Pathname(File.dirname(__FILE__))
30
+ end
31
+
32
+ def self.dummy_path
33
+ spec_root.join("dummy")
34
+ end
35
+
36
+ def self.fixtures_path
37
+ spec_root.join("support","fixtures")
38
+ end
39
+ end
40
+
41
+ Skypager::Site.directory = {}
42
+
6
43
  RSpec.configure do |config|
7
44
  config.mock_with :rspec
8
- config.use_transactional_fixtures = true
9
- config.infer_base_class_for_anonymous_controllers = false
10
- config.order = "random"
45
+ config.order = :random
11
46
 
12
47
  config.include Rack::Test
13
48
  config.include Requests::JsonHelpers, type: :request
@@ -0,0 +1,3 @@
1
+ {
2
+ "config_type": "cwd"
3
+ }
@@ -0,0 +1 @@
1
+ {"option":"inherited","config_type":"home"}
metadata CHANGED
@@ -1,195 +1,223 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skypager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Soeder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-17 00:00:00.000000000 Z
11
+ date: 2014-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: commander
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: fog
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dropbox-api
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0.4'
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0.4'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: google_drive
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: middleman
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rack-contrib
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: launchy
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: activesupport
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: 4.0.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 4.0.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: axlsx
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: uri_template
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: dnsimple-ruby
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "~>"
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rack-proxy
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - "~>"
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - "~>"
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: octokit
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 3.0.0
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 3.0.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: whenever
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
193
221
  - !ruby/object:Gem::Version
194
222
  version: '0'
195
223
  - !ruby/object:Gem::Dependency
@@ -276,6 +304,20 @@ dependencies:
276
304
  - - "~>"
277
305
  - !ruby/object:Gem::Version
278
306
  version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: rspec
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '3.0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '3.0'
279
321
  description: Skypager is for launching your websites
280
322
  email:
281
323
  - jonathan.soeder@gmail.com
@@ -285,6 +327,8 @@ extensions: []
285
327
  extra_rdoc_files: []
286
328
  files:
287
329
  - ".gitignore"
330
+ - ARCHITECTURE.md
331
+ - CONTRIBUTING.md
288
332
  - Gemfile
289
333
  - LICENSE.md
290
334
  - LICENSE.txt
@@ -331,13 +375,17 @@ files:
331
375
  - examples/gallery-site/source/stylesheets/normalize.css
332
376
  - examples/gallery-site/source/tutorial.md
333
377
  - lib/skypager.rb
334
- - lib/skypager/build_server.rb
378
+ - lib/skypager/builder.rb
379
+ - lib/skypager/builder/server.rb
380
+ - lib/skypager/builder/webhook_handler.rb
381
+ - lib/skypager/cli/commands/build.rb
335
382
  - lib/skypager/cli/commands/config.rb
336
383
  - lib/skypager/cli/commands/create.rb
337
384
  - lib/skypager/cli/commands/deploy.rb
338
385
  - lib/skypager/cli/commands/edit.rb
339
386
  - lib/skypager/cli/commands/list.rb
340
387
  - lib/skypager/cli/commands/setup.rb
388
+ - lib/skypager/cli/commands/site.rb
341
389
  - lib/skypager/cli/commands/sync.rb
342
390
  - lib/skypager/configuration.rb
343
391
  - lib/skypager/core_ext.rb
@@ -360,14 +408,30 @@ files:
360
408
  - lib/skypager/sync/dropbox.rb
361
409
  - lib/skypager/sync/dropbox/delta.rb
362
410
  - lib/skypager/sync/folder.rb
411
+ - lib/skypager/sync/github.rb
363
412
  - lib/skypager/sync/google.rb
364
413
  - lib/skypager/tar.rb
365
414
  - lib/skypager/version.rb
366
415
  - skypager.gemspec
416
+ - spec/dummy/site-one/.gitignore
417
+ - spec/dummy/site-one/Gemfile
418
+ - spec/dummy/site-one/config.rb
419
+ - spec/dummy/site-one/source/images/background.png
420
+ - spec/dummy/site-one/source/images/middleman.png
421
+ - spec/dummy/site-one/source/index.html.erb
422
+ - spec/dummy/site-one/source/javascripts/all.js
423
+ - spec/dummy/site-one/source/layouts/layout.erb
424
+ - spec/dummy/site-one/source/stylesheets/all.css
425
+ - spec/dummy/site-one/source/stylesheets/normalize.css
426
+ - spec/lib/skypager/builder/server_spec.rb
367
427
  - spec/lib/skypager/configuration_spec.rb
368
428
  - spec/lib/skypager/data_spec.rb
369
429
  - spec/lib/skypager/site_spec.rb
430
+ - spec/lib/skypager_spec.rb
431
+ - spec/skypager-test-config.rb.example
370
432
  - spec/spec_helper.rb
433
+ - spec/support/fixtures/cwd_config.json
434
+ - spec/support/fixtures/home_config.json
371
435
  - spec/support/json_helper.rb
372
436
  homepage: http://skypager.io
373
437
  licenses:
@@ -395,9 +459,24 @@ specification_version: 4
395
459
  summary: Skypager lets people collaborate on advanced, dynamic sites using simple
396
460
  familiar tools
397
461
  test_files:
462
+ - spec/dummy/site-one/.gitignore
463
+ - spec/dummy/site-one/Gemfile
464
+ - spec/dummy/site-one/config.rb
465
+ - spec/dummy/site-one/source/images/background.png
466
+ - spec/dummy/site-one/source/images/middleman.png
467
+ - spec/dummy/site-one/source/index.html.erb
468
+ - spec/dummy/site-one/source/javascripts/all.js
469
+ - spec/dummy/site-one/source/layouts/layout.erb
470
+ - spec/dummy/site-one/source/stylesheets/all.css
471
+ - spec/dummy/site-one/source/stylesheets/normalize.css
472
+ - spec/lib/skypager/builder/server_spec.rb
398
473
  - spec/lib/skypager/configuration_spec.rb
399
474
  - spec/lib/skypager/data_spec.rb
400
475
  - spec/lib/skypager/site_spec.rb
476
+ - spec/lib/skypager_spec.rb
477
+ - spec/skypager-test-config.rb.example
401
478
  - spec/spec_helper.rb
479
+ - spec/support/fixtures/cwd_config.json
480
+ - spec/support/fixtures/home_config.json
402
481
  - spec/support/json_helper.rb
403
482
  has_rdoc:
File without changes