manalang-bdoc 0.1.3 → 0.1.4

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 (4) hide show
  1. data/History.txt +9 -1
  2. data/lib/bdoc.rb +16 -18
  3. data/templates/index.html +13 -2
  4. metadata +1 -1
data/History.txt CHANGED
@@ -1,6 +1,14 @@
1
+ == 0.1.4 2009-03-30
2
+
3
+ * 3 minor enhancements
4
+ * now scans all of the gems installed on your machine not just the
5
+ default gem path
6
+ * also shows gems without rdocs
7
+ * set window title to selected rdoc
8
+
1
9
  == 0.1.3 2009-03-30
2
10
 
3
- * 2 bug fix:
11
+ * 2 bug fixes:
4
12
  * require json/pure instead of native json parser
5
13
  * changed require statement in bin file
6
14
 
data/lib/bdoc.rb CHANGED
@@ -8,7 +8,7 @@ require 'launchy'
8
8
  require 'json/pure'
9
9
 
10
10
  module Bdoc
11
- VERSION = '0.1.2'
11
+ VERSION = '0.1.4'
12
12
 
13
13
  class << self
14
14
  attr_accessor :output_dir
@@ -19,29 +19,27 @@ module Bdoc
19
19
  end
20
20
 
21
21
  def gems_with_doc_index
22
- gems = Gem::Specification.list.map { |g|
23
- rdoc_index = rdoc_file(g.full_name)
24
- if File.exist?(rdoc_index)
25
- g.name if g.has_rdoc?
26
- end
22
+ installed_gems = Gem::SourceIndex.from_installed_gems.gems.map{|k,v|v}
23
+ gems = installed_gems.map { |g|
24
+ g.name if g.has_rdoc?
27
25
  }.compact.uniq.sort{|x,y| x.downcase <=> y.downcase}
28
26
  gems = gems.map do |g|
29
- gem = Gem::Specification.list.find_all{|gem| gem.name == g}.last
27
+ gem = installed_gems.find_all{|gem| gem.name == g}.last
30
28
  { :name => g,
31
29
  :description => gem.description,
32
30
  :homepage => gem.homepage,
33
- :versions => Gem::Specification.list.find_all{|gem|
34
- gem.name == g && File.exist?(rdoc_file(gem.full_name))
35
- }.map{|gem|
36
- rdoc_index = File.join(Gem.dir, "doc", gem.full_name, "rdoc", "index.html")
37
- { :version => gem.version.version,
38
- :rdoc_index => rdoc_index
31
+ :versions => installed_gems.find_all{|gem|
32
+ gem.name == g
33
+ }.map{|gem|
34
+ rdoc_index = File.join(gem.full_gem_path,"..","..","doc",gem.full_name, "rdoc","index.html")
35
+ { :version => gem.version.version,
36
+ :rdoc_index => (File.exist?(rdoc_index) ? rdoc_index : nil)
37
+ }
38
+ #removes dups since uniq doesn't work on array of hashes
39
+ }.compact.sort_by{|g|g[:version]}.inject([]){|result,h|
40
+ result << h unless result.include?(h)
41
+ result
39
42
  }
40
- #removes dups since uniq doesn't work on array of hashes
41
- }.compact.sort_by{|g|g[:version]}.inject([]){|result,h|
42
- result << h unless result.include?(h)
43
- result
44
- }
45
43
  }
46
44
  end
47
45
  end
data/templates/index.html CHANGED
@@ -24,11 +24,13 @@
24
24
  function(n) {
25
25
  var selected = '';
26
26
  if(n.version==selectedVer) {
27
- selected = ' selected'; }
27
+ selected = ' selected';
28
+ }
28
29
  return ("<a href='" + n.rdoc_index + "' class='version"+ selected +"'>" + n.version + "</a>")
29
30
  });
30
31
  $('#current').html($(this).clone()).append(" <span class='quiet'>" + versions.join("&nbsp;&nbsp;") + "</span>");
31
32
  $('#current a.gemname').attr('href',$(this).attr('rel')).click(function(){window.open(this.href);return false;});
33
+ document.title = $(this).clone().text() + "-" + selectedVer + " - Bdoc";
32
34
  return false;
33
35
  };
34
36
  $(function(){
@@ -39,6 +41,7 @@
39
41
  $(this).siblings('a.version').removeClass('selected');
40
42
  $(this).addClass('selected');
41
43
  $('#viewport iframe').attr('src',this.href);
44
+ document.title = $(this).parent().siblings('a.gemname').text() +"-"+ $(this).text() + " - Bdoc";
42
45
  return false;
43
46
  });
44
47
  });
@@ -56,8 +59,16 @@
56
59
  </div>
57
60
  <div id="nav">
58
61
  <% @gems.each do |gem| %>
59
- <span class="gem"><a href="<%= gem[:versions].last[:rdoc_index] %>" class="gemname" title="<%= gem[:description] %>" rel="<%= gem[:homepage] %>"><%= gem[:name] %></a><span class="version hide"><%= gem[:versions].last[:version] %></span></span>
62
+ <span class="gem">
63
+ <% if gem[:versions].last[:rdoc_index] %>
64
+ <a href="<%= gem[:versions].last[:rdoc_index] %>" class="gemname" title="<%= gem[:description] %>" rel="<%= gem[:homepage] %>"><%= gem[:name] %></a>
65
+ <% else %>
66
+ <span class="gemname quiet" title="<%= gem[:description] %>">*<%= gem[:name] %></span>
67
+ <% end %>
68
+ <span class="version hide"><%= gem[:versions].last[:version] %></span>
69
+ </span>
60
70
  <% end %>
71
+ <p><em class="quiet">* Rdocs for these Gems are not installed</em></p>
61
72
  </div>
62
73
  </body>
63
74
  </html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manalang-bdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Manalang