Narnach-simple_gate 0.5.3 → 0.5.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.
- data/README.rdoc +5 -0
- data/Rakefile +25 -5
- data/simple_gate.gemspec +8 -4
- data/spec/simple_gate/router_spec.rb +53 -0
- data/spec/spec_helper.rb +2 -0
- metadata +36 -4
data/README.rdoc
CHANGED
@@ -50,6 +50,11 @@ connection.
|
|
50
50
|
|
51
51
|
== Recent changes
|
52
52
|
|
53
|
+
=== Version 0.5.4
|
54
|
+
|
55
|
+
* Fixed gemspec: add missing spec files and added missing gem dependencies
|
56
|
+
* Updated Rakefile with ruby 1.9 workaround and a missing file spotter
|
57
|
+
|
53
58
|
=== Version 0.5.3
|
54
59
|
|
55
60
|
* Added yardoc documentation to all classes.
|
data/Rakefile
CHANGED
@@ -9,21 +9,41 @@ require 'rubygems'
|
|
9
9
|
|
10
10
|
begin
|
11
11
|
# Parse gemspec using the github safety level.
|
12
|
-
|
12
|
+
file = Dir['*.gemspec'].first
|
13
|
+
data = File.read(file)
|
13
14
|
spec = nil
|
14
|
-
|
15
|
-
|
15
|
+
# FIXME: Lowered SAFE from 3 to 2 to work with Ruby 1.9 due to rubygems
|
16
|
+
# performing a require internally
|
17
|
+
Thread.new { spec = eval("$SAFE = 2\n%s" % data)}.join
|
16
18
|
|
17
19
|
# Create the gem tasks
|
18
20
|
Rake::GemPackageTask.new(spec) do |package|
|
19
21
|
package.gem_spec = spec
|
20
22
|
end
|
21
23
|
rescue Exception => e
|
22
|
-
printf "WARNING: Error caught (%s): %s
|
23
|
-
", e.class.name, e.message
|
24
|
+
printf "WARNING: Error caught (%s): %s\n%s", e.class.name, e.message, e.backtrace[0...5].map {|l| ' %s' % l}.join("\n")
|
24
25
|
end
|
25
26
|
|
26
27
|
desc 'Package and install the gem for the current version'
|
27
28
|
task :install => :gem do
|
28
29
|
system "sudo gem install -l pkg/%s-%s.gem" % [spec.name, spec.version]
|
29
30
|
end
|
31
|
+
|
32
|
+
desc 'Show files missing from gemspec'
|
33
|
+
task :diff do
|
34
|
+
files = %w[
|
35
|
+
Rakefile
|
36
|
+
*README*
|
37
|
+
*LICENSE*
|
38
|
+
*.gemspec
|
39
|
+
bin/*
|
40
|
+
lib/**/*
|
41
|
+
spec/**/*
|
42
|
+
].map {|pattern| Dir.glob(pattern)}.flatten.select{|f| File.file?(f)}
|
43
|
+
missing_files = files - spec.files
|
44
|
+
extra_files = spec.files - files
|
45
|
+
puts "File missing from the gemspec:"
|
46
|
+
puts missing_files.join(" ")
|
47
|
+
puts "Extra files not (yet) in the gemspec:"
|
48
|
+
puts extra_files.join(" ")
|
49
|
+
end
|
data/simple_gate.gemspec
CHANGED
@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
|
|
3
3
|
s.name = 'simple_gate'
|
4
4
|
s.summary = "SimpleGate makes it possible to use net/ssh/gateway's capabilities in a simple to use way."
|
5
5
|
s.description = s.summary
|
6
|
-
s.version = '0.5.
|
7
|
-
s.date = '2009-
|
6
|
+
s.version = '0.5.4'
|
7
|
+
s.date = '2009-06-11'
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Wes Oldenbeuving"]
|
10
10
|
s.email = "narnach@gmail.com"
|
@@ -17,12 +17,13 @@ Gem::Specification.new do |s|
|
|
17
17
|
simple_gate/server_definition
|
18
18
|
simple_gate/router]
|
19
19
|
test_files = %w[]
|
20
|
-
spec_files = %w[simple_gate]
|
20
|
+
spec_files = %w[simple_gate simple_gate/router]
|
21
|
+
other_files = %w[spec/spec_helper.rb]
|
21
22
|
s.bindir = "bin"
|
22
23
|
s.require_path = "lib"
|
23
24
|
s.executables = bin_files
|
24
25
|
s.test_files = test_files.map {|f| 'test/%s_test.rb' % f} + spec_files.map {|f| 'spec/%s_spec.rb' % f}
|
25
|
-
s.files = root_files + bin_files.map {|f| 'bin/%s' % f} + lib_files.map {|f| 'lib/%s.rb' % f} + s.test_files
|
26
|
+
s.files = root_files + bin_files.map {|f| 'bin/%s' % f} + lib_files.map {|f| 'lib/%s.rb' % f} + s.test_files + other_files
|
26
27
|
|
27
28
|
# rdoc
|
28
29
|
s.has_rdoc = true
|
@@ -31,4 +32,7 @@ Gem::Specification.new do |s|
|
|
31
32
|
|
32
33
|
# Requirements
|
33
34
|
s.required_ruby_version = ">= 1.8.0"
|
35
|
+
s.add_dependency 'net-ssh', ">= 2.0.0"
|
36
|
+
s.add_dependency 'net-ssh-gateway', ">= 1.0.0"
|
37
|
+
s.add_dependency 'activesupport', ">= 2.2.0"
|
34
38
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
require 'simple_gate/router'
|
3
|
+
|
4
|
+
describe Router do
|
5
|
+
describe "#find" do
|
6
|
+
it "should find a direct path from start to target" do
|
7
|
+
router = Router.new({
|
8
|
+
'start' => %w[target]
|
9
|
+
})
|
10
|
+
router.find('start','target').should == %w[start target]
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should find a path from start to target through an intermediate node" do
|
14
|
+
router = Router.new({
|
15
|
+
'start' => %w[node],
|
16
|
+
'node' => %w[target],
|
17
|
+
})
|
18
|
+
router.find('start','target').should == %w[start node target]
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should find the shortest path from start to target" do
|
22
|
+
router = Router.new({
|
23
|
+
'start' => %w[node node2 node3],
|
24
|
+
'node' => %w[node2],
|
25
|
+
'node2' => %w[node3],
|
26
|
+
'node3' => %w[target]
|
27
|
+
})
|
28
|
+
router.find('start','target').should == %w[start node3 target]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should return nil if no route could be found' do
|
32
|
+
router = Router.new({
|
33
|
+
'start' => %w[],
|
34
|
+
})
|
35
|
+
router.find('start','target').should be_nil
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should return nil if the starting point can not be found' do
|
39
|
+
router = Router.new({})
|
40
|
+
router.find('start','target').should be_nil
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should not cause a stack overflow in a cyclical route graph' do
|
44
|
+
router = Router.new({
|
45
|
+
'start' => %w[node],
|
46
|
+
'node' => %w[node target],
|
47
|
+
})
|
48
|
+
lambda {
|
49
|
+
router.find('start','target').should == %w[start node target]
|
50
|
+
}.should_not raise_error(SystemStackError)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Narnach-simple_gate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wes Oldenbeuving
|
@@ -9,10 +9,39 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-06-11 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: net-ssh
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.0.0
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: net-ssh-gateway
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.0
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: activesupport
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.2.0
|
44
|
+
version:
|
16
45
|
description: SimpleGate makes it possible to use net/ssh/gateway's capabilities in a simple to use way.
|
17
46
|
email: narnach@gmail.com
|
18
47
|
executables:
|
@@ -34,6 +63,8 @@ files:
|
|
34
63
|
- lib/simple_gate/server_definition.rb
|
35
64
|
- lib/simple_gate/router.rb
|
36
65
|
- spec/simple_gate_spec.rb
|
66
|
+
- spec/simple_gate/router_spec.rb
|
67
|
+
- spec/spec_helper.rb
|
37
68
|
has_rdoc: true
|
38
69
|
homepage: http://www.github.com/Narnach/simple_gate
|
39
70
|
post_install_message:
|
@@ -65,3 +96,4 @@ specification_version: 2
|
|
65
96
|
summary: SimpleGate makes it possible to use net/ssh/gateway's capabilities in a simple to use way.
|
66
97
|
test_files:
|
67
98
|
- spec/simple_gate_spec.rb
|
99
|
+
- spec/simple_gate/router_spec.rb
|