usmu 1.2.0 → 1.2.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/usmu/plugin/core.rb +2 -2
- data/lib/usmu/version.rb +1 -1
- data/spec/usmu/plugin/core_spec.rb +111 -0
- data/spec/usmu/site_generator_spec.rb +2 -4
- data/usmu.gemspec +0 -1
- metadata +1 -17
- data/spec/plugin/core_spec.rb +0 -116
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a17b2f0a54894311de49ba082286ef8b42abdddb
|
4
|
+
data.tar.gz: b8b72e07ca7986addb70bf255ec6a18c15e6471c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5783809764b9fee5b97a5879592f18b3766e50c82c9d4cfb1aadeb84e437c2b2bc079d1caf285e3af161209598c76685cd8ac29ee8adc3e2804351810ad6095c
|
7
|
+
data.tar.gz: f1d90b1aec2431e0d7c788ce09385179624c7a09121bdcbef5ed66fad5ce78276e2a0cde4b764cb610c2d7c366d6ec66ca169d69a570e60a7d41392babe9e256
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Usmu Change Log
|
2
2
|
|
3
|
+
## 1.2.1
|
4
|
+
|
5
|
+
Matthew Scharley <matt.scharley@gmail.com>
|
6
|
+
|
7
|
+
* Remove useless gem (f1a9659a03c239da7348ce75e6fcf2f055c4079e)
|
8
|
+
* Fix options to Rack to set hostname and port correctly (1364e9ee14bf2d79fd379363a0e2e820f9382e30)
|
9
|
+
* Fix tests (edb9e246aee28b57d2a51a3bb310c76cf3474054)
|
10
|
+
|
3
11
|
## 1.2.0
|
4
12
|
|
5
13
|
Matthew Scharley <matt.scharley@gmail.com>
|
data/lib/usmu/plugin/core.rb
CHANGED
@@ -78,8 +78,8 @@ module Usmu
|
|
78
78
|
@log.info('Starting webserver...')
|
79
79
|
|
80
80
|
Rack::Handler::WEBrick.run Ui::RackServer.new(configuration),
|
81
|
-
|
82
|
-
|
81
|
+
Host: configuration['serve', 'host', default: 'localhost'],
|
82
|
+
Port: configuration['serve', 'port', default: 8080]
|
83
83
|
end
|
84
84
|
|
85
85
|
private
|
data/lib/usmu/version.rb
CHANGED
@@ -1,5 +1,116 @@
|
|
1
1
|
require 'usmu/plugin/core'
|
2
|
+
require 'usmu/configuration'
|
3
|
+
require 'usmu/mock_commander'
|
4
|
+
require 'ostruct'
|
5
|
+
require 'rack'
|
6
|
+
require 'usmu/ui/rack_server'
|
2
7
|
|
3
8
|
RSpec.describe Usmu::Plugin::Core do
|
9
|
+
let (:plugin) { described_class.new }
|
10
|
+
let (:configuration) { Usmu::Configuration.from_hash({}) }
|
11
|
+
let (:ui) { OpenStruct.new configuration: configuration }
|
12
|
+
let (:commander) { Usmu::MockCommander.new }
|
13
|
+
let (:options) { Commander::Command::Options.new }
|
4
14
|
|
15
|
+
context '#commands' do
|
16
|
+
it 'stores a the UI given to it' do
|
17
|
+
plugin.commands(ui, commander)
|
18
|
+
|
19
|
+
expect(plugin.send :ui).to eq(ui)
|
20
|
+
expect(@log_output.readline).to eq(" DEBUG Usmu::Plugin::Core : Adding core console commands...\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'defines a "generate" command' do
|
24
|
+
plugin.commands(ui, commander)
|
25
|
+
|
26
|
+
command = commander.get_command :generate
|
27
|
+
expect(command[:syntax]).to eq('usmu generate')
|
28
|
+
expect(command[:description]).to eq('Generates your website using the configuration specified.')
|
29
|
+
expect(command[:action]).to be_a(Proc)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'defines a "init" command' do
|
33
|
+
plugin.commands(ui, commander)
|
34
|
+
|
35
|
+
command = commander.get_command :init
|
36
|
+
expect(command[:syntax]).to eq('usmu init [path]')
|
37
|
+
expect(command[:description]).to eq('Initialise a new website in the given path, or the current directory if none given.')
|
38
|
+
expect(command[:action]).to be_a(Proc)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'defines a "serve" command' do
|
42
|
+
plugin.commands(ui, commander)
|
43
|
+
|
44
|
+
command = commander.get_command :serve
|
45
|
+
expect(command[:syntax]).to eq('usmu serve')
|
46
|
+
expect(command[:description]).to eq('Serve files processed files directly. This won\'t update files on disk, but you will be able to view your website as rendered.')
|
47
|
+
expect(command[:action]).to be_a(Proc)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context '#command_generate' do
|
52
|
+
it 'raises an error when arguments are specified' do
|
53
|
+
expect { plugin.command_generate(['foo'], options) }.to raise_error('This command does not take arguments')
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'raises an error when invalid options are specified' do
|
57
|
+
expect { plugin.command_generate([], []) }.to raise_error('Invalid options')
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should generate a site' do
|
61
|
+
expect(configuration.generator).to receive(:generate)
|
62
|
+
|
63
|
+
plugin.send :ui=, ui
|
64
|
+
plugin.command_generate [], options
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context '#command_init' do
|
69
|
+
it 'should do something'
|
70
|
+
end
|
71
|
+
|
72
|
+
context '#command_serve' do
|
73
|
+
let (:empty_configuration) { Usmu::Configuration.from_hash({}) }
|
74
|
+
let (:configuration) {
|
75
|
+
Usmu::Configuration.from_hash(
|
76
|
+
{
|
77
|
+
'serve' => {
|
78
|
+
'host' => '0.0.0.0',
|
79
|
+
'port' => 8008,
|
80
|
+
}
|
81
|
+
}
|
82
|
+
)
|
83
|
+
}
|
84
|
+
let (:rs) { OpenStruct.new }
|
85
|
+
|
86
|
+
before do
|
87
|
+
allow(Usmu::Ui::RackServer).to receive(:new).with(empty_configuration).and_return(rs)
|
88
|
+
allow(Usmu::Ui::RackServer).to receive(:new).with(configuration).and_return(rs)
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'raises an error when arguments are specified' do
|
92
|
+
expect { plugin.command_serve(['foo'], options) }.to raise_error('This command does not take arguments')
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'raises an error when invalid options are specified' do
|
96
|
+
expect { plugin.command_serve([], []) }.to raise_error('Invalid options')
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'should start a WEBrick Rack handler with a new RackServer UI' do
|
100
|
+
plugin.send :ui=, OpenStruct.new(configuration: empty_configuration)
|
101
|
+
expect(Rack::Handler::WEBrick).to receive(:run).with(rs, Host: 'localhost', Port: 8080)
|
102
|
+
plugin.command_serve [], options
|
103
|
+
expect(@log_output.readline).to eq(" INFO Usmu::Plugin::Core : Starting webserver...\n")
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'should take hostname and ports from the configuration file' do
|
107
|
+
plugin.send :ui=, OpenStruct.new(configuration: configuration)
|
108
|
+
expect(Rack::Handler::WEBrick).to receive(:run).with(rs, Host: '0.0.0.0', Port: 8008)
|
109
|
+
plugin.command_serve [], options
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
context '#init_copy_file' do
|
114
|
+
it 'should do something'
|
115
|
+
end
|
5
116
|
end
|
@@ -95,9 +95,8 @@ RSpec.describe Usmu::SiteGenerator do
|
|
95
95
|
end
|
96
96
|
|
97
97
|
it 'should write a file and update mtime to match source files' do
|
98
|
-
page = OpenStruct.new name: 'test.slim', input_path: 'src/test.slim', output_filename: 'test.html', render: '<!DOCTYPE html><h1>It works!</h1>'
|
98
|
+
page = OpenStruct.new name: 'test.slim', input_path: 'src/test.slim', output_filename: 'test.html', render: '<!DOCTYPE html><h1>It works!</h1>', mtime: 100
|
99
99
|
expect(File).to receive(:write).with('site/test.html', '<!DOCTYPE html><h1>It works!</h1>')
|
100
|
-
expect(File).to receive(:stat).with('src/test.slim').and_return(OpenStruct.new mtime: 100)
|
101
100
|
expect(FileUtils).to receive(:touch).with('site/test.html', mtime: 100).and_return(true)
|
102
101
|
expect(FileUtils).to_not receive(:mkdir_p)
|
103
102
|
|
@@ -108,9 +107,8 @@ RSpec.describe Usmu::SiteGenerator do
|
|
108
107
|
end
|
109
108
|
|
110
109
|
it 'should create directories as necessary' do
|
111
|
-
page = OpenStruct.new name: 'test.slim', input_path: 'src/subdir/test.slim', output_filename: 'subdir/test.html', render: '<!DOCTYPE html><h1>It works!</h1>'
|
110
|
+
page = OpenStruct.new name: 'test.slim', input_path: 'src/subdir/test.slim', output_filename: 'subdir/test.html', render: '<!DOCTYPE html><h1>It works!</h1>', mtime: 100
|
112
111
|
expect(File).to receive(:write).with('site/subdir/test.html', '<!DOCTYPE html><h1>It works!</h1>')
|
113
|
-
expect(File).to receive(:stat).with('src/subdir/test.slim').and_return(OpenStruct.new mtime: 100)
|
114
112
|
expect(FileUtils).to receive(:touch).with('site/subdir/test.html', mtime: 100).and_return(true)
|
115
113
|
expect(FileUtils).to receive(:mkdir_p).with('site/subdir')
|
116
114
|
|
data/usmu.gemspec
CHANGED
@@ -38,7 +38,6 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_development_dependency 'guard-rspec', '~> 4.3'
|
39
39
|
spec.add_development_dependency 'turnip', '~> 2.0'
|
40
40
|
spec.add_development_dependency 'sass', '~> 3.4'
|
41
|
-
spec.add_development_dependency 'timeout', '~> 0.0'
|
42
41
|
|
43
42
|
case ENV['BUILD_PLATFORM']
|
44
43
|
when 'ruby'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usmu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Scharley
|
@@ -206,20 +206,6 @@ dependencies:
|
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '3.4'
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: timeout
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0.0'
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - "~>"
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '0.0'
|
223
209
|
- !ruby/object:Gem::Dependency
|
224
210
|
name: redcarpet
|
225
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,7 +290,6 @@ files:
|
|
304
290
|
- spec/mock/usmu/mock_metadata_configuration.rb
|
305
291
|
- spec/mock/usmu/mock_plugin.rb
|
306
292
|
- spec/mock/usmu/mock_remote_files.rb
|
307
|
-
- spec/plugin/core_spec.rb
|
308
293
|
- spec/spec_helper.rb
|
309
294
|
- spec/support/shared_layout.rb
|
310
295
|
- spec/usmu/configuration_spec.rb
|
@@ -384,7 +369,6 @@ test_files:
|
|
384
369
|
- spec/mock/usmu/mock_metadata_configuration.rb
|
385
370
|
- spec/mock/usmu/mock_plugin.rb
|
386
371
|
- spec/mock/usmu/mock_remote_files.rb
|
387
|
-
- spec/plugin/core_spec.rb
|
388
372
|
- spec/spec_helper.rb
|
389
373
|
- spec/support/shared_layout.rb
|
390
374
|
- spec/usmu/configuration_spec.rb
|
data/spec/plugin/core_spec.rb
DELETED
@@ -1,116 +0,0 @@
|
|
1
|
-
require 'usmu/plugin/core'
|
2
|
-
require 'usmu/configuration'
|
3
|
-
require 'usmu/mock_commander'
|
4
|
-
require 'ostruct'
|
5
|
-
require 'rack'
|
6
|
-
require 'usmu/ui/rack_server'
|
7
|
-
|
8
|
-
RSpec.describe Usmu::Plugin::Core do
|
9
|
-
let (:plugin) { described_class.new }
|
10
|
-
let (:configuration) { Usmu::Configuration.from_hash({}) }
|
11
|
-
let (:ui) { OpenStruct.new configuration: configuration }
|
12
|
-
let (:commander) { Usmu::MockCommander.new }
|
13
|
-
let (:options) { Commander::Command::Options.new }
|
14
|
-
|
15
|
-
context '#commands' do
|
16
|
-
it 'stores a the UI given to it' do
|
17
|
-
plugin.commands(ui, commander)
|
18
|
-
|
19
|
-
expect(plugin.send :ui).to eq(ui)
|
20
|
-
expect(@log_output.readline).to eq(" DEBUG Usmu::Plugin::Core : Adding core console commands...\n")
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'defines a "generate" command' do
|
24
|
-
plugin.commands(ui, commander)
|
25
|
-
|
26
|
-
command = commander.get_command :generate
|
27
|
-
expect(command[:syntax]).to eq('usmu generate')
|
28
|
-
expect(command[:description]).to eq('Generates your website using the configuration specified.')
|
29
|
-
expect(command[:action]).to be_a(Proc)
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'defines a "init" command' do
|
33
|
-
plugin.commands(ui, commander)
|
34
|
-
|
35
|
-
command = commander.get_command :init
|
36
|
-
expect(command[:syntax]).to eq('usmu init [path]')
|
37
|
-
expect(command[:description]).to eq('Initialise a new website in the given path, or the current directory if none given.')
|
38
|
-
expect(command[:action]).to be_a(Proc)
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'defines a "serve" command' do
|
42
|
-
plugin.commands(ui, commander)
|
43
|
-
|
44
|
-
command = commander.get_command :serve
|
45
|
-
expect(command[:syntax]).to eq('usmu serve')
|
46
|
-
expect(command[:description]).to eq('Serve files processed files directly. This won\'t update files on disk, but you will be able to view your website as rendered.')
|
47
|
-
expect(command[:action]).to be_a(Proc)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
context '#command_generate' do
|
52
|
-
it 'raises an error when arguments are specified' do
|
53
|
-
expect { plugin.command_generate(['foo'], options) }.to raise_error('This command does not take arguments')
|
54
|
-
end
|
55
|
-
|
56
|
-
it 'raises an error when invalid options are specified' do
|
57
|
-
expect { plugin.command_generate([], []) }.to raise_error('Invalid options')
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'should generate a site' do
|
61
|
-
expect(configuration.generator).to receive(:generate)
|
62
|
-
|
63
|
-
plugin.send :ui=, ui
|
64
|
-
plugin.command_generate [], options
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
context '#command_init' do
|
69
|
-
it 'should do something'
|
70
|
-
end
|
71
|
-
|
72
|
-
context '#command_serve' do
|
73
|
-
let (:empty_configuration) { Usmu::Configuration.from_hash({}) }
|
74
|
-
let (:configuration) {
|
75
|
-
Usmu::Configuration.from_hash(
|
76
|
-
{
|
77
|
-
'serve' => {
|
78
|
-
'host' => '0.0.0.0',
|
79
|
-
'port' => 8008,
|
80
|
-
}
|
81
|
-
}
|
82
|
-
)
|
83
|
-
}
|
84
|
-
let (:rs) { OpenStruct.new }
|
85
|
-
|
86
|
-
before do
|
87
|
-
allow(Usmu::Ui::RackServer).to receive(:new).with(empty_configuration).and_return(rs)
|
88
|
-
allow(Usmu::Ui::RackServer).to receive(:new).with(configuration).and_return(rs)
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'raises an error when arguments are specified' do
|
92
|
-
expect { plugin.command_serve(['foo'], options) }.to raise_error('This command does not take arguments')
|
93
|
-
end
|
94
|
-
|
95
|
-
it 'raises an error when invalid options are specified' do
|
96
|
-
expect { plugin.command_serve([], []) }.to raise_error('Invalid options')
|
97
|
-
end
|
98
|
-
|
99
|
-
it 'should start a WEBrick Rack handler with a new RackServer UI' do
|
100
|
-
plugin.send :ui=, OpenStruct.new(configuration: empty_configuration)
|
101
|
-
expect(Rack::Handler::WEBrick).to receive(:run).with(rs, host: 'localhost', port: 8080)
|
102
|
-
plugin.command_serve [], options
|
103
|
-
expect(@log_output.readline).to eq(" INFO Usmu::Plugin::Core : Starting webserver...\n")
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'should take hostname and ports from the configuration file' do
|
107
|
-
plugin.send :ui=, OpenStruct.new(configuration: configuration)
|
108
|
-
expect(Rack::Handler::WEBrick).to receive(:run).with(rs, host: '0.0.0.0', port: 8008)
|
109
|
-
plugin.command_serve [], options
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
context '#init_copy_file' do
|
114
|
-
it 'should do something'
|
115
|
-
end
|
116
|
-
end
|