teaching_printables 0.0.0 → 0.0.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
  SHA1:
3
- metadata.gz: 6c13573faaf877bc3eafb60b606499249f6f08c2
4
- data.tar.gz: cecc09049bf1f752e6bee99f9ce6fa24847f62c8
3
+ metadata.gz: 2a91589527790eb2f14edb1f075363c4fea6d5ac
4
+ data.tar.gz: e3816888c4b37ec71f00b542a39c5135222988d3
5
5
  SHA512:
6
- metadata.gz: cdfe6cf64b825021197c2b585e254adef1c16804e4bc6258725b068e0fb4760aa2151376e600112b6b239ccb1df53dfb500ae0ccf5bde9d2ce79700da7a73cb5
7
- data.tar.gz: 7e81ab0c5098015a06b7f20e2c9e0e1811f52f246c8b1a8adf2ea6987f3465ce26d771c12eaa2e53022b42a8ac36e87c8eac3bb6ecfc74ff9969ee75643d29c4
6
+ metadata.gz: 1cca5307f42898442aa5bb2dd4feaacea8e0992acafc8a3e4d2ec6b035ace8fd4b641f27aff9c4b7ff0e05ca13d1a03a702500415d960f25b97e9539684f9bc8
7
+ data.tar.gz: f5a49d0235f0c20fc05b57943abc707030ead36d0db56c6010a9a984eaa267e71c089857e16047611bd574bc75097f9b18699bd8bc8d049955feae1212ad0a0a
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #Usage: ./bin/flashcards_AVERY5371 rug mug slug but cut tub sub hub mud up
4
+ require 'teaching_printables'
5
+
6
+ TeachingPrintables::grid_sheet_with_content(ARGV)
@@ -0,0 +1,57 @@
1
+ require_relative "../utilities"
2
+
3
+ module TeachingPrintables
4
+ class GridSheet
5
+ include Prawn::View
6
+
7
+ GRID_OPTIONS_DEFAULT = {
8
+ columns: 2,
9
+ rows: 2,
10
+ gutter: 0,
11
+ column_width: 100,
12
+ row_height: 100
13
+ }
14
+
15
+ def initialize(args={})
16
+ @document = Prawn::Document.new(args)
17
+ @font_size = 60
18
+ update_grid_options(args)
19
+ end
20
+
21
+ def update_grid_options(options)
22
+ GRID_OPTIONS_DEFAULT.each do |k,v|
23
+ instance_variable_set("@#{k}", options[k]) unless options[k].nil?
24
+ end
25
+ end
26
+
27
+ def make_grid(content_array)
28
+ puts grid_options
29
+ @document.define_grid(grid_options)
30
+ content_array.each_with_index {|obj,ind|
31
+
32
+ if ind > 0 && ind%10==0
33
+ @document.start_new_page
34
+ end
35
+
36
+ subs = ind2sub([@rows,@columns],ind%10)
37
+ @document.grid(subs[0],subs[1]).bounding_box do
38
+ #place_contents_in_gridbox(obj)
39
+ @document.text_box obj.to_s, align: :center, valign: :center, size: @font_size, overflow: :shrink_to_fit
40
+ end
41
+ }
42
+ end
43
+
44
+
45
+
46
+ def place_contents_in_gridbox(obj)
47
+ text obj.to_s, fit: [@column_width,@row_height]
48
+ end
49
+
50
+ private
51
+ def grid_options
52
+ keys = GRID_OPTIONS_DEFAULT.keys
53
+ Hash[keys.map { |key| [key.to_sym, instance_variable_get("@#{key}")] } ]
54
+ end
55
+
56
+ end
57
+ end
@@ -0,0 +1,34 @@
1
+ module TeachingPrintables
2
+ module Printing
3
+ module Templates
4
+
5
+ COMPULABEL = {
6
+ :page_layout => :portrait,
7
+ :page_size => "LETTER",
8
+ :top_margin => 0.25.in,
9
+ :bottom_margin => 0.25.in,
10
+ :right_margin => 0.in,
11
+ :left_margin => 0.in,
12
+ :columns => 3,
13
+ :rows => 7,
14
+ :gutter => 10,
15
+ :column_width => 2.81.in,
16
+ :row_height => 1.5.in
17
+ }
18
+
19
+ AVERY5371 = {
20
+ :page_layout => :portrait,
21
+ :page_size => "LETTER",
22
+ :top_margin => 0.5.in,
23
+ :bottom_margin => 0.5.in,
24
+ :right_margin => 0.75.in,
25
+ :left_margin => 0.75.in,
26
+ :columns => 2,
27
+ :rows => 5,
28
+ :gutter => 0,
29
+ :column_width => 3.5.in,
30
+ :row_height => 2.in
31
+ }
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,8 @@
1
+
2
+ def ind2sub(siz,ind)
3
+ if !siz || !ind || !siz.is_a?(Array) || siz.count!=2 || !ind.is_a?(Integer) || ind >= siz[0]*siz[1]
4
+ raise ArgumentError
5
+ end
6
+
7
+ return [ind%siz[0],ind/siz[0]]
8
+ end
@@ -1,113 +1,53 @@
1
1
  require 'prawn'
