grobber 0.0.2 → 0.0.3

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
- 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