antwort 0.0.12 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +12 -0
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +28 -1
  6. data/README.md +1 -1
  7. data/antwort.gemspec +2 -2
  8. data/lib/antwort.rb +5 -4
  9. data/lib/antwort/builder/builder.rb +15 -24
  10. data/lib/antwort/builder/email.rb +47 -22
  11. data/lib/antwort/builder/flattener.rb +8 -9
  12. data/lib/antwort/builder/partial.rb +12 -11
  13. data/lib/antwort/builder/style.rb +26 -27
  14. data/lib/antwort/{builder.rb → builders.rb} +3 -3
  15. data/lib/antwort/cli.rb +0 -1
  16. data/lib/antwort/cli/cli.rb +42 -48
  17. data/lib/antwort/cli/send.rb +11 -14
  18. data/lib/antwort/cli/upload.rb +29 -28
  19. data/lib/antwort/core.rb +4 -0
  20. data/lib/antwort/email/build.rb +41 -0
  21. data/lib/antwort/email/collection.rb +41 -0
  22. data/lib/antwort/email/data.rb +27 -0
  23. data/lib/antwort/email/template.rb +88 -0
  24. data/lib/antwort/helpers/file_helper.rb +27 -0
  25. data/lib/antwort/{helpers.rb → helpers/helper.rb} +2 -2
  26. data/lib/antwort/helpers/logic_helper.rb +81 -0
  27. data/lib/antwort/helpers/markup_helper.rb +37 -0
  28. data/lib/antwort/{builder/helpers/sanitizers.rb → helpers/sanitizers_helper.rb} +2 -4
  29. data/lib/antwort/helpers/server_helper.rb +32 -0
  30. data/lib/antwort/{server.rb → server/server.rb} +26 -23
  31. data/{template/project → lib/antwort/server}/views/404.html.erb +1 -1
  32. data/{template/project → lib/antwort/server}/views/index.html.erb +4 -6
  33. data/{template/project → lib/antwort/server}/views/layout.erb +5 -5
  34. data/{template/project/views/markup/_button.html.erb → lib/antwort/server/views/markup/button.html.erb} +0 -0
  35. data/{template/project/views/markup/_image_tag.html.erb → lib/antwort/server/views/markup/image_tag.html.erb} +0 -0
  36. data/{template/project → lib/antwort/server}/views/server.erb +0 -0
  37. data/lib/antwort/version.rb +1 -1
  38. data/spec/builder/builder_spec.rb +17 -22
  39. data/spec/builder/email_spec.rb +11 -12
  40. data/spec/builder/flattener_spec.rb +20 -21
  41. data/spec/builder/helpers_logic_spec.rb +69 -73
  42. data/spec/builder/partial_spec.rb +42 -51
  43. data/spec/builder/style_spec.rb +25 -34
  44. data/spec/{cli_spec.rb → cli/cli_spec.rb} +8 -9
  45. data/spec/cli/send_spec.rb +80 -0
  46. data/spec/cli/upload_spec.rb +17 -9
  47. data/spec/email/build_spec.rb +13 -0
  48. data/spec/email/collection_spec.rb +56 -0
  49. data/spec/email/data_spec.rb +40 -0
  50. data/spec/email/template_spec.rb +116 -0
  51. data/spec/fixtures/assets/css/demo/include.scss +3 -0
  52. data/spec/fixtures/assets/css/demo/inline.scss +33 -0
  53. data/spec/fixtures/assets/css/no-images/include.scss +1 -0
  54. data/spec/fixtures/assets/css/no-images/inline.scss +2 -0
  55. data/spec/fixtures/assets/css/shared/_base.scss +64 -0
  56. data/spec/fixtures/assets/css/shared/_mixins.scss +25 -0
  57. data/spec/fixtures/assets/css/shared/_reset.scss +59 -0
  58. data/spec/fixtures/assets/css/shared/_vars.scss +12 -0
  59. data/spec/fixtures/assets/css/shared/include.scss +23 -0
  60. data/spec/fixtures/assets/css/shared/inline.scss +9 -0
  61. data/spec/fixtures/build/demo-20160101/demo.html +177 -0
  62. data/spec/fixtures/build/demo-20160101/source/demo.html +118 -0
  63. data/spec/fixtures/build/demo-20160101/source/include.css +58 -0
  64. data/spec/fixtures/build/demo-20160101/source/inline.css +83 -0
  65. data/spec/fixtures/build/demo-20160102/demo.html +177 -0
  66. data/spec/fixtures/build/demo-20160102/source/demo.html +118 -0
  67. data/spec/fixtures/build/demo-20160102/source/include.css +58 -0
  68. data/spec/fixtures/build/demo-20160102/source/inline.css +83 -0
  69. data/{template/project/data/.empty_directory → spec/fixtures/emails/1-demo/_bar.erb} +0 -0
  70. data/spec/fixtures/emails/1-demo/_foo.erb +0 -0
  71. data/spec/fixtures/emails/1-demo/index.html.erb +2 -2
  72. data/spec/fixtures/emails/4-custom-layout/index.html.erb +6 -0
  73. data/spec/fixtures/emails/4-custom-layout/layout.erb +5 -0
  74. data/spec/fixtures/emails/demo/index.html.erb +4 -0
  75. data/spec/fixtures/emails/no-images/index.html.erb +4 -0
  76. data/spec/fixtures/emails/shared/_foo.erb +0 -0
  77. data/spec/fixtures/{views → emails/shared}/layout.erb +0 -0
  78. data/spec/helpers/file_helper_spec.rb +30 -0
  79. data/spec/server/server_spec.rb +57 -0
  80. data/spec/spec_helper.rb +18 -7
  81. data/template/project/Gemfile.tt +1 -7
  82. metadata +92 -42
  83. data/lib/antwort/builder/helpers/logic.rb +0 -82
  84. data/lib/antwort/cli/helpers.rb +0 -44
  85. data/lib/antwort/server/helpers.rb +0 -67
  86. data/lib/antwort/server/markup.rb +0 -39
  87. data/spec/cli/helpers_spec.rb +0 -60
  88. data/spec/fixtures/build/demo-123456/build.html +0 -7
  89. data/spec/fixtures/build/demo-123457/build.html +0 -7
  90. data/spec/fixtures/build/demo-bar-123/build.html +0 -7
  91. data/spec/fixtures/views/404.html.erb +0 -1
  92. data/spec/fixtures/views/index.html.erb +0 -14
  93. data/spec/fixtures/views/server.erb +0 -5
  94. data/spec/server_spec.rb +0 -54
  95. data/template/project/.ruby-version +0 -1
  96. data/template/project/data/config.yml +0 -3
