waxy 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d89aacf98d963b4e37d64245c278dc5c29254827b72b63222fa480d7cd9873ac
4
- data.tar.gz: 2624d4371c49a06cd5b47c227e8cd3f9ee1882ccd2115c3c14b11fc27937cea3
3
+ metadata.gz: fffde1bf9aa66779c5a153d9b952d19b06cade18746cd85a783ffb3c47a471fb
4
+ data.tar.gz: 8e2013afbcd989b0329131855a70edd4814afe92a2efacf620a1c37456f12faf
5
5
  SHA512:
6
- metadata.gz: 7a371d450d4f1bd5cabaa56a62435e5dc39261d80ab62f1c7ce479a3ed1d438ad56127f4eed042572180a2466f4e28ae5e7e83ea6474f97f3f4aba31806f4991
7
- data.tar.gz: 650b6dfeda31f52b1b34d5fd7c699e4ca0e974b284176d2b0e63268de1a6622600517032a1463e3313413bc0720698ef7b0dcc2610f2eb2248eda3873b1fe965
6
+ metadata.gz: a22c1c2b3cb2a000c25e72fff44d315f59033eb3167a0b41d753f1e608d8859317e7d9f111d3d43a9f6b3aea5d2f8cdcea0cdfed41774bcc2d76190d96e78d35
7
+ data.tar.gz: 3427e4abf9315a95cf2cea7f46acdd5389c6ff6b2bf4488f4794e5bf9adddd4ed237b0c58777040ceb600390d71e722a450be63648f14bbfaa61e70dc5f0cde7
data/Gemfile.lock CHANGED
@@ -2,29 +2,29 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  waxy (0.1.0)
5
- tilt (~> 2.0.9)
5
+ tilt (~> 2.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- awesome_print (1.8.0)
11
- byebug (11.0.1)
12
- diff-lcs (1.3)
13
- rake (12.3.2)
14
- rspec (3.8.0)
15
- rspec-core (~> 3.8.0)
16
- rspec-expectations (~> 3.8.0)
17
- rspec-mocks (~> 3.8.0)
18
- rspec-core (3.8.0)
19
- rspec-support (~> 3.8.0)
20
- rspec-expectations (3.8.2)
10
+ awesome_print (1.9.2)
11
+ byebug (11.1.3)
12
+ diff-lcs (1.5.0)
13
+ rake (13.0.6)
14
+ rspec (3.12.0)
15
+ rspec-core (~> 3.12.0)
16
+ rspec-expectations (~> 3.12.0)
17
+ rspec-mocks (~> 3.12.0)
18
+ rspec-core (3.12.1)
19
+ rspec-support (~> 3.12.0)
20
+ rspec-expectations (3.12.2)
21
21
  diff-lcs (>= 1.2.0, < 2.0)
22
- rspec-support (~> 3.8.0)
23
- rspec-mocks (3.8.0)
22
+ rspec-support (~> 3.12.0)
23
+ rspec-mocks (3.12.3)
24
24
  diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.8.0)
26
- rspec-support (3.8.0)
27
- tilt (2.0.9)
25
+ rspec-support (~> 3.12.0)
26
+ rspec-support (3.12.0)
27
+ tilt (2.1.0)
28
28
 
29
29
  PLATFORMS
30
30
  ruby
@@ -33,9 +33,9 @@ DEPENDENCIES
33
33
  awesome_print
34
34
  bundler (~> 2.0)
35
35
  byebug (~> 11)
36
- rake (~> 12.0)
37
- rspec (~> 3.8)
36
+ rake (~> 13.0)
37
+ rspec (~> 3.9)
38
38
  waxy!
39
39
 
40
40
  BUNDLED WITH
41
- 2.0.1
41
+ 2.4.6
@@ -1,4 +1,4 @@
1
- module Waxy
1
+ module Waxy
2
2
  module Geometry
3
3
  class Hex
4
4
 
@@ -7,26 +7,26 @@ module Waxy
7
7
  # Vector of 6 x (0.0 - 1.0)
8
8
  # Used to scale the pie slices
9
9
  # !! @size is typically set during render through a Waxy::Meta
10
-
10
+
11
11
  attr_accessor :size
12
12
 
13
13
  # All params are Int
14
14
  def initialize(_q, _r, _s = nil)
15
15
  @q = _q
16
- @r = _r
17
- @s = _s
16
+ @r = _r
17
+ @s = _s
18
18
  end
19
19
 
20
20
  # @return [Array]
21
- # initialized here for foreseable geometry calculations,
21
+ # initialized here for foreseable geometry calculations,
22
22
  # but in general this should be handled through a Meta
23
23
  def size
