jsus 0.1.20 → 0.1.21
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/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"
|