@@ -0,0 +1,58 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ -ms-text-size-adjust: 100%;
5
+ -webkit-text-size-adjust: 100%;
6
+ }
7
+
8
+ table {
9
+ border-spacing: 0;
10
+ }
11
+
12
+ table td {
13
+ border-collapse: collapse;
14
+ }
15
+
16
+ .ExternalClass {
17
+ width: 100%;
18
+ }
19
+
20
+ .ExternalClass,
21
+ .ExternalClass p,
22
+ .ExternalClass span,
23
+ .ExternalClass font,
24
+ .ExternalClass td,
25
+ .ExternalClass div {
26
+ line-height: 100%;
27
+ }
28
+
29
+ .ReadMsgBody {
30
+ width: 100%;
31
+ background-color: #ebebeb;
32
+ }
33
+
34
+ table {
35
+ mso-table-lspace: 0pt;
36
+ mso-table-rspace: 0pt;
37
+ }
38
+
39
+ img {
40
+ -ms-interpolation-mode: bicubic;
41
+ }
42
+
43
+ .yshortcuts a {
44
+ border-bottom: none !important;
45
+ }
46
+
47
+ @media screen and (max-width: 600px) {
48
+ .container {
49
+ width: 100% !important;
50
+ max-width: 100% !important;
51
+ }
52
+ }
53
+ @media screen and (max-width: 400px) {
54
+ .container-padding {
55
+ padding-left: 10px;
56
+ padding-right: 10px;
57
+ }
58
+ }
@@ -0,0 +1,83 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ .container {
7
+ width: 600px;
8
+ max-width: 600px;
9
+ }
10
+
11
+ .container-padding {
12
+ padding-left: 20px;
13
+ padding-right: 20px;
14
+ }
15
+
16
+ .content {
17
+ background-color: #ffffff;
18
+ }
19
+
20
+ .title {
21
+ font-weight: bold;
22
+ font-size: 24px;
23
+ line-height: 28px;
24
+ font-family: Helvetica, Arial, sans-serif;
25
+ }
26
+
27
+ .body-text {
28
+ font-size: 16px;
29
+ line-height: 20px;
30
+ font-family: Helvetica, Arial, sans-serif;
31
+ }
32
+
33
+ .button td {
34
+ -webkit-border-radius: 3px;
35
+ -moz-border-radius: 3px;
36
+ border-radius: 3px;
37
+ background-color: #2095F2;
38
+ }
39
+ .button a {
40
+ -webkit-border-radius: 3px;
41
+ -moz-border-radius: 3px;
42
+ border-radius: 3px;
43
+ font-weight: bold;
44
+ font-size: 14px;
45
+ line-height: 20px;
46
+ font-family: Helvetica, Arial, sans-serif;
47
+ text-decoration: none;
48
+ display: inline-block;
49
+ padding: 12px 18px;
50
+ border: 1px solid #0e89eb;
51
+ background-color: #2095F2;
52
+ color: #ffffff;
53
+ }
54
+ .button.green td, .button.green a {
55
+ background-color: #8AC249;
56
+ border-color: #7db53d;
57
+ }
58
+
59
+ table[align="center"] {
60
+ margin-left: auto;
61
+ margin-right: auto;
62
+ }
63
+
64
+ code {
65
+ font-size: 14px;
66
+ line-height: 16px;
67
+ font-family: 'Courier New', Courier, monospace;
68
+ background-color: #eeeeee;
69
+ color: #333333;
70
+ display: inline-block;
71
+ padding: 0 4px;
72
+ vertical-align: middle;
73
+ }
74
+
75
+ .table td {
76
+ border: 1px solid #dddddd;
77
+ border-left-width: 0;
78
+ padding-top: 10px;
79
+ padding-bottom: 10px;
80
+ }
81
+ .table td:first-child {
82
+ border-left-width: 1px;
83
+ }
File without changes
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  title: Email One
3
3
  ---
