jsus 0.1.20 → 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/VERSION +1 -1
- data/bin/jsus +9 -2
- data/jsus.gemspec +8 -2
- data/lib/jsus/documenter.rb +5 -2
- data/lib/jsus/pool.rb +18 -24
- data/spec/data/DependenciesWildcards/app/javascripts/Class/Source/Class.js +13 -0
- data/spec/data/DependenciesWildcards/app/javascripts/Class/package.yml +8 -0
- data/spec/data/DependenciesWildcards/app/javascripts/Hash/Source/Hash.js +16 -0
- data/spec/data/DependenciesWildcards/app/javascripts/Hash/package.yml +8 -0
- data/spec/data/DependenciesWildcards/app/javascripts/Mash/Source/Mash.js +16 -0
- data/spec/data/DependenciesWildcards/app/javascripts/Mash/package.yml +8 -0
- data/spec/jsus/pool_spec.rb +8 -0
- metadata +10 -4
data/CHANGELOG
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.21
|
data/bin/jsus
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
begin
|
4
4
|
require 'jsus'
|
5
5
|
rescue LoadError
|
6
|
-
$: << "
|
6
|
+
$: << File.expand_path(File.dirname(__FILE__) + "/../lib")
|
7
7
|
require "jsus"
|
8
8
|
end
|
9
9
|
|
@@ -65,6 +65,13 @@ Choice.options do
|
|
65
65
|
|
66
66
|
end
|
67
67
|
|
68
|
+
option "no_syntax_highlight", :required => false do
|
69
|
+
default false
|
70
|
+
long "--no-syntax-highlight"
|
71
|
+
desc "Disable syntax highlighting in murdoc. Greatly increases docs generation speed. " <<
|
72
|
+
"Note: This option won't have any effect unless you have Pygments installed."
|
73
|
+
end
|
74
|
+
|
68
75
|
option "verbose", :required => false do
|
69
76
|
default false
|
70
77
|
short "-v"
|
@@ -107,7 +114,7 @@ end
|
|
107
114
|
|
108
115
|
# Generate documentation
|
109
116
|
unless Choice.choices[:docs_classes].empty?
|
110
|
-
documenter = Jsus::Documenter.new
|
117
|
+
documenter = Jsus::Documenter.new(:highlight_source => !Choice.choices[:no_syntax_highlight])
|
111
118
|
package.source_files.each {|source| documenter << source }
|
112
119
|
pool.sources.each {|source| documenter << source } if pool
|
113
120
|
documenter.only(Choice.choices[:docs_classes]).generate(Choice.choices[:output_directory] + "/docs")
|
data/jsus.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{jsus}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.21"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mark Abramov"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-28}
|
13
13
|
s.default_executable = %q{jsus}
|
14
14
|
s.description = %q{Javascript packager and dependency resolver}
|
15
15
|
s.email = %q{markizko@gmail.com}
|
@@ -57,6 +57,12 @@ Gem::Specification.new do |s|
|
|
57
57
|
"spec/data/ChainDependencies/app/javascripts/Hash/package.yml",
|
58
58
|
"spec/data/ChainDependencies/app/javascripts/Mash/Source/Mash.js",
|
59
59
|
"spec/data/ChainDependencies/app/javascripts/Mash/package.yml",
|
60
|
+
"spec/data/DependenciesWildcards/app/javascripts/Class/Source/Class.js",
|
61
|
+
"spec/data/DependenciesWildcards/app/javascripts/Class/package.yml",
|
62
|
+
"spec/data/DependenciesWildcards/app/javascripts/Hash/Source/Hash.js",
|
63
|
+
"spec/data/DependenciesWildcards/app/javascripts/Hash/package.yml",
|
64
|
+
"spec/data/DependenciesWildcards/app/javascripts/Mash/Source/Mash.js",
|
65
|
+
"spec/data/DependenciesWildcards/app/javascripts/Mash/package.yml",
|
60
66
|
"spec/data/Extensions/app/javascripts/Core/Source/Class.js",
|
61
67
|
"spec/data/Extensions/app/javascripts/Core/package.yml",
|
62
68
|
"spec/data/Extensions/app/javascripts/Orwik/Extensions/Class.js",
|
data/lib/jsus/documenter.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
module Jsus
|
2
2
|
class Documenter
|
3
|
-
|
3
|
+
attr_accessor :options
|
4
|
+
|
5
|
+
def initialize(options = {:highlight_source => true})
|
4
6
|
require "murdoc"
|
7
|
+
self.options = options
|
5
8
|
rescue LoadError
|
6
9
|
raise "You should install murdoc gem in order to produce documentation"
|
7
10
|
end
|
@@ -30,7 +33,7 @@ module Jsus
|
|
30
33
|
def create_documentation_for_source(source, template)
|
31
34
|
skipped_lines = 0
|
32
35
|
content = source.original_content.gsub(/\A\s*\/\*.*?\*\//m) {|w| skipped_lines += w.split("\n").size; "" }
|
33
|
-
annotator = Murdoc::Annotator.new(content, :javascript,
|
36
|
+
annotator = Murdoc::Annotator.new(content, :javascript, options)
|
34
37
|
Murdoc::Formatter.new(template).render(:paragraphs => annotator.paragraphs, :header => source.header, :source => source, :skipped_lines => skipped_lines)
|
35
38
|
end
|
36
39
|
|
data/lib/jsus/pool.rb
CHANGED
@@ -105,7 +105,8 @@ module Jsus
|
|
105
105
|
def <<(source_or_sources_or_package)
|
106
106
|
case
|
107
107
|
when source_or_sources_or_package.kind_of?(SourceFile)
|
108
|
-
source = source_or_sources_or_package
|
108
|
+
source = source_or_sources_or_package
|
109
|
+
add_source_to_trees(source)
|
109
110
|
sources << source
|
110
111
|
if source.extends
|
111
112
|
extensions_map[source.extends] ||= []
|
@@ -156,10 +157,10 @@ module Jsus
|
|
156
157
|
def lookup_direct_dependencies!(source)
|
157
158
|
result = if source
|
158
159
|
(source.dependencies + source.external_dependencies).map do |dependency|
|
159
|
-
result =
|
160
|
+
result = provides_tree.glob("/#{dependency}").map {|node| node.value }
|
160
161
|
puts "#{source.filename} is missing #{dependency.is_a?(SourceFile) ? dependency.filename : dependency.to_s}" if !result && Jsus.verbose?
|
161
162
|
result
|
162
|
-
end
|
163
|
+
end.flatten
|
163
164
|
else
|
164
165
|
[]
|
165
166
|
end
|
@@ -170,36 +171,29 @@ module Jsus
|
|
170
171
|
# Returs a tree, containing all the sources
|
171
172
|
#
|
172
173
|
def source_tree
|
173
|
-
@source_tree ||=
|
174
|
-
end
|
175
|
-
|
176
|
-
def source_tree! # :nodoc:
|
177
|
-
tree = Tree.new
|
178
|
-
sources.each do |source|
|
179
|
-
if source.package
|
180
|
-
tree.insert("/" + source.package.name + "/" + File.basename(source.filename), source)
|
181
|
-
else
|
182
|
-
tree.insert("/" + File.basename(source.filename), source)
|
183
|
-
end
|
184
|
-
end
|
185
|
-
tree
|
174
|
+
@source_tree ||= Tree.new
|
186
175
|
end
|
187
176
|
|
188
177
|
#
|
189
178
|
# Returns a tree containing all the provides tags
|
190
179
|
#
|
191
180
|
def provides_tree
|
192
|
-
@provides_tree ||=
|
181
|
+
@provides_tree ||= Tree.new
|
193
182
|
end
|
194
183
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
184
|
+
|
185
|
+
#
|
186
|
+
# Registers the source in both trees
|
187
|
+
#
|
188
|
+
def add_source_to_trees(source)
|
189
|
+
if source.package
|
190
|
+
source_tree.insert("/" + source.package.name + "/" + File.basename(source.filename), source)
|
191
|
+
else
|
192
|
+
source_tree.insert("/" + File.basename(source.filename), source)
|
193
|
+
end
|
194
|
+
source.provides.each do |tag|
|
195
|
+
provides_tree.insert("/" + tag.to_s, source)
|
201
196
|
end
|
202
|
-
tree
|
203
197
|
end
|
204
198
|
|
205
199
|
protected
|
data/spec/jsus/pool_spec.rb
CHANGED
@@ -100,6 +100,14 @@ describe Jsus::Pool do
|
|
100
100
|
subject.lookup_dependencies("Lol/Wtf").should == []
|
101
101
|
subject.lookup_dependencies(Jsus::Tag["Caught/Mosh"]).should == []
|
102
102
|
end
|
103
|
+
|
104
|
+
context "wildcard support" do
|
105
|
+
let(:input_dir) { "spec/data/DependenciesWildcards/app/javascripts" }
|
106
|
+
|
107
|
+
it "should support wildcards" do
|
108
|
+
subject.lookup_dependencies("Mash/Mash").should == [sources[1], sources[2]]
|
109
|
+
end
|
110
|
+
end
|
103
111
|
end
|
104
112
|
|
105
113
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 21
|
9
|
+
version: 0.1.21
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mark Abramov
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-28 00:00:00 +03:00
|
18
18
|
default_executable: jsus
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -221,6 +221,12 @@ files:
|
|
221
221
|
- spec/data/ChainDependencies/app/javascripts/Hash/package.yml
|
222
222
|
- spec/data/ChainDependencies/app/javascripts/Mash/Source/Mash.js
|
223
223
|
- spec/data/ChainDependencies/app/javascripts/Mash/package.yml
|
224
|
+
- spec/data/DependenciesWildcards/app/javascripts/Class/Source/Class.js
|
225
|
+
- spec/data/DependenciesWildcards/app/javascripts/Class/package.yml
|
226
|
+
- spec/data/DependenciesWildcards/app/javascripts/Hash/Source/Hash.js
|
227
|
+
- spec/data/DependenciesWildcards/app/javascripts/Hash/package.yml
|
228
|
+
- spec/data/DependenciesWildcards/app/javascripts/Mash/Source/Mash.js
|
229
|
+
- spec/data/DependenciesWildcards/app/javascripts/Mash/package.yml
|
224
230
|
- spec/data/Extensions/app/javascripts/Core/Source/Class.js
|
225
231
|
- spec/data/Extensions/app/javascripts/Core/package.yml
|
226
232
|
- spec/data/Extensions/app/javascripts/Orwik/Extensions/Class.js
|
@@ -281,7 +287,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
281
287
|
requirements:
|
282
288
|
- - ">="
|
283
289
|
- !ruby/object:Gem::Version
|
284
|
-
hash: -
|
290
|
+
hash: -3919880184784396237
|
285
291
|
segments:
|
286
292
|
- 0
|
287
293
|
version: "0"
|