2
2
  require 'prawn/measurement_extensions'
3
3
 
4
- def ind2sub(siz,ind)
5
- if !siz || !ind || !siz.is_a?(Array) || siz.count!=2 || !ind.is_a?(Integer) || ind >= siz[0]*siz[1]
6
- raise ArgumentError
7
- end
8
-
9
- return [ind%siz[0],ind/siz[0]]
10
- end
11
4
 
12
- GRAPHIC_EXTENSIONS = [".jpg",".JPG",".png",".jpeg"]
13
- def is_image_file?(filename)
14
- !filename.start_with?(".") && GRAPHIC_EXTENSIONS.include?(File.extname(filename))
15
- end
5
+ require_relative "teaching_printables/grid_sheet/grid_sheet"
6
+ require_relative "teaching_printables/printing/templates"
16
7
 
17
- COMPULABEL = {
18
- :page_layout => :portrait,
19
- :page_size => "LETTER",
20
- :top_margin => 0.25.in,
21
- :bottom_margin => 0.25.in,
22
- :right_margin => 0.in,
23
- :left_margin => 0.in,
24
- :columns => 3,
25
- :rows => 7,
26
- :gutter => 10,
27
- :column_width => 2.81.in,
28
- :row_height => 1.5.in
29
- }
8
+ module TeachingPrintables
9
+ extend self
30
10
 
31
- AVERY5371 = {
32
- :page_layout => :portrait,
33
- :page_size => "LETTER",
34
- :top_margin => 0.5.in,
35
- :bottom_margin => 0.5.in,
36
- :right_margin => 0.75.in,
37
- :left_margin => 0.75.in,
38
- :columns => 2,
39
- :rows => 5,
40
- :gutter => 0,
41
- :column_width => 3.5.in,
42
- :row_height => 2.in
43
- }
11
+ file = __FILE__
12
+ file = File.readlink(file) if File.symlink?(file)
13
+ dir = File.dirname(file)
44
14
 
15
+ # The base source directory as installed on the system
45
16
 
46
- class GridSheet
47
- include Prawn::View
17
+ BASEDIR = File.expand_path(File.join(dir, '..'))
48
18
 
49
- GRID_OPTIONS_DEFAULT = {
50
- columns: 2,
51
- rows: 2,
52
- gutter: 0,
53
- column_width: 100,
54
- row_height: 100
55
- }
56
-
57
- def initialize(args={})
58
- @document = Prawn::Document.new(args)
59
- @font_size = 60
60
- update_grid_options(args)
19
+ GRAPHIC_EXTENSIONS = [".jpg",".JPG",".png",".jpeg"]
20
+ def is_image_file?(filename)
21
+ !filename.start_with?(".") && GRAPHIC_EXTENSIONS.include?(File.extname(filename))
61
22
  end