4
-
5
- <h1>Hello One</h1>
4
+ <h1>Hello World</h1>
5
+ <p>This is email one.</p>
6
6
 
7
7
  <% @foo.each do |f| %>
8
8
  <%= f[:title] %>
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Email Four
3
+ layout: '4-custom-layout/layout'
4
+ ---
5
+
6
+ <p>Email four has a custom layout.</p>
@@ -0,0 +1,5 @@
1
+ Header
2
+
3
+ <%= yield %>
4
+
5
+ Footer
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: No Images
3
+ ---
4
+ <h1>No Images</h1>
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: No Images
3
+ ---
4
+ <h1>No Images</h1>
File without changes
File without changes
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ class Dummy
4
+ end
5
+
6
+ describe Antwort::FileHelpers do
7
+ let(:helper) { Dummy.new.extend(Antwort::FileHelpers) }
8
+
9
+ it '#count_files' do
10
+ expect(helper.count_files('./assets/images/shared')).to be(2)
11
+ expect(helper.count_files('./assets/images/1-demo')).to be(1)
12
+ end
13
+
14
+ it '#list_folders' do
15
+ a = helper.list_folders '.'
16
+ expect(a).to include('assets')
17
+ expect(a).to include('build')
18
+ expect(a).to include('data')
19
+ expect(a).to include('emails')
20
+ expect(a).not_to include('support')
21
+ expect(a).not_to include('lib')
22
+ end
23
+
24
+ it '#email_id_from_folder_name' do
25
+ expect(helper.email_id_from_folder_name('foo-123')).to eq('foo')
26
+ expect(helper.email_id_from_folder_name('foo-bar-123')).to eq('foo-bar')
27
+ expect(helper.email_id_from_folder_name('foo_bar-123')).to eq('foo_bar')
28
+ expect(helper.email_id_from_folder_name('past-event-notification-20160330173522')).to eq('past-event-notification')
29
+ end
30
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Antwort Server' do
4
+ def app
5
+ Antwort::Server
6
+ end
7
+
8
+ describe 'Index page' do
9
+ it 'is valid' do
10
+ get '/'
11
+ expect(last_response.status).to eq(200)
12
+ end
13
+
14
+ it 'lists available templates by title, includes link' do
15
+ get '/'
16
+ expect(last_response.body).to include('Email One')
17
+ expect(last_response.body).to include('Email Two')
18
+ expect(last_response.body).to include('<a href="/template/1-demo">')
19
+ expect(last_response.body).to include('<a href="/template/2-no-layout">')
20
+ end
21
+ end
22
+
23
+ describe 'Template' do
24
+ describe 'Render' do
25
+ it 'renders email preview' do
26
+ get '/template/1-demo'
27
+ expect(last_response.body).to include('<h1>Hello World</h1>')
28
+ expect(last_response.body).to include('<p>This is email one.</p>')
29
+ end
30
+
31
+ it 'respects layout:false metadata attribute' do
32
+ get '/template/2-no-layout'
33
+ expect(last_response.body).not_to include('<body>')
34
+ end
35
+
36
+ it 'has default title if none found' do
37
+ get '/template/3-no-title'
38
+ expect(last_response.body).to include('Untitled')
39
+ end
40
+ end
41
+
42
+ describe 'Data' do
43
+ it 'loads data yaml file' do
44
+ get '/template/1-demo'
45
+ expect(last_response.body).to include('foo')
46
+ expect(last_response.body).to include('bar')
47
+ end
48
+ end
49
+
50
+ describe 'Template Not Found' do
51
+ it 'shows 404 error' do
52
+ get '/template/does-not-exist'
53
+ expect(last_response.status).to eq(404)
54
+ end
55
+ end
56
+ end
57
+ end
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ require 'antwort'
5
5
  require 'rspec'
