guard-haml-coffee 0.1.0 → 0.2.0
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.
- data/README.md +8 -2
- data/guard-haml-coffee.gemspec +1 -1
- data/lib/guard/haml-coffee.rb +28 -2
- data/lib/guard/haml-coffee/version.rb +1 -1
- metadata +9 -9
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Guard::Haml::Coffee
|
2
2
|
|
3
|
-
|
3
|
+
Guard gem to generate Javascript code from [Haml Coffee](https://github.com/netzpirat/haml-coffee) templates. Inspired by [haml_coffee_assets](https://github.com/netzpirat/haml_coffee_assets).
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,7 +18,13 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
As a prerequisite, you must have [Guard](https://github.com/guard/guard) installed and initialized already.
|
22
|
+
|
23
|
+
Add the haml-coffee instructions to the `Guardfile`:
|
24
|
+
|
25
|
+
$ bundle exec guard init haml-coffee
|
26
|
+
|
27
|
+
Restart guard if it's running and that's it.
|
22
28
|
|
23
29
|
## Contributing
|
24
30
|
|
data/guard-haml-coffee.gemspec
CHANGED
@@ -4,7 +4,7 @@ require File.expand_path('../lib/guard/haml-coffee/version', __FILE__)
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.authors = ["Ouvrages"]
|
6
6
|
gem.email = ["contact@ouvrages-web.fr"]
|
7
|
-
gem.description = %q{Compiles
|
7
|
+
gem.description = %q{Compiles HamlCoffee templates to javascript}
|
8
8
|
gem.summary = %q{Guard gem for HamlCoffee}
|
9
9
|
gem.homepage = "https://github.com/ouvrages/guard-haml-coffee"
|
10
10
|
|
data/lib/guard/haml-coffee.rb
CHANGED
@@ -9,7 +9,10 @@ module Guard
|
|
9
9
|
class HamlCoffee < Guard
|
10
10
|
|
11
11
|
def initialize(watchers=[], options={})
|
12
|
-
|
12
|
+
@options = {
|
13
|
+
:notifications => true
|
14
|
+
}.merge(options)
|
15
|
+
super(watchers, @options)
|
13
16
|
end
|
14
17
|
|
15
18
|
def start
|
@@ -20,6 +23,28 @@ module Guard
|
|
20
23
|
@runtime = ExecJS.compile(source)
|
21
24
|
end
|
22
25
|
|
26
|
+
# Get the file path to output the html based on the file being
|
27
|
+
# built. The output path is relative to where guard is being run.
|
28
|
+
#
|
29
|
+
# @param file [String] path to file being built
|
30
|
+
# @return [String] path to file where output should be written
|
31
|
+
#
|
32
|
+
def get_output(file)
|
33
|
+
file_dir = File.dirname(file)
|
34
|
+
file_name = File.basename(file).split('.')[0..-2].join('.')
|
35
|
+
|
36
|
+
file_name = "#{file_name}.js" if file_name.match("\.js").nil?
|
37
|
+
|
38
|
+
file_dir = file_dir.gsub(Regexp.new("#{@options[:input]}(\/){0,1}"), '') if @options[:input]
|
39
|
+
file_dir = File.join(@options[:output], file_dir) if @options[:output]
|
40
|
+
|
41
|
+
if file_dir == ''
|
42
|
+
file_name
|
43
|
+
else
|
44
|
+
File.join(file_dir, file_name)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
23
48
|
def run_all
|
24
49
|
run_on_changes(Watcher.match_files(self, Dir.glob(File.join('**', '*.*'))))
|
25
50
|
end
|
@@ -27,7 +52,8 @@ module Guard
|
|
27
52
|
def run_on_changes(paths)
|
28
53
|
paths.each do |path|
|
29
54
|
basename = File.basename(path, '.js.hamlc')
|
30
|
-
output_file =
|
55
|
+
output_file = get_output(path)
|
56
|
+
FileUtils.mkdir_p File.dirname(output_file)
|
31
57
|
options = [
|
32
58
|
basename,
|
33
59
|
File.read(path),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-haml-coffee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: guard
|
16
|
-
requirement: &
|
16
|
+
requirement: &85692160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *85692160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: execjs
|
27
|
-
requirement: &
|
27
|
+
requirement: &85691740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *85691740
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: coffee-script
|
38
|
-
requirement: &
|
38
|
+
requirement: &85691220 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,8 +43,8 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
description: Compiles
|
46
|
+
version_requirements: *85691220
|
47
|
+
description: Compiles HamlCoffee templates to javascript
|
48
48
|
email:
|
49
49
|
- contact@ouvrages-web.fr
|
50
50
|
executables: []
|