rubyvis 0.6.0 → 0.6.1

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 (113) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +13 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +37 -0
  6. data/History.txt +6 -0
  7. data/LICENSE.txt +23 -0
  8. data/{README.txt → README.md} +15 -12
  9. data/Rakefile +4 -11
  10. data/lib/rubyvis.rb +1 -1
  11. data/lib/rubyvis/scale/quantitative.rb +14 -18
  12. data/lib/rubyvis/scene/svg_label.rb +1 -1
  13. data/rubyvis.gemspec +21 -0
  14. data/spec/anchor_spec.rb +2 -1
  15. data/spec/line_spec.rb +2 -2
  16. data/spec/scale_linear_datetime_spec.rb +23 -8
  17. data/spec/spec_helper.rb +2 -1
  18. metadata +31 -214
  19. data/.gemtest +0 -0
  20. data/vendor/protovis/protovis-r3.3.js +0 -287
  21. data/vendor/protovis/src/behavior/Behavior.js +0 -32
  22. data/vendor/protovis/src/behavior/Drag.js +0 -112
  23. data/vendor/protovis/src/behavior/Pan.js +0 -110
  24. data/vendor/protovis/src/behavior/Point.js +0 -157
  25. data/vendor/protovis/src/behavior/Resize.js +0 -104
  26. data/vendor/protovis/src/behavior/Select.js +0 -100
  27. data/vendor/protovis/src/behavior/Zoom.js +0 -85
  28. data/vendor/protovis/src/color/Color.js +0 -598
  29. data/vendor/protovis/src/color/Colors.js +0 -135
  30. data/vendor/protovis/src/color/Ramp.js +0 -17
  31. data/vendor/protovis/src/data/Arrays.js +0 -277
  32. data/vendor/protovis/src/data/Dom.js +0 -380
  33. data/vendor/protovis/src/data/Flatten.js +0 -146
  34. data/vendor/protovis/src/data/Histogram.js +0 -120
  35. data/vendor/protovis/src/data/LinearScale.js +0 -54
  36. data/vendor/protovis/src/data/LogScale.js +0 -142
  37. data/vendor/protovis/src/data/Nest.js +0 -257
  38. data/vendor/protovis/src/data/Numbers.js +0 -313
  39. data/vendor/protovis/src/data/Objects.js +0 -78
  40. data/vendor/protovis/src/data/OrdinalScale.js +0 -267
  41. data/vendor/protovis/src/data/QuantileScale.js +0 -180
  42. data/vendor/protovis/src/data/QuantitativeScale.js +0 -440
  43. data/vendor/protovis/src/data/RootScale.js +0 -55
  44. data/vendor/protovis/src/data/Scale.js +0 -86
  45. data/vendor/protovis/src/data/Transform.js +0 -109
  46. data/vendor/protovis/src/data/Tree.js +0 -124
  47. data/vendor/protovis/src/data/Vector.js +0 -118
  48. data/vendor/protovis/src/geo/Geo.js +0 -5
  49. data/vendor/protovis/src/geo/GeoScale.js +0 -307
  50. data/vendor/protovis/src/geo/LatLng.js +0 -23
  51. data/vendor/protovis/src/geo/Projection.js +0 -43
  52. data/vendor/protovis/src/geo/Projections.js +0 -117
  53. data/vendor/protovis/src/lang/Array.js +0 -112
  54. data/vendor/protovis/src/lang/init.js +0 -26
  55. data/vendor/protovis/src/layout/Arc.js +0 -178
  56. data/vendor/protovis/src/layout/Bullet.js +0 -164
  57. data/vendor/protovis/src/layout/Cluster.js +0 -205
  58. data/vendor/protovis/src/layout/Force.js +0 -309
  59. data/vendor/protovis/src/layout/Grid.js +0 -119
  60. data/vendor/protovis/src/layout/Hierarchy.js +0 -249
  61. data/vendor/protovis/src/layout/Horizon.js +0 -159
  62. data/vendor/protovis/src/layout/Indent.js +0 -83
  63. data/vendor/protovis/src/layout/Layout.js +0 -56
  64. data/vendor/protovis/src/layout/Matrix.js +0 -177
  65. data/vendor/protovis/src/layout/Network.js +0 -302
  66. data/vendor/protovis/src/layout/Pack.js +0 -323
  67. data/vendor/protovis/src/layout/Partition.js +0 -203
  68. data/vendor/protovis/src/layout/Rollup.js +0 -203
  69. data/vendor/protovis/src/layout/Stack.js +0 -391
  70. data/vendor/protovis/src/layout/Tree.js +0 -282
  71. data/vendor/protovis/src/layout/Treemap.js +0 -347
  72. data/vendor/protovis/src/mark/Anchor.js +0 -81
  73. data/vendor/protovis/src/mark/Area.js +0 -268
  74. data/vendor/protovis/src/mark/Bar.js +0 -93
  75. data/vendor/protovis/src/mark/Dot.js +0 -212
  76. data/vendor/protovis/src/mark/Ease.js +0 -150
  77. data/vendor/protovis/src/mark/Image.js +0 -154
  78. data/vendor/protovis/src/mark/Label.js +0 -155
  79. data/vendor/protovis/src/mark/Line.js +0 -195
  80. data/vendor/protovis/src/mark/Mark.js +0 -1237
  81. data/vendor/protovis/src/mark/Panel.js +0 -273
  82. data/vendor/protovis/src/mark/Rule.js +0 -143
  83. data/vendor/protovis/src/mark/Transient.js +0 -7
  84. data/vendor/protovis/src/mark/Transition.js +0 -195
  85. data/vendor/protovis/src/mark/Wedge.js +0 -244
  86. data/vendor/protovis/src/physics/BoundConstraint.js +0 -75
  87. data/vendor/protovis/src/physics/ChargeForce.js +0 -184
  88. data/vendor/protovis/src/physics/CollisionConstraint.js +0 -113
  89. data/vendor/protovis/src/physics/Constraint.js +0 -26
  90. data/vendor/protovis/src/physics/DragForce.js +0 -49
  91. data/vendor/protovis/src/physics/Force.js +0 -25
  92. data/vendor/protovis/src/physics/Particle.js +0 -81
  93. data/vendor/protovis/src/physics/PositionConstraint.js +0 -72
  94. data/vendor/protovis/src/physics/Quadtree.js +0 -195
  95. data/vendor/protovis/src/physics/Simulation.js +0 -159
  96. data/vendor/protovis/src/physics/SpringForce.js +0 -141
  97. data/vendor/protovis/src/pv-internals.js +0 -154
  98. data/vendor/protovis/src/pv.js +0 -95
  99. data/vendor/protovis/src/scene/SvgArea.js +0 -172
  100. data/vendor/protovis/src/scene/SvgBar.js +0 -28
  101. data/vendor/protovis/src/scene/SvgCurve.js +0 -354
  102. data/vendor/protovis/src/scene/SvgDot.js +0 -81
  103. data/vendor/protovis/src/scene/SvgImage.js +0 -45
  104. data/vendor/protovis/src/scene/SvgLabel.js +0 -46
  105. data/vendor/protovis/src/scene/SvgLine.js +0 -159
  106. data/vendor/protovis/src/scene/SvgPanel.js +0 -126
  107. data/vendor/protovis/src/scene/SvgRule.js +0 -26
  108. data/vendor/protovis/src/scene/SvgScene.js +0 -185
  109. data/vendor/protovis/src/scene/SvgWedge.js +0 -66
  110. data/vendor/protovis/src/text/DateFormat.js +0 -262
  111. data/vendor/protovis/src/text/Format.js +0 -78
  112. data/vendor/protovis/src/text/NumberFormat.js +0 -227
  113. data/vendor/protovis/src/text/TimeFormat.js +0 -115
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0920b8934ac03cbc5cdcdd9e018b270c755c9a99
4
+ data.tar.gz: d581b5a9847a03c8dd5d05c6db260448164ad6e0
5
+ SHA512:
6
+ metadata.gz: 6cd729bb91aa0d934def2639956cb577d7656d57435adaacef8c5e37ee1a91347a0462da8d253ce0a0429a7ee46fe90ec6029b32d5aa819001303e83122f97d5
7
+ data.tar.gz: cc3455449762a6cba3acabb67130bac1ede70814241867be0792ae4daf2264777c3f2d7f5e09d9ef9d04f16419be2b7d6fe0ae8215b85404af1fe4c9626aaa78
@@ -0,0 +1,16 @@
1
+ *.rbc
2
+ test.html
3
+ test.svg
4
+ *.sess
5
+ *~
6
+ doc/*
7
+ pkg/*
8
+ spec/fixtures/protovis-d3.3.js
9
+ .yardoc
10
+ vendor/protovis/tests
11
+ vendor/protovis/lib
12
+ web/*.html
13
+ web/examples/*
14
+ web/upload_task.rb
15
+ coverage
16
+ coverage.info
@@ -0,0 +1,13 @@
1
+ language:
2
+ ruby
3
+
4
+ rvm:
5
+ - '1.9.2'
6
+ - '1.9.3'
7
+ - '2.0.0'
8
+ - '2.1.1'
9
+ - jruby-19mode # JRuby in 1.9 mode
10
+ # - rbx-2.1.1
11
+
12
+ script:
13
+ bundle exec rake spec
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+ gem 'rake'
3
+ gem 'nokogiri'
4
+ gem 'coderay'
5
+ gem 'haml'
6
+ gem 'rspec'
7
+ gem 'rspec-mocks'
8
+ gem 'RedCloth'
@@ -0,0 +1,37 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ RedCloth (4.2.9)
5
+ coderay (1.1.0)
6
+ diff-lcs (1.2.5)
7
+ haml (4.0.5)
8
+ tilt
9
+ mini_portile (0.6.0)
10
+ nokogiri (1.6.3.1)
11
+ mini_portile (= 0.6.0)
12
+ rake (10.3.2)
13
+ rspec (3.0.0)
14
+ rspec-core (~> 3.0.0)
15
+ rspec-expectations (~> 3.0.0)
16
+ rspec-mocks (~> 3.0.0)
17
+ rspec-core (3.0.3)
18
+ rspec-support (~> 3.0.0)
19
+ rspec-expectations (3.0.3)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.0.0)
22
+ rspec-mocks (3.0.3)
23
+ rspec-support (~> 3.0.0)
24
+ rspec-support (3.0.3)
25
+ tilt (2.0.1)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ RedCloth
32
+ coderay
33
+ haml
34
+ nokogiri
35
+ rake
36
+ rspec
37
+ rspec-mocks
@@ -1,3 +1,9 @@
1
+ === 0.6.1 / 2014-08-07
2
+ * Change license to BSD 2-Clause
3
+ * Merge pull request #19 from pivotal-cloudplanner/master
4
+ * Added travis and bundler support
5
+ * Resolved bug #15
6
+
1
7
  === 0.6.0 / 2013-07-10
2
8
  + Added support for dashed lines (ex.: stroke_dasharray('9,5,3'))
3
9
  - Raises an exception on log scale when domain includes 0 or negative values
@@ -0,0 +1,23 @@
1
+ Copyright (c) 2010-2014, Claudio Bustos
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,12 +1,15 @@
1
- = Rubyvis
1
+ # Rubyvis
2
2
 
3
- * http://rubyvis.rubyforge.org/
3
+ * https://github.com/clbustos/rubyvis
4
4
 
5
- == DESCRIPTION:
5
+ [![Build Status](https://travis-ci.org/clbustos/rubyvis.svg?branch=master)](https://travis-ci.org/clbustos/rubyvis)
6
+
7
+
8
+ ## DESCRIPTION:
6
9
 
7
10
  Ruby port of Protovis[http://vis.stanford.edu/protovis/], a Javascript visualization toolkit.
8
11
 
9
- == FEATURES/PROBLEMS:
12
+ ## FEATURES/PROBLEMS:
10
13
 
11
14
  This library implements almost completely core API of protovis, including all static marks, SVG builder class and data classes. Spec coverage is near 90%
12
15
 
@@ -43,7 +46,7 @@ User could use +pv+ freely, cause is defined as a global method which call Rubyv
43
46
 
44
47
  Nokogiri is used as XML library. If not available, or $rubyvis_no_nokogiri is set to true, REXML is used. Nokogiri is 30%-35% faster that REXML on our test.
45
48
 
46
- == CURRENT PROGRESS
49
+ ## CURRENT PROGRESS
47
50
 
48
51
  * pv.js
49
52
  * pv-internals.js
@@ -93,7 +96,7 @@ Nokogiri is used as XML library. If not available, or $rubyvis_no_nokogiri is se
93
96
  * text/Format.js (incomplete)
94
97
  * text/NumberFormat.js (incomplete)
95
98
 
96
- == SYNOPSIS:
99
+ ## SYNOPSIS:
97
100
 
98
101
  The primary API, based on Gregory Brown's Ruby Best Practices, uses blocks and name of marks as methods
99
102
 
@@ -134,7 +137,7 @@ The library allows you to use chain methods API, like original protovis
134
137
 
135
138
  See examples directory for original protovis examples adaptations and others graphics
136
139
 
137
- == THE MOST FREQUENT QUESTION (MFQ)
140
+ ## THE MOST FREQUENT QUESTION (MFQ)
138
141
 
139
142
  ¿Why use a server-side technology if I can use a client-side, which is faster and more economic for developer?
140
143
 
@@ -142,14 +145,14 @@ If you want to present graphs: (a) complex and/or dynamically generated, (b) onl
142
145
 
143
146
  Rubyvis is designed mainly for off-line operation, like batch creation of graphs for use on printed documents (rtf-pdf), with possibility of use easily the script for on-line use.
144
147
 
145
- == REQUIREMENTS:
148
+ ## REQUIREMENTS:
146
149
 
147
- Tested on Ruby 1.8.7, 1.9.1, 1.9.2-p0 and ruby-head (future 1.9.3)
150
+ Tested on Ruby 1.9.2, 1.9.3, 2.0.0, 2.1.1 and Jruby (mode 1.9)
148
151
 
149
- == INSTALL:
152
+ ## INSTALL:
150
153
 
151
154
  $ gem install rubyvis
152
155
 
153
- == LICENSE:
156
+ ## LICENSE:
154
157
 
155
- GPL-2
158
+ BSD 2-Clause (see LICENSE.txt)
data/Rakefile CHANGED
@@ -3,23 +3,16 @@ $:.unshift(File.expand_path(File.dirname(__FILE__)+"/lib"))
3
3
  $:.unshift(File.expand_path(File.dirname(__FILE__)))
4
4
 
5
5
  require 'rubygems'
6
- require 'hoe'
7
6
  require 'rubyvis'
8
7
  require 'rspec'
9
8
  require 'rspec/core/rake_task'
10
9
  require './lib/rspec/expectations/differ'
11
- require 'rubyforge'
12
10
 
13
- Hoe.plugin :git
14
- Hoe.plugin :gemspec
11
+ require 'bundler'
12
+ Bundler::GemHelper.install_tasks
13
+
14
+
15
15
 
16
- h=Hoe.spec 'rubyvis' do
17
- self.testlib=:rspec
18
- self.rspec_options << "-c" << "-b"
19
- self.developer('Claudio Bustos', 'clbustos_at_gmail.com')
20
- self.version=Rubyvis::VERSION
21
- self.extra_dev_deps << ["coderay",">=0"] << ["haml",">=0"] << ["nokogiri", ">=0"] << ["rspec",">=2.7"] << ["RedCloth",">=0"]
22
- end
23
16
  desc "Publicar docs en rubyforge"
24
17
  task :publicar_docs => [:clean, :docs] do
25
18
  #ruby %{agregar_adsense_a_doc.rb}
@@ -34,7 +34,7 @@ require 'rubyvis/mark/shorcut_methods'
34
34
  module Rubyvis
35
35
  @@nokogiri=nil
36
36
  # Rubyvis version
37
- VERSION = '0.6.0'
37
+ VERSION = '0.6.1'
38
38
  # Protovis API on which current Rubyvis is based
39
39
  PROTOVIS_API_VERSION='3.3'
40
40
  # You actually can do it! http://snipplr.com/view/2137/uses-for-infinity-in-ruby/
@@ -245,32 +245,29 @@ module Rubyvis
245
245
  end
246
246
  end
247
247
  def ticks_floor(d,prec) # :nodoc:
248
- ar=d.to_a
249
- #p ar
250
- # [ sec, min, hour, day, month, year, wday, yday, isdst, zone ]
248
+ dfloor=d
251
249
  case(prec)
252
- when 31536e6
253
- ar[4]=1
254
- when 2592e6
255
- ar[3]=1
256
- when 6048e5
257
- ar[3]=ar[3]-ar[6] if (prec == 6048e5)
258
- when 864e5
259
- ar[2]=0
260
- when 36e5
261
- ar[1]=0
262
- when 6e4
263
- ar[0]=0
250
+ when 31536e6, :month
251
+ dfloor = Time.utc(d.year,1,d.day,d.hour,d.min,d.sec)
252
+ when 2592e6, :month_day
253
+ dfloor = Time.utc(d.year,d.month,1,d.hour,d.min,d.sec)
254
+ when 6048e5, :week_day
255
+ dfloor = dfloor - d.wday*864e2 # TODO
256
+ when 864e5, :hour
257
+ dfloor = Time.utc(d.year,d.month,d.day,0,d.min,d.sec)
258
+ when 36e5, :minute
259
+ dfloor = Time.utc(d.year,d.month,d.day,d.hour,0,d.sec)
260
+ when 6e4, :second
261
+ dfloor = Time.utc(d.year,d.month,d.day,d.hour,d.min,0)
264
262
  when 1e3
265
263
  # do nothing
266
264
  end
267
- to_date(ar)
265
+ return dfloor
268
266
  end
269
267
 
270
268
  private :ticks_floor
271
269
 
272
270
  def to_date(d) # :nodoc:
273
-
274
271
  Time.utc(*d)
275
272
  end
276
273
  # Returns an array of evenly-spaced, suitably-rounded values in the input
@@ -331,7 +328,6 @@ module Rubyvis
331
328
  format = "%S.%Qs";
332
329
  increment = lambda {|d| Time.at(d.to_f+(step/1000.0)) }
333
330
  end
334
-
335
331
  @tick_format = Rubyvis.Format.date(format);
336
332
  date = Time.at(min.to_f)
337
333
  dates = []
@@ -50,7 +50,7 @@ module Rubyvis
50
50
  "text-shadow"=> s.text_shadow,
51
51
  "text-decoration"=> s.text_decoration})
52
52
 
53
- e.text=s.text.frozen? ? s.text.dup : s.text
53
+ e.text=s.text.frozen? ? s.text.to_s.dup : s.text
54
54
 
55
55
 
56
56
  e=SvgScene.append(e,scenes,i)
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.unshift(File.expand_path(File.dirname(__FILE__)+"/lib"))
3
+ require File.expand_path("../lib/rubyvis", __FILE__)
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "rubyvis"
7
+ s.version = Rubyvis::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Claudio Bustos']
10
+ s.email = []
11
+ s.homepage = "http://rubygems.org/gems/rubyvis"
12
+ s.summary = "Rubyvis"
13
+ s.description = "Rubyvis"
14
+
15
+ s.required_rubygems_version = ">= 1.3.6"
16
+ s.add_development_dependency "bundler", ">= 1.0.0"
17
+ s.add_development_dependency "rspec"
18
+ s.files = `git ls-files`.split("\n")
19
+ s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
20
+ s.require_path = 'lib'
21
+ end
@@ -7,7 +7,8 @@ describe Rubyvis::Anchor do
7
7
  Rubyvis::Anchor.properties.should==props
8
8
  end
9
9
  it "should be initialized with an object which respond to parent" do
10
- my_mock=mock('mark')
10
+ my_mock=double('mark')
11
+ my_mock.stub(:parent)
11
12
  my_mock.should_receive(:parent).with(no_args())
12
13
  Rubyvis.Anchor(my_mock)
13
14
 
@@ -116,7 +116,7 @@ top(5)
116
116
  # obj.attributes["d"].value
117
117
  exp_data="M2.1161165235168156,4.883883476483184L4.116116523516816,6.883883476483184 5.883883476483184,5.116116523516816 3.8838834764831844,3.1161165235168156"
118
118
  obs=""
119
- obs.stub!(:attributes).and_return({'d'=>OpenStruct.new({:value=>Rubyvis::SvgScene.path_join(s0,s1,s2,s3)})})
119
+ obs.stub(:attributes).and_return({'d'=>OpenStruct.new({:value=>Rubyvis::SvgScene.path_join(s0,s1,s2,s3)})})
120
120
 
121
121
  obs.should have_path_data_close_to exp_data
122
122
 
@@ -126,7 +126,7 @@ top(5)
126
126
  s3=OpenStruct.new({:left=>7.5,:top=>8,:visible=>true, :line_width=>4.5})
127
127
  exp_data="M2.2625631329235425,5.2374368670764575L4.2625631329235425,7.2374368670764575 6.7374368670764575,4.7625631329235425 4.7374368670764575,2.7625631329235425"
128
128
  obs=""
129
- obs.stub!(:attributes).and_return({'d'=>OpenStruct.new({:value=>Rubyvis::SvgScene.path_join(s0,s1,s2,s3)})})
129
+ obs.stub(:attributes).and_return({'d'=>OpenStruct.new({:value=>Rubyvis::SvgScene.path_join(s0,s1,s2,s3)})})
130
130
  obs.should have_path_data_close_to exp_data
131
131
 
132
132
  end
@@ -3,6 +3,7 @@ describe "Rubyvis::Scale::Linear with dates" do
3
3
  it "should be created as Javascript" do
4
4
  h=280
5
5
  y = Rubyvis.Scale.linear(Time.utc(2010,1,1), Time.utc(2010,2,1))
6
+
6
7
  end
7
8
 
8
9
  before do
@@ -10,6 +11,13 @@ describe "Rubyvis::Scale::Linear with dates" do
10
11
  @ed=Time.utc(2010,2,1)
11
12
  @h=280
12
13
  @y = Rubyvis.Scale.linear(@bd, @ed).range(0,@h)
14
+ def @y.mock_ticks_floor(d,prec)
15
+ ticks_floor(d,prec)
16
+ end
17
+ end
18
+ it "should not crash on :week_day precision (bug #15)" do
19
+ ct=Time.utc(2012,03,19,10,10,10)
20
+ @y.mock_ticks_floor(ct,:week_day).should==Time.utc(2012,03,18,10,10,10)
13
21
  end
14
22
  it "y should be a Scale" do
15
23
  @y.should be_a(Rubyvis::Scale::Linear)
@@ -46,11 +54,18 @@ describe "Rubyvis::Scale::Linear with dates" do
46
54
 
47
55
  #p @y.ticks
48
56
  end
49
- it "should returns correct tick_format" do
50
- pending()
51
- end
52
-
53
- it "should nice nicely" do
54
- pending()
55
- end
56
- end
57
+ it "should return correct tick_floor" do
58
+ ct=Time.utc(2012,04,05,10,10,10)
59
+ @y.mock_ticks_floor(ct,:month).should==Time.utc(2012,01,05,10,10,10)
60
+ @y.mock_ticks_floor(ct,:month_day).should==Time.utc(2012,04,01,10,10,10)
61
+ @y.mock_ticks_floor(ct,:week_day).should==Time.utc(2012,04,01,10,10,10)
62
+ @y.mock_ticks_floor(ct,:hour).should==Time.utc(2012,04,05,00,10,10)
63
+ @y.mock_ticks_floor(ct,:minute).should==Time.utc(2012,04,05,10,00,10)
64
+ @y.mock_ticks_floor(ct,:second).should==Time.utc(2012,04,05,10,10,00)
65
+
66
+ end
67
+
68
+ it "should returns correct tick_format"
69
+ it "should nice nicely"
70
+
71
+ end
@@ -8,6 +8,7 @@ begin
8
8
  rescue LoadError
9
9
  end
10
10
  require 'rspec'
11
+ require 'rspec/mocks'
11
12
  #require 'spec/autorun'
12
13
  require 'rubyvis'
13
14
  require 'pp'
@@ -94,7 +95,7 @@ end
94
95
  RSpec::Matchers.define :have_svg_attributes do |exp|
95
96
  match do |obs|
96
97
  exp.each {|k,v|
97
- obs.attributes[k].should be_true
98
+ obs.attributes[k].should be_truthy
98
99
  obs.attributes[k].value.should==v
99
100
  }
100
101
  end
metadata CHANGED
@@ -1,142 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyvis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
5
- prerelease:
4
+ version: 0.6.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Claudio Bustos
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-10 00:00:00.000000000 Z
11
+ date: 2014-08-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rdoc
14
+ name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '3.10'
19
+ version: 1.0.0
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '3.10'
30
- - !ruby/object:Gem::Dependency
31
- name: coderay
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: haml
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: nokogiri
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
26
+ version: 1.0.0
78
27
  - !ruby/object:Gem::Dependency
79
28
  name: rspec
80
29
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
30
  requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '2.7'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '2.7'
94
- - !ruby/object:Gem::Dependency
95
- name: RedCloth
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
31
+ - - ">="
100
32
  - !ruby/object:Gem::Version
101
33
  version: '0'
102
34
  type: :development
103
35
  prerelease: false
104
36
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
37
  requirements:
107
- - - ! '>='
38
+ - - ">="
108
39
  - !ruby/object:Gem::Version
109
40
  version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: hoe
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- version: '3.3'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: '3.3'
126
- description: Ruby port of Protovis[http://vis.stanford.edu/protovis/], a Javascript
127
- visualization toolkit.
128
- email:
129
- - clbustos_at_gmail.com
41
+ description: Rubyvis
42
+ email: []
130
43
  executables: []
131
44
  extensions: []
132
- extra_rdoc_files:
133
- - History.txt
134
- - Manifest.txt
135
- - README.txt
45
+ extra_rdoc_files: []
136
46
  files:
47
+ - ".gitignore"
48
+ - ".travis.yml"
49
+ - Gemfile
50
+ - Gemfile.lock
137
51
  - History.txt
52
+ - LICENSE.txt
138
53
  - Manifest.txt
139
- - README.txt
54
+ - README.md
140
55
  - Rakefile
141
56
  - examples/1_basic/1a_bar_rbp_api.rb
142
57
  - examples/1_basic/1b_bar_pv_api.rb
@@ -184,6 +99,8 @@ files:
184
99
  - examples/6_pv_networks/arc.rb
185
100
  - examples/6_pv_networks/matrix.rb
186
101
  - examples/6_pv_networks/miserables_data.rb
102
+ - lib/rspec/expectations/differ.rb
103
+ - lib/rspec/expectations/differ_spec.rb
187
104
  - lib/rubyvis.rb
188
105
  - lib/rubyvis/color/color.rb
189
106
  - lib/rubyvis/color/colors.rb
@@ -242,8 +159,7 @@ files:
242
159
  - lib/rubyvis/sceneelement.rb
243
160
  - lib/rubyvis/transform.rb
244
161
  - lib/rubyvis/vector.rb
245
- - lib/rspec/expectations/differ.rb
246
- - lib/rspec/expectations/differ_spec.rb
162
+ - rubyvis.gemspec
247
163
  - spec/anchor_spec.rb
248
164
  - spec/area_spec.rb
249
165
  - spec/bar_spec.rb
@@ -333,131 +249,32 @@ files:
333
249
  - spec/spec_helper.rb
334
250
  - spec/vector_spec.rb
335
251
  - spec/wedge_spec.rb
336
- - vendor/protovis/protovis-r3.3.js
337
- - vendor/protovis/src/behavior/Behavior.js
338
- - vendor/protovis/src/behavior/Drag.js
339
- - vendor/protovis/src/behavior/Pan.js
340
- - vendor/protovis/src/behavior/Point.js
341
- - vendor/protovis/src/behavior/Resize.js
342
- - vendor/protovis/src/behavior/Select.js
343
- - vendor/protovis/src/behavior/Zoom.js
344
- - vendor/protovis/src/color/Color.js
345
- - vendor/protovis/src/color/Colors.js
346
- - vendor/protovis/src/color/Ramp.js
347
- - vendor/protovis/src/data/Arrays.js
348
- - vendor/protovis/src/data/Dom.js
349
- - vendor/protovis/src/data/Flatten.js
350
- - vendor/protovis/src/data/Histogram.js
351
- - vendor/protovis/src/data/LinearScale.js
352
- - vendor/protovis/src/data/LogScale.js
353
- - vendor/protovis/src/data/Nest.js
354
- - vendor/protovis/src/data/Numbers.js
355
- - vendor/protovis/src/data/Objects.js
356
- - vendor/protovis/src/data/OrdinalScale.js
357
- - vendor/protovis/src/data/QuantileScale.js
358
- - vendor/protovis/src/data/QuantitativeScale.js
359
- - vendor/protovis/src/data/RootScale.js
360
- - vendor/protovis/src/data/Scale.js
361
- - vendor/protovis/src/data/Transform.js
362
- - vendor/protovis/src/data/Tree.js
363
- - vendor/protovis/src/data/Vector.js
364
- - vendor/protovis/src/geo/Geo.js
365
- - vendor/protovis/src/geo/GeoScale.js
366
- - vendor/protovis/src/geo/LatLng.js
367
- - vendor/protovis/src/geo/Projection.js
368
- - vendor/protovis/src/geo/Projections.js
369
- - vendor/protovis/src/lang/Array.js
370
- - vendor/protovis/src/lang/init.js
371
- - vendor/protovis/src/layout/Arc.js
372
- - vendor/protovis/src/layout/Bullet.js
373
- - vendor/protovis/src/layout/Cluster.js
374
- - vendor/protovis/src/layout/Force.js
375
- - vendor/protovis/src/layout/Grid.js
376
- - vendor/protovis/src/layout/Hierarchy.js
377
- - vendor/protovis/src/layout/Horizon.js
378
- - vendor/protovis/src/layout/Indent.js
379
- - vendor/protovis/src/layout/Layout.js
380
- - vendor/protovis/src/layout/Matrix.js
381
- - vendor/protovis/src/layout/Network.js
382
- - vendor/protovis/src/layout/Pack.js
383
- - vendor/protovis/src/layout/Partition.js
384
- - vendor/protovis/src/layout/Rollup.js
385
- - vendor/protovis/src/layout/Stack.js
386
- - vendor/protovis/src/layout/Tree.js
387
- - vendor/protovis/src/layout/Treemap.js
388
- - vendor/protovis/src/mark/Anchor.js
389
- - vendor/protovis/src/mark/Area.js
390
- - vendor/protovis/src/mark/Bar.js
391
- - vendor/protovis/src/mark/Dot.js
392
- - vendor/protovis/src/mark/Ease.js
393
- - vendor/protovis/src/mark/Image.js
394
- - vendor/protovis/src/mark/Label.js
395
- - vendor/protovis/src/mark/Line.js
396
- - vendor/protovis/src/mark/Mark.js
397
- - vendor/protovis/src/mark/Panel.js
398
- - vendor/protovis/src/mark/Rule.js
399
- - vendor/protovis/src/mark/Transient.js
400
- - vendor/protovis/src/mark/Transition.js
401
- - vendor/protovis/src/mark/Wedge.js
402
- - vendor/protovis/src/physics/BoundConstraint.js
403
- - vendor/protovis/src/physics/ChargeForce.js
404
- - vendor/protovis/src/physics/CollisionConstraint.js
405
- - vendor/protovis/src/physics/Constraint.js
406
- - vendor/protovis/src/physics/DragForce.js
407
- - vendor/protovis/src/physics/Force.js
408
- - vendor/protovis/src/physics/Particle.js
409
- - vendor/protovis/src/physics/PositionConstraint.js
410
- - vendor/protovis/src/physics/Quadtree.js
411
- - vendor/protovis/src/physics/Simulation.js
412
- - vendor/protovis/src/physics/SpringForce.js
413
- - vendor/protovis/src/pv-internals.js
414
- - vendor/protovis/src/pv.js
415
- - vendor/protovis/src/scene/SvgArea.js
416
- - vendor/protovis/src/scene/SvgBar.js
417
- - vendor/protovis/src/scene/SvgCurve.js
418
- - vendor/protovis/src/scene/SvgDot.js
419
- - vendor/protovis/src/scene/SvgImage.js
420
- - vendor/protovis/src/scene/SvgLabel.js
421
- - vendor/protovis/src/scene/SvgLine.js
422
- - vendor/protovis/src/scene/SvgPanel.js
423
- - vendor/protovis/src/scene/SvgRule.js
424
- - vendor/protovis/src/scene/SvgScene.js
425
- - vendor/protovis/src/scene/SvgWedge.js
426
- - vendor/protovis/src/text/DateFormat.js
427
- - vendor/protovis/src/text/Format.js
428
- - vendor/protovis/src/text/NumberFormat.js
429
- - vendor/protovis/src/text/TimeFormat.js
430
252
  - web/Rakefile
431
253
  - web/build_site.rb
432
254
  - web/examples.haml
433
255
  - web/index.haml
434
256
  - web/style.css
435
- - .gemtest
436
- homepage: http://rubyvis.rubyforge.org/
257
+ homepage: http://rubygems.org/gems/rubyvis
437
258
  licenses: []
259
+ metadata: {}
438
260
  post_install_message:
439
- rdoc_options:
440
- - --main
441
- - README.txt
261
+ rdoc_options: []
442
262
  require_paths:
443
263
  - lib
444
264
  required_ruby_version: !ruby/object:Gem::Requirement
445
- none: false
446
265
  requirements:
447
- - - ! '>='
266
+ - - ">="
448
267
  - !ruby/object:Gem::Version
449
268
  version: '0'
450
269
  required_rubygems_version: !ruby/object:Gem::Requirement
451
- none: false
452
270
  requirements:
453
- - - ! '>='
271
+ - - ">="
454
272
  - !ruby/object:Gem::Version
455
- version: '0'
273
+ version: 1.3.6
456
274
  requirements: []
457
- rubyforge_project: rubyvis
458
- rubygems_version: 1.8.24
275
+ rubyforge_project:
276
+ rubygems_version: 2.2.2
459
277
  signing_key:
460
- specification_version: 3
461
- summary: Ruby port of Protovis[http://vis.stanford.edu/protovis/], a Javascript visualization
462
- toolkit.
278
+ specification_version: 4
279
+ summary: Rubyvis
463
280
  test_files: []