6
6
  require 'rack/test'
7
7
 
8
- Pathname.glob(Pathname(__dir__) + 'support' '**/*.rb').each { |f| require f }
8
+ Pathname.glob(Pathname(__dir__) + 'support**/*.rb').each { |f| require f }
9
9
 
10
10
  RSpec.configure do |config|
11
11
  # Run specs in random order to surface order dependencies. If you find an
@@ -24,15 +24,26 @@ RSpec.configure do |config|
24
24
  mocks.syntax = :expect
25
25
  end
26
26
 
27
- # move to .env later
27
+ def fixtures_root
28
+ File.join(File.dirname(__FILE__), 'fixtures')
29
+ end
30
+
28
31
  config.before :suite do
29
- ENV['AWS_ACCESS_KEY_ID'] ||= 'MY_TEST_ACCESS_KEY'
30
- ENV['AWS_SECRET_ACCESS_KEY'] ||= 'MY_TEST_SECRET_ACCESS_KEY'
31
- ENV['AWS_BUCKET'] ||= 'MY_TEST_BUCKET'
32
+ ENV['AWS_ACCESS_KEY_ID'] ||= 'MY_TEST_ACCESS_KEY'
33
+ ENV['AWS_SECRET_ACCESS_KEY'] ||= 'MY_TEST_SECRET_ACCESS_KEY'
34
+ ENV['AWS_BUCKET'] ||= 'MY_TEST_BUCKET'
35
+ ENV['SEND_FROM'] ||= 'TEST_ENV_SEND_FROM'
36
+ ENV['SEND_TO'] ||= 'TEST_ENV_SEND_TO'
37
+ ENV['ASSET_SERVER'] ||= ''
38
+
39
+ Dir.chdir(fixtures_root)
32
40
  end
33
41
 
34
- def fixtures_root
35
- File.join(File.dirname(__FILE__), "fixtures")
42
+ config.before :each do
43
+ allow($stdout).to receive(:write)
36
44
  end
45
+ end
37
46
 
47
+ Mail.defaults do
48
+ delivery_method :test
38
49
  end