62
23
 
63
- def update_grid_options(options)
64
- GRID_OPTIONS_DEFAULT.each do |k,v|
65
- instance_variable_set("@#{k}", options[k]) unless options[k].nil?
24
+
25
+ class PictureGridSheet < GridSheet
26
+ def place_contents_in_gridbox(picture_filename)
27
+ image picture_filename, fit: [@column_width,@row_height]
66
28
  end
29
+ end
30
+
31
+
32
+ def test_grid_sheet
33
+ gs = GridSheet.new(TeachingPrintables::Printing::Templates::AVERY5371)
34
+ content = %W[crow mow low slow tow boat moat goat oat float feet seat treat beep speed need steep wait train rain paint way play day say bay hay stay lay may ]
35
+ gs.make_grid(content)
36
+ gs.save_as("mygrid.pdf")
37
+ gs
67
38
  end
68
39
 
69
- def make_grid(content_array)
70
- puts grid_options
71
- @document.define_grid(grid_options)
72
- content_array.each_with_index {|obj,ind|
73
-
74
- if ind > 0 && ind%10==0
75
- @document.start_new_page
76
- end
77
-
78
- subs = ind2sub([@rows,@columns],ind%10)
79
- @document.grid(subs[0],subs[1]).bounding_box do
80
- #place_contents_in_gridbox(obj)
81
- @document.text_box obj.to_s, align: :center, valign: :center, size: @font_size, overflow: :shrink_to_fit
82
- end
83
- }
40
+ def grid_sheet_with_content(content_array)
41
+ gs = GridSheet.new(TeachingPrintables::Printing::Templates::AVERY5371)
42
+ gs.make_grid(content_array)
43
+ gs.save_as("mygrid.pdf")
44
+ puts "Sheet saved as mygrid.pdf"
84
45
  end
85
- def place_contents_in_gridbox(obj)
86
- text obj.to_s, fit: [@column_width,@row_height]
87
- end
88
-
89
- private
90
- def grid_options
91
- keys = GRID_OPTIONS_DEFAULT.keys
92
- Hash[keys.map { |key| [key.to_sym, instance_variable_get("@#{key}")] } ]
93
- end
94
-
95
- end
96
46
 
97
- class PictureGridSheet < GridSheet
98
- def place_contents_in_gridbox(picture_filename)
99
- image picture_filename, fit: [@column_width,@row_height]
100
- end
101
- end
47
+ end
48
+
102
49
 
103
50
 
104
- def test_grid_sheet
105
- gs = GridSheet.new(AVERY5371)
106
- content = %W[crow mow low slow tow boat moat goat oat float feet seat treat beep speed need steep wait train rain paint way play day say bay hay stay lay may ]
107
- gs.make_grid(content)
108
- gs.save_as("mygrid.pdf")
109
- gs
110
- end
111
51
 
112
52
 
113
53
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teaching_printables
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jen Dobson
@@ -40,12 +40,16 @@ dependencies:
40
40
  version: '0'
41
41
  description: A gem to create printable sheets for teaching
42
42
  email: jendobson@gmail.com
43
- executables: []
43
+ executables:
44
+ - flashcards_AVERY5371
44
45
  extensions: []
45
46
  extra_rdoc_files: []
46
47
  files:
47
- - lib/grid_sheet.rb
48
+ - bin/flashcards_AVERY5371
48
49
  - lib/teaching_printables.rb
50
+ - lib/teaching_printables/grid_sheet/grid_sheet.rb
51
+ - lib/teaching_printables/printing/templates.rb
52
+ - lib/teaching_printables/utilities.rb
49
53
  homepage: ''
50
54
  licenses:
51
55
  - MIT
data/lib/grid_sheet.rb DELETED
File without changes