usmu 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98c4d548d6ce9899b3072b1e20c221c897236c4b
4
- data.tar.gz: b4e9bbe42c3daf79e419fc70e5fd9346cbfc289a
3
+ metadata.gz: a17b2f0a54894311de49ba082286ef8b42abdddb
4
+ data.tar.gz: b8b72e07ca7986addb70bf255ec6a18c15e6471c
5
5
  SHA512:
6
- metadata.gz: b0b63588aba8d2c67cdfefe4b0e196d6fb22ac4fffb5a74eeb30fa0d4ee545927c0b9d21747736c741d1ffc11049a200be99434ea0ae7407f6b18d264e7ef2a9
7
- data.tar.gz: 5007c6d0c1f35fbaa490fc5565f2c8dfb4aa7216e605740261c695d395c799e5d8adc23b262d93a87dbaf966a814f9b8254d50962b0af95c5dce003afaa6eeac
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>
@@ -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
- host: configuration['serve', 'host', default: 'localhost'],
82
- port: configuration['serve', 'port', default: 8080]
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,5 @@
1
1
 
2
2
  module Usmu
3
3
  # The current version string for the gem
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
@@ -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.0
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
@@ -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