dot_grid 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/dot_grid/cli.rb +1 -1
- data/lib/dot_grid/page/dot_dash.rb +11 -0
- data/lib/dot_grid/page/factory.rb +2 -1
- data/lib/dot_grid/pattern/dot_dash.rb +28 -0
- data/lib/dot_grid/version.rb +1 -1
- data/lib/dot_grid.rb +2 -0
- data/spec/lib/dot_grid/page/dot_dash_spec.rb +17 -0
- data/spec/lib/dot_grid/pattern/dot_dash_spec.rb +50 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe3f6f66185eec4acdf0e1190f1122adc7ce8113
|
4
|
+
data.tar.gz: 5977a1d7890f34c50995284c10a2926a39d1fa7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f99ec483e119b483824e2f9f99273963540f65dbe75a3b17d73032781af89610182d633b5604420807ab4c0e27dded7ab95aa6aece695d6a717a610ade5300f
|
7
|
+
data.tar.gz: bdf8e4c4b282afe69ca9417652c4bfe98e897782b5e55578e66f4149195d60b89bc4299eb6d6d2a50206d4522783b686077384f81269d59ea5f2eba93645860e
|
data/README.md
CHANGED
@@ -34,8 +34,11 @@ A simple ruby file for generating dot grid graph paper.
|
|
34
34
|
### Multiple page types (either with no spaces after commas or in quotes).
|
35
35
|
dot_grid -f page_types.pdf --page-types "planner, checkerboard, grid, dot_grid" --spacing 5 --grid-color CFBAEC --margin 0.0
|
36
36
|
|
37
|
+
### A basic dot dash page can be generated like this ...
|
38
|
+
dot_grid -f dot_dash.pdf --page-types dot_dash --spacing 5 --grid-color CFBAEC --dot-weight 0.5 -m 0.0
|
39
|
+
|
37
40
|
### All of the pages at once ...
|
38
|
-
dot_grid -f page_types.pdf --page-types "planner, checkerboard, grid, dot_grid, horizontal_rule, grid_plus_lines" --spacing 5 --grid-color CFBAEC -m 0.0
|
41
|
+
dot_grid -f page_types.pdf --page-types "planner, checkerboard, grid, dot_grid, horizontal_rule, grid_plus_lines, dot_dash" --spacing 5 --grid-color CFBAEC -m 0.0
|
39
42
|
|
40
43
|
### To get help on the command and its options ...
|
41
44
|
dot_grid --help
|
data/lib/dot_grid/cli.rb
CHANGED
@@ -8,7 +8,7 @@ module DotGrid
|
|
8
8
|
version "dot_grid #{DotGrid::VERSION}"
|
9
9
|
opt :file_name, "File Name", :type => :string, :default => "dotgrid.pdf"
|
10
10
|
opt :orientation, "Orientation of pages (portrait/landscape)", type: :string, default: "portrait"
|
11
|
-
opt :page_types, "Types of pages desired: Types of pages desired: planner, checkerboard, grid, dot_grid, horizontal_rule, grid_plus_lines", type: :string, default: "planner"
|
11
|
+
opt :page_types, "Types of pages desired: Types of pages desired: planner, checkerboard, grid, dot_grid, horizontal_rule, grid_plus_lines, dot_dash", type: :string, default: "planner"
|
12
12
|
opt :dot_weight, "Dot Weight", :type => :float, :default => 1.5
|
13
13
|
opt :margin, "Border", :type => :float, :default => 0.0
|
14
14
|
opt :page_size, "Page Size (LEGAL, LETTER)", :type => :string, :default => "LETTER"
|
@@ -9,7 +9,8 @@ module DotGrid
|
|
9
9
|
'grid' => ::DotGrid::Page::Grid,
|
10
10
|
'grid_plus_lines' => ::DotGrid::Page::GridPlusLines,
|
11
11
|
'horizontal_rule' => ::DotGrid::Page::HorizontalRule,
|
12
|
-
'checkerboard' => ::DotGrid::Page::Checkerboard
|
12
|
+
'checkerboard' => ::DotGrid::Page::Checkerboard,
|
13
|
+
'dot_dash' => ::DotGrid::Page::DotDash,
|
13
14
|
}
|
14
15
|
|
15
16
|
def self.build(page_type, params)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module DotGrid
|
2
|
+
module Pattern
|
3
|
+
class DotDash < Pattern
|
4
|
+
attr_accessor(
|
5
|
+
:dot_weight,
|
6
|
+
)
|
7
|
+
|
8
|
+
POST_DOT_SPACING = 0.2
|
9
|
+
TO_LENGTH = 1.0 - POST_DOT_SPACING
|
10
|
+
|
11
|
+
def post_initialize(params)
|
12
|
+
@dot_weight = params[:dot_weight] || 1.5
|
13
|
+
end
|
14
|
+
|
15
|
+
def draw
|
16
|
+
pdf.line_width @dot_weight
|
17
|
+
pdf.fill_color grid_color
|
18
|
+
pdf.stroke_color grid_color
|
19
|
+
draw_grid do |row, column|
|
20
|
+
pdf.fill_circle [column*spacing, row*spacing], dot_weight
|
21
|
+
pdf.stroke_horizontal_line(column*spacing+POST_DOT_SPACING*spacing, column*spacing+spacing*TO_LENGTH, :at => row*spacing)
|
22
|
+
pdf.stroke_vertical_line(row*spacing+POST_DOT_SPACING*spacing, row*spacing+spacing*TO_LENGTH, :at => column*spacing)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
data/lib/dot_grid/version.rb
CHANGED
data/lib/dot_grid.rb
CHANGED
@@ -11,6 +11,7 @@ require 'dot_grid/page/grid'
|
|
11
11
|
require 'dot_grid/page/grid_plus_lines'
|
12
12
|
require 'dot_grid/page/horizontal_rule'
|
13
13
|
require 'dot_grid/page/checkerboard'
|
14
|
+
require 'dot_grid/page/dot_dash'
|
14
15
|
require 'dot_grid/page/factory'
|
15
16
|
|
16
17
|
require 'dot_grid/pattern/pattern'
|
@@ -19,6 +20,7 @@ require 'dot_grid/pattern/grid_plus_lines'
|
|
19
20
|
require 'dot_grid/pattern/dot_grid'
|
20
21
|
require 'dot_grid/pattern/checkerboard'
|
21
22
|
require 'dot_grid/pattern/horizontal_rule'
|
23
|
+
require 'dot_grid/pattern/dot_dash'
|
22
24
|
require 'dot_grid/pattern/square_grid'
|
23
25
|
|
24
26
|
module DotGrid
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "DotGrid::Page::DotDash" do
|
4
|
+
describe "#post_initialize" do
|
5
|
+
let(:subject) { DotGrid::Page::DotDash.new({})}
|
6
|
+
|
7
|
+
before do
|
8
|
+
allow(::DotGrid::Pattern::DotDash).to receive(:new)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "adds the pattern" do
|
12
|
+
expect(subject).to receive(:add_pattern)
|
13
|
+
subject.post_initialize({})
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "DotGrid::Pattern::DotDash" do
|
4
|
+
describe "#draw" do
|
5
|
+
let(:pdf) { double('pdf').as_null_object }
|
6
|
+
let(:params) { { pdf: pdf, bounds: double('bounds', { upper_left: [0, 0], height: 20.mm, width: 10.mm } ), spacing: 5 } }
|
7
|
+
let(:subject) { DotGrid::Pattern::DotDash.new(params) }
|
8
|
+
|
9
|
+
before do
|
10
|
+
allow(pdf).to receive(:bounding_box).and_yield
|
11
|
+
end
|
12
|
+
|
13
|
+
it "sets the fill color" do
|
14
|
+
expect(pdf).to receive(:fill_color)
|
15
|
+
subject.draw
|
16
|
+
end
|
17
|
+
|
18
|
+
it "sets the line width" do
|
19
|
+
expect(pdf).to receive(:line_width)
|
20
|
+
subject.draw
|
21
|
+
end
|
22
|
+
|
23
|
+
it "sets the stroke color" do
|
24
|
+
expect(pdf).to receive(:stroke_color)
|
25
|
+
subject.draw
|
26
|
+
end
|
27
|
+
|
28
|
+
it "calls fill circle the correct number of times" do
|
29
|
+
allow(subject).to receive(:rows).and_return(2)
|
30
|
+
allow(subject).to receive(:columns).and_return(3)
|
31
|
+
expect(pdf).to receive(:fill_circle).exactly(3*4).times
|
32
|
+
subject.draw
|
33
|
+
end
|
34
|
+
|
35
|
+
it "calls horizontal line the correct number of times" do
|
36
|
+
allow(subject).to receive(:rows).and_return(2)
|
37
|
+
allow(subject).to receive(:columns).and_return(3)
|
38
|
+
expect(pdf).to receive(:stroke_horizontal_line).exactly(3*4).times
|
39
|
+
subject.draw
|
40
|
+
end
|
41
|
+
|
42
|
+
it "calls vertical line the correct number of times" do
|
43
|
+
allow(subject).to receive(:rows).and_return(2)
|
44
|
+
allow(subject).to receive(:columns).and_return(3)
|
45
|
+
expect(pdf).to receive(:stroke_vertical_line).exactly(3*4).times
|
46
|
+
subject.draw
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dot_grid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott LaBounty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/dot_grid/document.rb
|
119
119
|
- lib/dot_grid/generator.rb
|
120
120
|
- lib/dot_grid/page/checkerboard.rb
|
121
|
+
- lib/dot_grid/page/dot_dash.rb
|
121
122
|
- lib/dot_grid/page/dot_grid.rb
|
122
123
|
- lib/dot_grid/page/factory.rb
|
123
124
|
- lib/dot_grid/page/grid.rb
|
@@ -126,6 +127,7 @@ files:
|
|
126
127
|
- lib/dot_grid/page/page.rb
|
127
128
|
- lib/dot_grid/page/planner.rb
|
128
129
|
- lib/dot_grid/pattern/checkerboard.rb
|
130
|
+
- lib/dot_grid/pattern/dot_dash.rb
|
129
131
|
- lib/dot_grid/pattern/dot_grid.rb
|
130
132
|
- lib/dot_grid/pattern/grid.rb
|
131
133
|
- lib/dot_grid/pattern/grid_plus_lines.rb
|
@@ -137,6 +139,7 @@ files:
|
|
137
139
|
- spec/lib/dot_grid/document_spec.rb
|
138
140
|
- spec/lib/dot_grid/generator_spec.rb
|
139
141
|
- spec/lib/dot_grid/page/checkerboard_spec.rb
|
142
|
+
- spec/lib/dot_grid/page/dot_dash_spec.rb
|
140
143
|
- spec/lib/dot_grid/page/dot_grid_spec.rb
|
141
144
|
- spec/lib/dot_grid/page/factory_spec.rb
|
142
145
|
- spec/lib/dot_grid/page/grid_plus_lines_spec.rb
|
@@ -145,6 +148,7 @@ files:
|
|
145
148
|
- spec/lib/dot_grid/page/page_spec.rb
|
146
149
|
- spec/lib/dot_grid/page/planner_spec.rb
|
147
150
|
- spec/lib/dot_grid/pattern/checkerboard_spec.rb
|
151
|
+
- spec/lib/dot_grid/pattern/dot_dash_spec.rb
|
148
152
|
- spec/lib/dot_grid/pattern/dot_grid_spec.rb
|
149
153
|
- spec/lib/dot_grid/pattern/grid_plus_lines_spec.rb
|
150
154
|
- spec/lib/dot_grid/pattern/grid_spec.rb
|
@@ -171,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
175
|
version: '0'
|
172
176
|
requirements: []
|
173
177
|
rubyforge_project:
|
174
|
-
rubygems_version: 2.
|
178
|
+
rubygems_version: 2.0.5
|
175
179
|
signing_key:
|
176
180
|
specification_version: 4
|
177
181
|
summary: Dot Grid planner PDF generator.
|
@@ -180,6 +184,7 @@ test_files:
|
|
180
184
|
- spec/lib/dot_grid/document_spec.rb
|
181
185
|
- spec/lib/dot_grid/generator_spec.rb
|
182
186
|
- spec/lib/dot_grid/page/checkerboard_spec.rb
|
187
|
+
- spec/lib/dot_grid/page/dot_dash_spec.rb
|
183
188
|
- spec/lib/dot_grid/page/dot_grid_spec.rb
|
184
189
|
- spec/lib/dot_grid/page/factory_spec.rb
|
185
190
|
- spec/lib/dot_grid/page/grid_plus_lines_spec.rb
|
@@ -188,6 +193,7 @@ test_files:
|
|
188
193
|
- spec/lib/dot_grid/page/page_spec.rb
|
189
194
|
- spec/lib/dot_grid/page/planner_spec.rb
|
190
195
|
- spec/lib/dot_grid/pattern/checkerboard_spec.rb
|
196
|
+
- spec/lib/dot_grid/pattern/dot_dash_spec.rb
|
191
197
|
- spec/lib/dot_grid/pattern/dot_grid_spec.rb
|
192
198
|
- spec/lib/dot_grid/pattern/grid_plus_lines_spec.rb
|
193
199
|
- spec/lib/dot_grid/pattern/grid_spec.rb
|