dependence 0.0.96 → 0.0.97
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/lib/dependence/compiler.rb +4 -1
- data/lib/dependence/file_watcher.rb +42 -40
- data/lib/dependence/js_module.rb +11 -10
- metadata +27 -16
data/lib/dependence/compiler.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'coffee-script'
|
2
|
+
|
1
3
|
module Dependence
|
2
4
|
class Compiler
|
3
5
|
class << self
|
@@ -39,7 +41,8 @@ module Dependence
|
|
39
41
|
CoffeeScript.compile(source_string, options)
|
40
42
|
end
|
41
43
|
end
|
42
|
-
|
44
|
+
|
45
|
+
class JavaScriptCompiler < Compiler
|
43
46
|
@@extensions = [:js]
|
44
47
|
|
45
48
|
def self.extensions
|
@@ -1,53 +1,55 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
module Dependence
|
2
|
+
class FileWatcher
|
3
|
+
@@defaults = {
|
4
|
+
:load_path => ".",
|
5
|
+
:glob_str => "**/*"
|
6
|
+
}
|
7
|
+
def initialize(opts, &block)
|
8
|
+
@options = @@defaults.merge(opts)
|
9
|
+
recreate_timetable
|
10
|
+
poll(&block)
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
private
|
14
|
+
def poll(&block)
|
15
|
+
while true
|
16
|
+
if fs_modified?
|
17
|
+
block.call
|
18
|
+
recreate_timetable
|
19
|
+
end
|
20
|
+
sleep 3
|
18
21
|
end
|
19
|
-
sleep 3
|
20
22
|
end
|
21
|
-
end
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
def fs_modified?
|
25
|
+
new_files = get_files
|
26
|
+
return true if new_files.length != @files.length
|
27
|
+
new_timetable = create_file_modified_timetable(new_files)
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
modified = false
|
30
|
+
new_timetable.each do |filename,time|
|
31
|
+
if time != @timetable[filename]
|
32
|
+
modified = true
|
33
|
+
break
|
34
|
+
end
|
33
35
|
end
|
36
|
+
modified
|
34
37
|
end
|
35
|
-
modified
|
36
|
-
end
|
37
38
|
|
38
|
-
|
39
|
-
|
40
|
-
|
39
|
+
def get_files
|
40
|
+
Dir.glob File.join(@options[:load_path], @options[:glob_str])
|
41
|
+
end
|
41
42
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
def recreate_timetable
|
44
|
+
@files = get_files
|
45
|
+
@timetable = create_file_modified_timetable(@files)
|
46
|
+
end
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
def create_file_modified_timetable(filenames)
|
49
|
+
filenames.inject({}) do |table, filename|
|
50
|
+
table[filename] = File.mtime(filename) if File.exists? filename
|
51
|
+
table
|
52
|
+
end
|
51
53
|
end
|
52
54
|
end
|
53
55
|
end
|
data/lib/dependence/js_module.rb
CHANGED
@@ -17,16 +17,6 @@ module Dependence
|
|
17
17
|
@concat = Concatenator.new(@file_list)
|
18
18
|
end
|
19
19
|
|
20
|
-
def build
|
21
|
-
stdout_compile_msg(@name)
|
22
|
-
output = @concat.concat_files do |file_path, file_contents|
|
23
|
-
extension = File.extname(file_path)
|
24
|
-
compile(extension, file_contents)
|
25
|
-
end
|
26
|
-
|
27
|
-
output = ModuleInjector.modularize(@name, output) unless @config[:bare] == true
|
28
|
-
output
|
29
|
-
end
|
30
20
|
|
31
21
|
def to_file
|
32
22
|
File.open(@output_file, 'w') do |f|
|
@@ -39,6 +29,17 @@ module Dependence
|
|
39
29
|
|
40
30
|
private
|
41
31
|
|
32
|
+
def build
|
33
|
+
stdout_compile_msg(@name)
|
34
|
+
output = @concat.concat_files do |file_path, file_contents|
|
35
|
+
extension = File.extname(file_path)
|
36
|
+
compile(extension, file_contents)
|
37
|
+
end
|
38
|
+
|
39
|
+
output = ModuleInjector.modularize(@name, output) unless @config[:bare] == true
|
40
|
+
output
|
41
|
+
end
|
42
|
+
|
42
43
|
def compile(extension, source)
|
43
44
|
Compiler.get_compiler_for(extension).new.compile(source)
|
44
45
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.97
|
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: 2011-09-
|
12
|
+
date: 2011-09-15 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rgl
|
16
|
-
requirement: &
|
16
|
+
requirement: &8800140 !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: *8800140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rb-inotify
|
27
|
-
requirement: &
|
27
|
+
requirement: &8799700 !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: *8799700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: coffee-script
|
38
|
-
requirement: &
|
38
|
+
requirement: &8799240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *8799240
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: therubyracer
|
49
|
-
requirement: &
|
49
|
+
requirement: &8798800 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,18 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *8798800
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rspec
|
60
|
+
requirement: &8798360 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *8798360
|
58
69
|
description:
|
59
70
|
email: jcarver989@gmail.com
|
60
71
|
executables:
|
@@ -64,14 +75,14 @@ extra_rdoc_files: []
|
|
64
75
|
files:
|
65
76
|
- bin/dependence
|
66
77
|
- compiler/compiler.jar
|
67
|
-
- lib/dependence/colors.rb
|
68
78
|
- lib/dependence/compiler.rb
|
69
|
-
- lib/dependence/concatenator.rb
|
70
|
-
- lib/dependence/dependency_resolver.rb
|
71
|
-
- lib/dependence/file_watcher.rb
|
72
|
-
- lib/dependence/js_compressor.rb
|
73
79
|
- lib/dependence/js_module.rb
|
80
|
+
- lib/dependence/colors.rb
|
81
|
+
- lib/dependence/concatenator.rb
|
74
82
|
- lib/dependence/module_injector.rb
|
83
|
+
- lib/dependence/js_compressor.rb
|
84
|
+
- lib/dependence/file_watcher.rb
|
85
|
+
- lib/dependence/dependency_resolver.rb
|
75
86
|
- lib/dependence.rb
|
76
87
|
homepage:
|
77
88
|
licenses: []
|
@@ -94,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
105
|
version: '0'
|
95
106
|
requirements: []
|
96
107
|
rubyforge_project:
|
97
|
-
rubygems_version: 1.8.
|
108
|
+
rubygems_version: 1.8.10
|
98
109
|
signing_key:
|
99
110
|
specification_version: 3
|
100
111
|
summary: An easy way to handle your client side javascript dependencies
|