24
- @size ||= [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
25
- @size
24
+ @size ||= [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
25
+ @size
26
26
  end
27
-
27
+
28
28
  def == (b)
29
- q == b.q && r == b.r && s == b.s
29
+ q == b.q && r == b.r && s == b.s
30
30
  end
31
31
 
32
32
  def != (b)
@@ -45,7 +45,7 @@ module Waxy
45
45
  # @param k [Int]
46
46
  def * (k)
47
47
  Hex.new(q * k, r * k, (s ? s * k : nil))
48
- end
48
+ end
49
49
 
50
50
  def hex_length(hex)
51
51
  ((hex.q.abs + hex.r.abs + hex.s.abs) / 2).to_i
@@ -66,28 +66,28 @@ module Waxy
66
66
  end
67
67
  end
68
68
 
69
- #TODO(mjy) fix
69
+ #TODO(mjy) fix
70
70
  def self.point(center, size, i)
71
71
  angle_deg = 60.0 * i
72
72
  angle_rad = Math::PI / 180 * angle_deg
73
73
  Waxy::Geometry::Point.new(
74
- ((center.x + size) * Math.cos(angle_rad)),
74
+ ((center.x + size) * Math.cos(angle_rad)),
75
75
  ((center.y + size ) * Math.sin(angle_rad))
76
76
  )
77
77
  end
78
78
 
79
79
  def self.hexagon(center, size)
80
- Hexagon.new(
81
- outer_coords: (1..6).collect{|i| point(center, size, i)}
82
- )
80
+ Hexagon.new(
81
+ outer_coords: (1..6).collect{|i| point(center, size, i)}
82
+ )
83
83
  end
84
84
 
85
85
  def self.triangle(center, size, i)
86
86
  points = [[0,0]]
87
87
  points.push point(center, size, i)
88
- points.push point(center, size, (i + 1 == 7 ? 1 : i + 1))
88
+ points.push point(center, size, (i + 1 == 7 ? 1 : i + 1))
89
89
  points
90
90
  end
91
91
 
92
- end
93
- end
92
+ end
93
+ end
@@ -86,7 +86,7 @@ module Waxy
86
86
  (0..h).each do |r|
87
87
  (0..h).each do |j|
88
88
  return str if metadata.size == 0
89
- q = j - (r/2).floor
89
+ q = j - (r / 2).floor
90
90
  hex = Waxy::Geometry::Hex.new(q, r)
91
91
  str << Waxy::Render::Svg.hex_pie(layout, hex, metadata.pop)
92
92
  end
@@ -94,7 +94,6 @@ module Waxy
94
94
  str
95
95
  end
96
96
 
97
-
98
97
  def self.rectangle(layout, metadata, w = 10, h = 10)
99
98
  str = ''
100
99
 
@@ -112,6 +111,18 @@ module Waxy
112
111
  str
113
112
  end
114
113
 
114
+ def self.rectangle_coords(w, h)
115
+ a = []
116
+ (0..h).each do |r|
117
+ a[r] ||= []
118
+ (0..w).each do |j|
119
+ q = j - (r/2).floor
120
+ a[r][j] ||= []
121
+ a[r][j] = [q, r]
122
+ end
123
+ end
124
+ a
125
+ end
115
126
 
116
127
  # Interesting capped layout
117
128
  # r = i
data/lib/waxy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Waxy
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/waxy.gemspec CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Matt Yoder"]
10
10
  spec.email = ["diapriid@gmail.com"]
11
11
 
12
- spec.summary = %q{Waxy is an experimental tool to generate hexagonal SVG visualizations using Ruby.}
13
- spec.description = %q{Really, that's it.}
12
+ spec.summary = %q{Waxy is a tool to generate hexagonal SVG visualizations using Ruby.}
13
+ spec.description = %q{Waxy is a Ruby gem that draws SVG hexagon visualizations.}
14
14
  spec.homepage = "https://github.com/SpeciesFileGroup/waxy"
15
15
  spec.license = "NCSA"
16
16
 
@@ -32,15 +32,16 @@ Gem::Specification.new do |spec|
32
32
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
33
33
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
34
34
  end
35
+
35
36
  spec.bindir = "exe"
36
37
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
38
  spec.require_paths = ["lib"]
38
39
 
39
- spec.add_dependency "tilt", "~> 2.0.9"
40
+ spec.add_dependency "tilt", "~> 2.1"
40
41
 
41
42
  spec.add_development_dependency "byebug", "~> 11"
42
43
  spec.add_development_dependency "awesome_print"
43
44
  spec.add_development_dependency "bundler", "~> 2.0"
44
- spec.add_development_dependency "rake", "~> 12.0"
45
- spec.add_development_dependency "rspec", "~> 3.8"
45
+ spec.add_development_dependency "rake", "~> 13.0"
46
+ spec.add_development_dependency "rspec", "~> 3.9"
46
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Yoder
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-04 00:00:00.000000000 Z
11
+ date: 2023-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tilt
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.9
19
+ version: '2.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.9
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,29 +72,29 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '12.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '12.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.8'
89
+ version: '3.9'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.8'
97
- description: Really, that's it.
96
+ version: '3.9'
97
+ description: Waxy is a Ruby gem that draws SVG hexagon visualizations.
98
98
  email:
99
99
  - diapriid@gmail.com
100
100
  executables: []
@@ -139,7 +139,7 @@ licenses:
139
139
  metadata:
140
140
  homepage_uri: https://github.com/SpeciesFileGroup/waxy
141
141
  source_code_uri: https://github.com/SpeciesFileGroup/waxy
142
- post_install_message:
142
+ post_install_message:
143
143
  rdoc_options: []
144
144
  require_paths:
145
145
  - lib
@@ -154,10 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  - !ruby/object:Gem::Version
155
155
  version: '0'
156
156
  requirements: []
157
- rubyforge_project:
158
- rubygems_version: 2.7.8
159
- signing_key:
157
+ rubygems_version: 3.4.6
158
+ signing_key:
160
159
  specification_version: 4
161
- summary: Waxy is an experimental tool to generate hexagonal SVG visualizations using
162
- Ruby.
160
+ summary: Waxy is a tool to generate hexagonal SVG visualizations using Ruby.
163
161
  test_files: []