@@ -1,9 +1,3 @@
1
- <% if @user %>
2
- source 'https://<%= @user %>:<%= @key %>@offsides-gems.herokuapp.com/'
3
- <% else %>
4
- # Forgot credentials? Contact support@antwort.co.
5
- # source 'https://USERNAME:KEY@offsides-gems.herokuapp.com/'
6
- <% end %>
7
1
  source 'https://rubygems.org'
8
2
 
9
- gem 'antwort'
3
+ gem 'antwort', '~> 1.0.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: antwort
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julie Ng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-10 00:00:00.000000000 Z
11
+ date: 2017-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -309,24 +309,35 @@ files:
309
309
  - antwort.gemspec
310
310
  - bin/antwort
311
311
  - lib/antwort.rb
312
- - lib/antwort/builder.rb
313
312
  - lib/antwort/builder/builder.rb
314
313
  - lib/antwort/builder/email.rb
315
314
  - lib/antwort/builder/flattener.rb
316
- - lib/antwort/builder/helpers/logic.rb
317
- - lib/antwort/builder/helpers/sanitizers.rb
318
315
  - lib/antwort/builder/partial.rb
319
316
  - lib/antwort/builder/style.rb
317
+ - lib/antwort/builders.rb
320
318
  - lib/antwort/cli.rb
321
319
  - lib/antwort/cli/cli.rb
322
- - lib/antwort/cli/helpers.rb
323
320
  - lib/antwort/cli/send.rb
324
321
  - lib/antwort/cli/upload.rb
325
- - lib/antwort/helpers.rb
326
- - lib/antwort/server.rb
322
+ - lib/antwort/core.rb
323
+ - lib/antwort/email/build.rb
324
+ - lib/antwort/email/collection.rb
325
+ - lib/antwort/email/data.rb
326
+ - lib/antwort/email/template.rb
327
+ - lib/antwort/helpers/file_helper.rb
328
+ - lib/antwort/helpers/helper.rb
329
+ - lib/antwort/helpers/logic_helper.rb
330
+ - lib/antwort/helpers/markup_helper.rb
331
+ - lib/antwort/helpers/sanitizers_helper.rb
332
+ - lib/antwort/helpers/server_helper.rb
327
333
  - lib/antwort/server/assets.rb
328
- - lib/antwort/server/helpers.rb
329
- - lib/antwort/server/markup.rb
334
+ - lib/antwort/server/server.rb
335
+ - lib/antwort/server/views/404.html.erb
336
+ - lib/antwort/server/views/index.html.erb
337
+ - lib/antwort/server/views/layout.erb
338
+ - lib/antwort/server/views/markup/button.html.erb
339
+ - lib/antwort/server/views/markup/image_tag.html.erb
340
+ - lib/antwort/server/views/server.erb
330
341
  - lib/antwort/version.rb
331
342
  - spec/builder/builder_spec.rb
332
343
  - spec/builder/email_spec.rb
@@ -334,26 +345,50 @@ files:
334
345
  - spec/builder/helpers_logic_spec.rb
335
346
  - spec/builder/partial_spec.rb
336
347
  - spec/builder/style_spec.rb
337
- - spec/cli/helpers_spec.rb
348
+ - spec/cli/cli_spec.rb
349
+ - spec/cli/send_spec.rb
338
350
  - spec/cli/upload_spec.rb
339
- - spec/cli_spec.rb
351
+ - spec/email/build_spec.rb
352
+ - spec/email/collection_spec.rb
353
+ - spec/email/data_spec.rb
354
+ - spec/email/template_spec.rb
355
+ - spec/fixtures/assets/css/demo/include.scss
356
+ - spec/fixtures/assets/css/demo/inline.scss
357
+ - spec/fixtures/assets/css/no-images/include.scss
358
+ - spec/fixtures/assets/css/no-images/inline.scss
359
+ - spec/fixtures/assets/css/shared/_base.scss
360
+ - spec/fixtures/assets/css/shared/_mixins.scss
361
+ - spec/fixtures/assets/css/shared/_reset.scss
362
+ - spec/fixtures/assets/css/shared/_vars.scss
363
+ - spec/fixtures/assets/css/shared/include.scss
364
+ - spec/fixtures/assets/css/shared/inline.scss
340
365
  - spec/fixtures/assets/images/1-demo/placeholder.png
