gviz 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ class Numeric
2
+ def norm(range, tgr=0.0..1.0)
3
+ unit = (self - range.min) / (range.max - range.min).to_f
4
+ unit * (tgr.max - tgr.min) + tgr.min
5
+ end
6
+ end
data/lib/gviz/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gviz
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/gviz.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative "gviz/system_extension"
2
+
1
3
  class Gviz
2
4
  class Node < Struct.new(:id, :attrs)
3
5
  def initialize(id, attrs={})
@@ -193,6 +195,10 @@ class Gviz
193
195
  end
194
196
  end
195
197
 
198
+ def Graph(name, &blk)
199
+ Gviz.new(name).graph(&blk)
200
+ end
201
+
196
202
  if __FILE__ == $0
197
203
  g = Gviz.new
198
204
  g.graph do
data/spec/gviz_spec.rb CHANGED
@@ -398,4 +398,22 @@ describe Gviz do
398
398
  EOS
399
399
  end
400
400
  end
401
+
402
+ context "Graph class method" do
403
+ it "create a gviz object" do
404
+ g = Graph(:X) do
405
+ add :a => [:b, :c]
406
+ end
407
+ g.should be_a_instance_of Gviz
408
+ g.to_s.should eql ~<<-EOS
409
+ digraph X {
410
+ a;
411
+ b;
412
+ c;
413
+ a -> b;
414
+ a -> c;
415
+ }
416
+ EOS
417
+ end
418
+ end
401
419
  end
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Numeric do
4
+ context "norm" do
5
+ it "normalize a integer into range of 0.0-1.0" do
6
+ 5.norm(0..10).should eql 0.5
7
+ 2.norm(0..10).should eql 0.2
8
+ 0.norm(0..10).should eql 0.0
9
+ 10.norm(0..10).should eql 1.0
10
+ 5.norm(5..10).should eql 0.0
11
+ 10.norm(5..10).should eql 1.0
12
+ 7.norm(5..10).should eql 0.4
13
+ end
14
+
15
+ it "normalize a float into range of 0.0-1.0" do
16
+ 2.5.norm(0..10).should eql 0.25
17
+ 7.4.norm(0..10).should eql 0.74
18
+ 0.0.norm(0..10).should eql 0.0
19
+ 10.0.norm(0..10).should eql 1.0
20
+ 15.0.norm(10..20).should eql 0.5
21
+ end
22
+
23
+ it "can take target range other than 0.0-1.0" do
24
+ 5.norm(0..10, 0..20).should eql 10.0
25
+ 2.norm(0..10, 10..20).should eql 12.0
26
+ 0.norm(0..10, 10..15).should eql 10.0
27
+ 10.norm(0..10, 10..15).should eql 15.0
28
+ 5.norm(0..10, 10..15).should eql 12.5
29
+ 2.5.norm(0..10, 0..5).should eql 1.25
30
+ 2.5.norm(0..10, 5..10).should eql 6.25
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gviz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-09-29 00:00:00.000000000 Z
12
+ date: 2012-10-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ruby's interface of graphviz
15
15
  email:
@@ -32,9 +32,11 @@ files:
32
32
  - examples/shapes.rb
33
33
  - gviz.gemspec
34
34
  - lib/gviz.rb
35
+ - lib/gviz/system_extension.rb
35
36
  - lib/gviz/version.rb
36
37
  - spec/gviz_spec.rb
37
38
  - spec/spec_helper.rb
39
+ - spec/system_extension_spec.rb
38
40
  homepage: https://github.com/melborne/Gviz
39
41
  licenses: []
40
42
  post_install_message:
@@ -62,4 +64,5 @@ summary: Ruby's interface of graphviz. It generate a dot file with simple ruby's
62
64
  test_files:
63
65
  - spec/gviz_spec.rb
64
66
  - spec/spec_helper.rb
67
+ - spec/system_extension_spec.rb
65
68
  has_rdoc: