dolt 0.8.0 → 0.9.0

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/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dolt (0.7.2)
4
+ dolt (0.8.0)
5
5
  async_sinatra (~> 1.0)
6
6
  json (~> 1.5)
7
- libdolt (~> 0.10)
7
+ libdolt (~> 0.11)
8
8
  sinatra (~> 1.0)
9
9
  thin (~> 1.4)
10
- tiltout (~> 1.1)
10
+ tiltout (~> 1.4)
11
11
 
12
12
  GEM
13
13
  remote: http://rubygems.org/
@@ -27,7 +27,7 @@ GEM
27
27
  github-markup (0.7.4)
28
28
  htmlentities (4.3.1)
29
29
  json (1.7.5)
30
- libdolt (0.10.1)
30
+ libdolt (0.11)
31
31
  em_pessimistic (~> 0.1)
32
32
  em_rugged (~> 0.3)
33
33
  eventmachine (~> 1.0)
@@ -37,7 +37,7 @@ GEM
37
37
  mime-types (~> 1.19)
38
38
  tzinfo (~> 0.3)
39
39
  when (~> 0)
40
- makeup (0.2.0)
40
+ makeup (0.3.0)
41
41
  github-markup (~> 0.7)
42
42
  htmlentities (~> 4.3)
43
43
  pygments.rb (~> 0.2)
@@ -64,7 +64,7 @@ GEM
64
64
  eventmachine (>= 0.12.6)
65
65
  rack (>= 1.0.0)
66
66
  tilt (1.3.3)
67
- tiltout (1.2.0)
67
+ tiltout (1.4.0)
68
68
  tilt (~> 1.3)
69
69
  tzinfo (0.3.35)
70
70
  when (0.1.0)
data/dolt.gemspec CHANGED
@@ -11,7 +11,7 @@ end
11
11
 
12
12
  Gem::Specification.new do |s|
13
13
  s.name = "dolt"
14
- s.version = "0.8.0"
14
+ s.version = "0.9.0"
15
15
  s.authors = ["Christian Johansen"]
16
16
  s.email = ["christian@gitorious.org"]
17
17
  s.homepage = "http://gitorious.org/gitorious/dolt"
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
  s.rubyforge_project = "dolt"
22
22
 
23
- s.add_dependency "libdolt", "~>0.11"
23
+ s.add_dependency "libdolt", "~>0.12"
24
24
  s.add_dependency "thin", "~>1.4"
25
25
  s.add_dependency "sinatra", "~>1.0"
26
26
  s.add_dependency "async_sinatra", "~>1.0"
@@ -85,6 +85,18 @@ module Dolt
85
85
  end
86
86
  end
87
87
 
88
+ def tree_entry(repo, ref, path)
89
+ actions.tree_entry(repo, ref, path) do |err, data|
90
+ begin
91
+ next error(err, repo, ref) if !err.nil?
92
+ response["Content-Type"] = "text/html"
93
+ body(renderer.render(data.key?(:tree) ? :tree : :blob, data))
94
+ rescue Exception => err
95
+ error(err, repo, ref)
96
+ end
97
+ end
98
+ end
99
+
88
100
  def blame(repo, ref, path)
89
101
  actions.blame(repo, ref, path) do |err, data|
90
102
  next error(err, repo, ref) if !err.nil?
@@ -87,6 +87,10 @@ class Actions
87
87
  respond(:tree, repo, ref, path, &block)
88
88
  end
89
89
 
90
+ def tree_entry(repo, ref, path, &block)
91
+ respond(:tree_entry, repo, ref, path, &block)
92
+ end
93
+
90
94
  def raw(repo, ref, path, &block)
91
95
  respond(:raw, repo, ref, path, &block)
92
96
  end
@@ -112,7 +116,7 @@ class Actions
112
116
  @ref = ref
113
117
  @path = path
114
118
  data = { :ref => ref, :repository => repo }
115
- data[type] = @response
119
+ data[type != :tree_entry ? type : (@response.class.to_s =~ /Tree/ ? :tree : :blob)] = @response
116
120
  block.call(nil, data)
117
121
  end
118
122
  end
@@ -177,6 +181,24 @@ describe Dolt::Sinatra::Actions do
177
181
  end
178
182
  end
179
183
 
184
+ describe "#tree_entry" do
185
+ it "renders trees with the tree template as html" do
186
+ app = DummySinatraApp.new(Actions.new(TreeStub.new), Renderer.new("Tree"))
187
+ app.tree_entry("gitorious", "master", "app/models")
188
+
189
+ assert_equal "text/html", app.response["Content-Type"]
190
+ assert_equal "tree:Tree", app.body
191
+ end
192
+
193
+ it "renders trees with the tree template as html" do
194
+ app = DummySinatraApp.new(Actions.new(BlobStub.new), Renderer.new("Blob"))
195
+ app.tree_entry("gitorious", "master", "app/models")
196
+
197
+ assert_equal "text/html", app.response["Content-Type"]
198
+ assert_equal "blob:Blob", app.body
199
+ end
200
+ end
201
+
180
202
  describe "#raw" do
181
203
  it "delegates to actions" do
182
204
  actions = Actions.new(BlobStub.new)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-06 00:00:00.000000000 Z
12
+ date: 2012-12-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: libdolt
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0.11'
21
+ version: '0.12'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0.11'
29
+ version: '0.12'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: thin
32
32
  requirement: !ruby/object:Gem::Requirement