guard-haml-coffee 1.0.1 → 1.0.2
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/lib/guard/haml-coffee.rb +8 -7
- data/lib/guard/haml-coffee/version.rb +1 -1
- data/spec/guard/haml-coffee_spec.rb +38 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b14bb4eec9c034e4635a4144afd733c14a12ff1
|
4
|
+
data.tar.gz: 46f19eac971256c11358c5923ea1dbdc23606885
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3833d9d35963c023e8d7e848f6f3c178777a0bc83aa4f4e290453cbc6ca1c2ea448e61207816e4b48ea1bc4937e9dfd56e8de4acc9c7fb187732ea50eeed7e76
|
7
|
+
data.tar.gz: a28fb3275739d8283ac5e511fbf4f19c39f40ed0ef28ab841f693b569e809bdc83a3ca526402c0b2813ddcfb7f3227ea1da793fa5bef50f33d894d24e8e1953b
|
data/lib/guard/haml-coffee.rb
CHANGED
@@ -8,7 +8,7 @@ require 'coffee-script'
|
|
8
8
|
module Guard
|
9
9
|
class HamlCoffee < Plugin
|
10
10
|
VALID_GUARD_OPTIONS = %i(watchers group callbacks)
|
11
|
-
VALID_OPTIONS = %i(
|
11
|
+
VALID_OPTIONS = %i(input output)
|
12
12
|
|
13
13
|
def initialize(options = {})
|
14
14
|
valid_options = VALID_OPTIONS + VALID_GUARD_OPTIONS
|
@@ -18,9 +18,7 @@ module Guard
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
@options =
|
22
|
-
notifications: true
|
23
|
-
}.merge(options)
|
21
|
+
@options = options.dup
|
24
22
|
super(@options)
|
25
23
|
end
|
26
24
|
|
@@ -41,8 +39,11 @@ module Guard
|
|
41
39
|
|
42
40
|
file_name = "#{file_name}.js" if file_name.match("\.js").nil?
|
43
41
|
|
44
|
-
|
45
|
-
file_dir =
|
42
|
+
input = @options[:input]
|
43
|
+
file_dir = file_dir.gsub(Regexp.new("#{input}(\/){0,1}"), '') if input
|
44
|
+
|
45
|
+
output = @options[:output]
|
46
|
+
file_dir = File.join(output, file_dir) if output
|
46
47
|
|
47
48
|
if file_dir == ''
|
48
49
|
file_name
|
@@ -77,7 +78,7 @@ module Guard
|
|
77
78
|
output_file = get_output(path)
|
78
79
|
FileUtils.mkdir_p File.dirname(output_file)
|
79
80
|
output = compile(basename, File.read(path))
|
80
|
-
File.
|
81
|
+
File.write(output_file, output)
|
81
82
|
Compat::UI.info "# compiled haml coffee in '#{path}' to js in '#{output_file}'"
|
82
83
|
end
|
83
84
|
rescue StandardError => error
|
@@ -20,6 +20,11 @@ RSpec.describe Guard::HamlCoffee do
|
|
20
20
|
fail msg % args.map(&:inspect).join(',')
|
21
21
|
end
|
22
22
|
|
23
|
+
allow(IO).to receive(:write) do |*args|
|
24
|
+
msg = 'unstubbed call to IO.write(%s)'
|
25
|
+
fail msg % args.map(&:inspect).join(',')
|
26
|
+
end
|
27
|
+
|
23
28
|
# prepare method expecations
|
24
29
|
allow(File).to receive(:expand_path).with('../coffee-script.js', anything).and_return('foo.js')
|
25
30
|
allow(IO).to receive(:read).with('foo.js').and_return('foo')
|
@@ -61,6 +66,20 @@ RSpec.describe Guard::HamlCoffee do
|
|
61
66
|
expect { subject }.to_not raise_error
|
62
67
|
end
|
63
68
|
end
|
69
|
+
|
70
|
+
context 'with an input option' do
|
71
|
+
let(:options) { { input: 'foo' } }
|
72
|
+
it 'fails' do
|
73
|
+
expect { subject }.to_not raise_error
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'with an output option' do
|
78
|
+
let(:options) { { output: 'foo' } }
|
79
|
+
it 'fails' do
|
80
|
+
expect { subject }.to_not raise_error
|
81
|
+
end
|
82
|
+
end
|
64
83
|
end
|
65
84
|
|
66
85
|
describe '#start' do
|
@@ -148,6 +167,25 @@ RSpec.describe Guard::HamlCoffee do
|
|
148
167
|
|
149
168
|
before do
|
150
169
|
allow(IO).to receive(:read).with('foo.js.hamlc').and_return('foo')
|
170
|
+
allow(IO).to receive(:write).with('./foo.js', 'js output')
|
171
|
+
|
172
|
+
allow(runtime).to receive(:call).and_return(output)
|
173
|
+
end
|
174
|
+
|
175
|
+
it 'works' do
|
176
|
+
subject.run_on_changes(files)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
context 'with input/output options' do
|
181
|
+
let(:options) { { input: 'foo_dir', output: 'bar_dir' } }
|
182
|
+
|
183
|
+
let(:files) { %w(foo_dir/bar/foo.js.hamlc) }
|
184
|
+
let(:output) { 'js output' }
|
185
|
+
|
186
|
+
before do
|
187
|
+
allow(IO).to receive(:read).with('foo_dir/bar/foo.js.hamlc').and_return('foo')
|
188
|
+
allow(IO).to receive(:write).with('bar_dir/bar/foo.js', 'js output')
|
151
189
|
|
152
190
|
allow(runtime).to receive(:call).and_return(output)
|
153
191
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-haml-coffee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ouvrages
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard-compat
|