341
366
  - spec/fixtures/assets/images/newsletter/placeholder.png
342
367
  - spec/fixtures/assets/images/shared/placeholder-grey.png
343
368
  - spec/fixtures/assets/images/shared/placeholder-white.png
344
- - spec/fixtures/build/demo-123456/build.html
345
- - spec/fixtures/build/demo-123457/build.html
346
- - spec/fixtures/build/demo-bar-123/build.html
369
+ - spec/fixtures/build/demo-20160101/demo.html
370
+ - spec/fixtures/build/demo-20160101/source/demo.html
371
+ - spec/fixtures/build/demo-20160101/source/include.css
372
+ - spec/fixtures/build/demo-20160101/source/inline.css
373
+ - spec/fixtures/build/demo-20160102/demo.html
374
+ - spec/fixtures/build/demo-20160102/source/demo.html
375
+ - spec/fixtures/build/demo-20160102/source/include.css
376
+ - spec/fixtures/build/demo-20160102/source/inline.css
347
377
  - spec/fixtures/build/foo-1/build.html
348
378
  - spec/fixtures/data/1-demo.yml
379
+ - spec/fixtures/emails/1-demo/_bar.erb
380
+ - spec/fixtures/emails/1-demo/_foo.erb
349
381
  - spec/fixtures/emails/1-demo/index.html.erb
350
382
  - spec/fixtures/emails/2-no-layout/index.html.erb
351
383
  - spec/fixtures/emails/3-no-title/index.html.erb
352
- - spec/fixtures/views/404.html.erb
353
- - spec/fixtures/views/index.html.erb
354
- - spec/fixtures/views/layout.erb
355
- - spec/fixtures/views/server.erb
356
- - spec/server_spec.rb
384
+ - spec/fixtures/emails/4-custom-layout/index.html.erb
385
+ - spec/fixtures/emails/4-custom-layout/layout.erb
386
+ - spec/fixtures/emails/demo/index.html.erb
387
+ - spec/fixtures/emails/no-images/index.html.erb
388
+ - spec/fixtures/emails/shared/_foo.erb
389
+ - spec/fixtures/emails/shared/layout.erb
390
+ - spec/helpers/file_helper_spec.rb
391
+ - spec/server/server_spec.rb
357
392
  - spec/spec_helper.rb
358
393
  - spec/support/capture.rb
359
394
  - template/email/css/include.scss
@@ -362,7 +397,6 @@ files:
362
397
  - template/email/images/.empty_directory
363
398
  - template/project/.env.sample
364
399
  - template/project/.gitignore.tt
365
- - template/project/.ruby-version
366
400
  - template/project/Gemfile.tt
367
401
  - template/project/Guardfile
368
402
  - template/project/assets/css/demo/include.scss
@@ -377,18 +411,10 @@ files:
377
411
  - template/project/assets/images/.gitkeep
378
412
  - template/project/assets/images/shared/placeholder.png
379
413
  - template/project/build/.empty_directory
380
- - template/project/data/.empty_directory
381
- - template/project/data/config.yml
382
414
  - template/project/data/demo.yml
383
415
  - template/project/emails/demo/_partial.html.erb
384
416
  - template/project/emails/demo/index.html.erb
385
- - template/project/views/404.html.erb
386
- - template/project/views/index.html.erb
387
- - template/project/views/layout.erb
388
- - template/project/views/markup/_button.html.erb
389
- - template/project/views/markup/_image_tag.html.erb
390
- - template/project/views/server.erb
391
- homepage: https://antwort.co
417
+ homepage: https://antwort.co/gem
392
418
  licenses:
393
419
  - MIT
394
420
  metadata: {}
@@ -400,7 +426,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
400
426
  requirements:
401
427
  - - "~>"
402
428
  - !ruby/object:Gem::Version
403
- version: '2.0'
429
+ version: '2.2'
404
430
  required_rubygems_version: !ruby/object:Gem::Requirement
