jsus 0.1.17 → 0.1.18

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.
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"