jsus 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/VERSION +1 -1
  2. data/bin/jsus +9 -0
  3. data/jsus.gemspec +2 -2
  4. data/lib/jsus.rb +7 -0
  5. data/lib/jsus/pool.rb +15 -12
  6. metadata +4 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.17
1
+ 0.1.18
data/bin/jsus CHANGED
@@ -58,10 +58,19 @@ Choice.options do
58
58
 
59
59
  end
60
60
 
61
+ option "verbose", :required => false do
62
+ default false
63
+ short "-v"
64
+ long "--verbose"
65
+ desc "When verbose mode is enabled, some debug information is displayed. Defaults to false."
66
+ end
67
+
61
68
  end
62
69
 
63
70
  compile_start_time = Time.now
64
71
 
72
+ Jsus.verbose = Choice.choices[:verbose]
73
+
65
74
  pool_load_start_time = Time.now
66
75
  pool = if Choice.choices[:dependencies]
67
76
  Jsus::Pool.new(Choice.choices[:dependencies])
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.17"
8
+ s.version = "0.1.18"
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-24}
12
+ s.date = %q{2010-11-26}
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}
data/lib/jsus.rb CHANGED
@@ -26,4 +26,11 @@ require 'jsus/pool'
26
26
 
27
27
 
28
28
  module Jsus
29
+ def self.verbose?
30
+ !!@verbose
31
+ end
32
+
33
+ def self.verbose=(verbose)
34
+ @verbose = verbose
35
+ end
29
36
  end
data/lib/jsus/pool.rb CHANGED
@@ -51,17 +51,19 @@ module Jsus
51
51
  # If given a source file, returns the input.
52
52
  #
53
53
  def lookup(source_or_key)
54
- case source_or_key
55
- when String
56
- provides_map[Tag[source_or_key]]
57
- when Tag
58
- provides_map[source_or_key]
59
- when SourceFile
60
- source_or_key
61
- else
62
- raise "Illegal lookup query. Expected String, Tag or SourceFile, " <<
63
- "given #{source_or_key.inspect}, an instance of #{source_or_key.class.name}."
54
+ result = case source_or_key
55
+ when String
56
+ provides_map[Tag[source_or_key]]
57
+ when Tag
58
+ provides_map[source_or_key]
59
+ when SourceFile
60
+ source_or_key
61
+ else
62
+ raise "Illegal lookup query. Expected String, Tag or SourceFile, " <<
63
+ "given #{source_or_key.inspect}, an instance of #{source_or_key.class.name}."
64
64
  end
65
+ puts "Couldn't find #{source_or_key}" if !result && Jsus.verbose?
66
+ result
65
67
  end
66
68
 
67
69
 
@@ -73,10 +75,11 @@ module Jsus
73
75
  def lookup_dependencies(source_or_source_key)
74
76
  source = lookup(source_or_source_key)
75
77
  result = Container.new
78
+ looked_up = []
76
79
  if source
77
80
  dependencies = lookup_direct_dependencies(source)
78
- while !dependencies.empty?
79
- dependencies.each { |d| result.push(d) }
81
+ while !((dependencies - looked_up).empty?)
82
+ dependencies.each { |d| result.push(d); looked_up << d }
80
83
  dependencies = dependencies.map {|d| lookup_direct_dependencies(d).to_a }.flatten.uniq
81
84
  end
82
85
  result.sort!
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 17
9
- version: 0.1.17
8
+ - 18
9
+ version: 0.1.18
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-24 00:00:00 +03:00
17
+ date: 2010-11-26 00:00:00 +03:00
18
18
  default_executable: jsus
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -278,7 +278,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
278
278
  requirements:
279
279
  - - ">="
280
280
  - !ruby/object:Gem::Version
281
- hash: -666369529496465647
281
+ hash: 111448912275714831
282
282
  segments:
283
283
  - 0
284
284
  version: "0"