405
431
  requirements:
406
432
  - - ">="
@@ -408,7 +434,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
408
434
  version: '0'
409
435
  requirements: []
410
436
  rubyforge_project:
411
- rubygems_version: 2.4.5
437
+ rubygems_version: 2.5.1
412
438
  signing_key:
413
439
  specification_version: 4
414
440
  summary: Antwort Generator
@@ -419,25 +445,49 @@ test_files:
419
445
  - spec/builder/helpers_logic_spec.rb
420
446
  - spec/builder/partial_spec.rb
421
447
  - spec/builder/style_spec.rb
422
- - spec/cli/helpers_spec.rb
448
+ - spec/cli/cli_spec.rb
449
+ - spec/cli/send_spec.rb
423
450
  - spec/cli/upload_spec.rb
424
- - spec/cli_spec.rb
451
+ - spec/email/build_spec.rb
452
+ - spec/email/collection_spec.rb
453
+ - spec/email/data_spec.rb
454
+ - spec/email/template_spec.rb
455
+ - spec/fixtures/assets/css/demo/include.scss
456
+ - spec/fixtures/assets/css/demo/inline.scss
457
+ - spec/fixtures/assets/css/no-images/include.scss
458
+ - spec/fixtures/assets/css/no-images/inline.scss
459
+ - spec/fixtures/assets/css/shared/_base.scss
460
+ - spec/fixtures/assets/css/shared/_mixins.scss
461
+ - spec/fixtures/assets/css/shared/_reset.scss
462
+ - spec/fixtures/assets/css/shared/_vars.scss
463
+ - spec/fixtures/assets/css/shared/include.scss
464
+ - spec/fixtures/assets/css/shared/inline.scss
425
465
  - spec/fixtures/assets/images/1-demo/placeholder.png
426
466
  - spec/fixtures/assets/images/newsletter/placeholder.png
427
467
  - spec/fixtures/assets/images/shared/placeholder-grey.png
428
468
  - spec/fixtures/assets/images/shared/placeholder-white.png
429
- - spec/fixtures/build/demo-123456/build.html
430
- - spec/fixtures/build/demo-123457/build.html
431
- - spec/fixtures/build/demo-bar-123/build.html
469
+ - spec/fixtures/build/demo-20160101/demo.html
470
+ - spec/fixtures/build/demo-20160101/source/demo.html
471
+ - spec/fixtures/build/demo-20160101/source/include.css
472
+ - spec/fixtures/build/demo-20160101/source/inline.css
473
+ - spec/fixtures/build/demo-20160102/demo.html
474
+ - spec/fixtures/build/demo-20160102/source/demo.html
475
+ - spec/fixtures/build/demo-20160102/source/include.css
476
+ - spec/fixtures/build/demo-20160102/source/inline.css
432
477
  - spec/fixtures/build/foo-1/build.html
433
478
  - spec/fixtures/data/1-demo.yml
479
+ - spec/fixtures/emails/1-demo/_bar.erb
480
+ - spec/fixtures/emails/1-demo/_foo.erb
434
481
  - spec/fixtures/emails/1-demo/index.html.erb
435
482
  - spec/fixtures/emails/2-no-layout/index.html.erb
436
483
  - spec/fixtures/emails/3-no-title/index.html.erb
437
- - spec/fixtures/views/404.html.erb
438
- - spec/fixtures/views/index.html.erb
439
- - spec/fixtures/views/layout.erb
440
- - spec/fixtures/views/server.erb
441
- - spec/server_spec.rb
484
+ - spec/fixtures/emails/4-custom-layout/index.html.erb
485
+ - spec/fixtures/emails/4-custom-layout/layout.erb
486
+ - spec/fixtures/emails/demo/index.html.erb
487
+ - spec/fixtures/emails/no-images/index.html.erb
488
+ - spec/fixtures/emails/shared/_foo.erb
489
+ - spec/fixtures/emails/shared/layout.erb
490
+ - spec/helpers/file_helper_spec.rb
491
+ - spec/server/server_spec.rb
442
492
  - spec/spec_helper.rb
443
493
  - spec/support/capture.rb