grobber 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0ff2b9a25b479d799168ccaaa55d1193aa740ad6
4
- data.tar.gz: 07c5730e59c28186e1af920f7f12dc4ba869397d
2
+ SHA256:
3
+ metadata.gz: 68751b57f17cc548fc044e5fdbc090bb6e81396c2b25596dcfd423023439dc6f
4
+ data.tar.gz: b94b39bfc7dcf6ce762736aebdba0ad1870017eeeeb6973e1e7457e40a2466a4
5
5
  SHA512:
6
- metadata.gz: 5e86d8772c61d8f4679b011acb81e7169477320b6d563b1ae42fc6745647008a6c45e12c8c9e59b3818be798e94f190a25e5eb15fc28e4de78c96b20ddb741f7
7
- data.tar.gz: fefe28b6d2db57e1b0fa2481724ccbc12374fbfecd56fea98d8056f10e22ef66f6cbfa7917f7634f6a9ebc17dda152c78bf30fc646f6b71344d579fd342ca69e
6
+ metadata.gz: a36e206021a0354a9544479c7d4bc4bf1304f19ce11f202fa85b2ce263ff6068ef5a958f504b738839d7b261a8949af52a7b7a00c3b255f1977692eb4c0e5d56
7
+ data.tar.gz: 483b98cfea65fcb6b5569f3b67d60d44a4d1f6630942a49142e0601d72fc0fab120f0efa6d43d2b55e02751cd123e712610f9d89dde593db1d05d13126f786ad
@@ -3,6 +3,6 @@ module Grobber
3
3
  require 'grobber/square_matrix'
4
4
  require 'grobber/image'
5
5
  require 'digest'
6
- require 'RMagick'
6
+ require 'rmagick'
7
7
 
8
8
  end
@@ -1,97 +1,101 @@
1
- class SquareMatrix
1
+ module Grobber
2
2
 
3
- attr_reader :array
3
+ class SquareMatrix
4
4
 
5
- def initialize _array
6
- check_square(_array)
7
- @array = _array
8
- end
5
+ attr_reader :array
9
6
 
10
- def each_with_coords
11
- array.each_with_index do |e, i|
12
- yield e, *coords_for(i)
7
+ def initialize _array
8
+ check_square(_array)
9
+ @array = _array
13
10
  end
14
- end
15
11
 
16
- def coords_for index
17
- [x_coord(index), y_coord(index)]
18
- end
12
+ def each_with_coords
13
+ array.each_with_index do |e, i|
14
+ yield e, *coords_for(i)
15
+ end
16
+ end
19
17
 
20
- def array_length
21
- array.length
22
- end
18
+ def coords_for index
19
+ [x_coord(index), y_coord(index)]
20
+ end
23
21
 
24
- def length
25
- length_for array
26
- end
22
+ def array_length
23
+ array.length
24
+ end
27
25
 
28
- def x_coord index
29
- index % length
30
- end
26
+ def length
27
+ length_for array
28
+ end
31
29
 
32
- def y_coord index
33
- (index / length)
34
- end
30
+ def x_coord index
31
+ index % length
32
+ end
35
33
 
36
- def index_for x, y
37
- length * y + x
38
- end
34
+ def y_coord index
35
+ (index / length)
36
+ end
39
37
 
40
- def flop_array
41
- array_length.times.map do |i|
42
- array[index_for(length - 1 - x_coord(i), y_coord(i))]
38
+ def index_for x, y
39
+ length * y + x
43
40
  end
44
- end
45
41
 
46
- def flop
47
- self.class.new flop_array
48
- end
42
+ def flop_array
43
+ array_length.times.map do |i|
44
+ array[index_for(length - 1 - x_coord(i), y_coord(i))]
45
+ end
46
+ end
49
47
 
50
- def flip_flop
51
- self.class.new flip_flop_array
52
- end
48
+ def flop
49
+ self.class.new flop_array
50
+ end
53
51
 
54
- def flip_flop_array
55
- right_add_array(flop) + flip.right_add_array(flip.flop)
56
- end
52
+ def flip_flop
53
+ self.class.new flip_flop_array
54
+ end
57
55
 
58
- def flip_array
59
- array_length.times.map do |i|
60
- array[index_for x_coord(i), length - 1 - y_coord(i)]
56
+ def flip_flop_array
57
+ right_add_array(flop) + flip.right_add_array(flip.flop)
61
58
  end
62
- end
63
59
 
64
- def flip
65
- self.class.new flip_array
66
- end
60
+ def flip_array
61
+ array_length.times.map do |i|
62
+ array[index_for x_coord(i), length - 1 - y_coord(i)]
63
+ end
64
+ end
67
65
 
68
- def right_add_array square_matrix
69
- length.times.flat_map do |i|
70
- line(i) + square_matrix.line(i)
66
+ def flip
67
+ self.class.new flip_array
71
68
  end
72
- end
73
69
 
74
- def bottom_add square_matrix
75
- end
70
+ def right_add_array square_matrix
71
+ length.times.flat_map do |i|
72
+ line(i) + square_matrix.line(i)
73
+ end
74
+ end
76
75
 
77
- def length_for array
78
- (array.length ** 0.5).to_i
79
- end
76
+ def bottom_add square_matrix
77
+ end
80
78
 
81
- def check_square array
82
- length = length_for array
83
- raise "Non Square Matrix" unless array.length == length ** 2
84
- end
79
+ def length_for array
80
+ (array.length ** 0.5).to_i
81
+ end
85
82
 
86
- def line i
87
- s_index = length * i
88
- array[s_index..s_index + length - 1]
89
- end
83
+ def check_square array
84
+ length = length_for array
85
+ raise "Non Square Matrix" unless array.length == length ** 2
86
+ end
87
+
88
+ def line i
89
+ s_index = length * i
90
+ array[s_index..s_index + length - 1]
91
+ end
90
92
 
91
- def display
92
- length.times do |i|
93
- puts line(i).to_s
93
+ def display
94
+ length.times do |i|
95
+ puts line(i).to_s
96
+ end
94
97
  end
98
+
95
99
  end
96
100
 
97
- end
101
+ end
metadata CHANGED
@@ -1,37 +1,51 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grobber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
- - Theo C
7
+ - Theo Carrive
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-08 00:00:00.000000000 Z
11
+ date: 2019-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rmagick
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '2.0'
20
- - - '>='
17
+ - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: 2.0.0
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.0
30
+ - - "~>"
28
31
  - !ruby/object:Gem::Version
29
32
  version: '2.0'
30
- - - '>='
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
31
38
  - !ruby/object:Gem::Version
32
- version: 2.0.0
39
+ version: '3.0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
33
47
  description: Generate a picture based on a string value
34
- email: superkoinkoin@gmail.com
48
+ email: theo@cheerz.com
35
49
  executables: []
36
50
  extensions: []
37
51
  extra_rdoc_files: []
@@ -49,17 +63,17 @@ require_paths:
49
63
  - lib
50
64
  required_ruby_version: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  required_rubygems_version: !ruby/object:Gem::Requirement
56
70
  requirements:
57
- - - '>='
71
+ - - ">="
58
72
  - !ruby/object:Gem::Version
59
73
  version: '0'
60
74
  requirements: []
61
75
  rubyforge_project:
62
- rubygems_version: 2.2.2
76
+ rubygems_version: 2.7.8
63
77
  signing_key:
64
78
  specification_version: 4
65
79
  summary: Grobber Generator