color_picker 0.0.5 → 0.0.7

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
2
  SHA1:
3
- metadata.gz: 3375f03aa1f80f6778494d1dd85994153d331e38
4
- data.tar.gz: c26e50dfa7751458d7e3dbf1c90a17862d161b55
3
+ metadata.gz: 338276c7547b62372b5fc078042291dba34a469a
4
+ data.tar.gz: 87dc21fa1132c001ab43fb6c9327b6b59ceb4164
5
5
  SHA512:
6
- metadata.gz: 977d7b86e719ff4abb12c9a68e5aaab72b9753964dfc346442c733178c86133215e81c7b3e342d0b8bc8bf017c62d5303910e76c28ccc5ed8a098181fff09d21
7
- data.tar.gz: f83ff755d9fc0e1551cf788adc517924a9fd9433f230b518db4cf76bb16d9af8ed0df9501b7d04ad8b07e34e760556733ba1c23ef95fa601684241ee595c3563
6
+ metadata.gz: 4c6566c21c62f54f9539040d8b111108dd42a8099a98994474f892cb63009677b62a2c94dee81dc04a4af7213e091e33799140275d55fc5838ff3ef91c8e88c5
7
+ data.tar.gz: 7d0a35424dc09d020f3bb45996e2f42291afc11fff9b18a1fc775ca85a177e8a4689e1bd83641dd71df9442ac6ac8492e92a0b9d5c581bcc036a6053ced509cf
data/CHANGELOG.md CHANGED
@@ -14,3 +14,12 @@
14
14
 
15
15
  ### VERSION 0.0.5
16
16
  * fix gem dependencies and add travis to test every build
17
+
18
+ ### VERSION 0.0.6
19
+ * test that strong colors palette return only code in the range
20
+ * add to palette a method to know the max number of colors in the palette
21
+
22
+ ### VERSION 0.0.7
23
+ * add coveralls gem and require in test suite
24
+ * add custom palette method in order to allow ser you own range
25
+ * rgb ranges only can be read
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
  gem "minitest", "~> 5.3.5"
3
3
  gem "rake"
4
+ gem "coveralls", require:false
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- color_picker
1
+ Color Picker
2
2
  ============
3
+ [![Build Status](https://travis-ci.org/bernardogalindo/color_picker.svg?branch=master)](https://travis-ci.org/bernardogalindo/color_picker)
3
4
 
4
5
  a tool to get a color based on color palette, also have a method to export to html all the color palette
@@ -16,7 +16,7 @@ module ColorPicker
16
16
  def generate
17
17
  @code = ""
18
18
  @palette.range.each_with_index do |range, index|
19
- @code += range.to_a[rand(range.size)].to_s(16)
19
+ @code += range.to_a[rand(range.size)].to_s(16).rjust(2, '0')
20
20
  end
21
21
  @code
22
22
  end
@@ -1,9 +1,10 @@
1
1
  module ColorPicker
2
2
  class Palette
3
- attr_reader :range, :range_html
4
- attr_accessor :blue_color_range, :green_color_range, :red_color_range
3
+ attr_reader :range, :range_html, :max_number_of_colors
4
+ attr_reader :blue_color_range, :green_color_range, :red_color_range
5
5
  def initialize(palette_type="complete_palette")
6
6
  @range, @blue_color_range, @green_color_range, @red_color_range = []
7
+ @max_number_of_colors=0
7
8
  @range_html = ""
8
9
  eval "#{palette_type}"
9
10
  end
@@ -13,26 +14,31 @@ module ColorPicker
13
14
  end
14
15
 
15
16
  def complete_palette
16
- @blue_color_range = 0 .. 255
17
- @green_color_range = 0 .. 255
18
17
  @red_color_range = 0 .. 255
18
+ @green_color_range = 0 .. 255
19
+ @blue_color_range = 0 .. 255
19
20
  generate_palette
20
21
  end
21
22
 
22
23
  def strong_colors
23
- @green_color_range = 0 .. 9
24
24
  @red_color_range = 0 .. 7
25
+ @green_color_range = 0 .. 9
25
26
  @blue_color_range = 0 .. 159
26
27
  generate_palette
27
28
  end
28
29
 
30
+ def custom_palette(red, green, blue)
31
+ @red_color_range = red
32
+ @green_color_range = green
33
+ @blue_color_range = blue
34
+ generate_palette
35
+ end
36
+
29
37
  def to_html
30
38
  @range_html = "<div style='width='600px'; height='auto'; float='left'; clear='both'>"
31
39
 
32
- max_number = (@red_color_range.end+1) * (@green_color_range.end+1) * (@blue_color_range.end+1)
33
-
34
- (0 .. max_number-1).each do |color_code|
35
- color_container = "<div style='background= #{color_code.to_s(16)}; border= 1px solid #000;'>&nbps;</div><div style='float= left'>#{color_code.to_s(16)}</div>"
40
+ (0 .. @max_number_of_colors).each do |color_code|
41
+ color_container = "<div style='background= ##{color_code.to_s(16)}'; border= '1px solid #000;'>&nbps;</div><div style='float= left'>#{color_code.to_s(16)}</div>"
36
42
  @range_html += color_container
37
43
  end
38
44
  @range_html += "</div>"
@@ -44,17 +50,13 @@ module ColorPicker
44
50
 
45
51
  private
46
52
  def generate_palette
47
- %w(red green blue).each do |color|
48
- eval "#{color}_color_range= #{color}_color_range.to_s(16)" unless color.is_a?(String)
49
- end
50
- @range = [@red_color_range,@green_color_range,@blue_color_range]
51
- end
52
-
53
- def get_pair
54
- (@blue_color_range.begin.to_i(16) ..@blue_color_range.end.to_i(16)).map do |n|
55
- n.to_s(16)
56
- end
53
+ max_colors
54
+ @range = [@red_color_range,@green_color_range,@blue_color_range]
57
55
  end
56
+
57
+ def max_colors
58
+ @max_number_of_colors = (@red_color_range.end+1) * (@green_color_range.end+1) * (@blue_color_range.end+1)
59
+ end
58
60
 
59
61
  end
60
62
  end
@@ -1,3 +1,3 @@
1
1
  module ColorPicker
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.7"
3
3
  end
data/test/color_test.rb CHANGED
@@ -6,7 +6,7 @@ module ColorPicker
6
6
  end
7
7
 
8
8
  def test_generate
9
- assert_match /[0..9]|[a-fA-F]{1,6}/, @color.generate
9
+ assert_match /([0-9]|[a-fA-F]){5,6}/, @color.generate
10
10
  end
11
11
 
12
12
  def test_code
@@ -24,6 +24,17 @@ module ColorPicker
24
24
  assert_equal [0..7, 0..9, 0..159], @color.palette.range
25
25
  end
26
26
 
27
+ def test_strong_colors_generate_color
28
+ @color.palette_type("strong_colors")
29
+ max_range = (@color.palette.red_color_range.end+1) * (@color.palette.green_color_range.end+1) * (@color.palette.blue_color_range.end+1)
30
+ colors = []
31
+ 10.times { colors << @color.generate }
32
+ colors.each do |color|
33
+ assert_match (/[0-7]{2}[0-9]{2}[0-9|a-fA-F]{2}/), color
34
+ end
35
+ assert_equal @color.palette.max_number_of_colors, max_range
36
+ end
37
+
27
38
  def test_method_missing
28
39
  assert_match "undefined_method", @color.palette_type("undefined_method")
29
40
  end
data/test/palette_test.rb CHANGED
@@ -12,5 +12,16 @@ module ColorPicker
12
12
  def test_strong_colors_palette
13
13
  assert_equal [0..7, 0 .. 9, 0 .. 159], @palette.strong_colors
14
14
  end
15
+
16
+ def test_to_html
17
+ skip("need to work in algorith to itereate bigger numbers")
18
+ @palette.custom_palette(0..1, 0..1, 0..1)
19
+ assert_match (/<div style='width=600px;height='auto';float='left';clear='both'><div style='background='#010101'; border='1px solid #000'> <\/div>
20
+ <div style='float=left'>010101<\/div><\/div>/), @palette.to_html
21
+ end
22
+
23
+ def test_custom_palete
24
+ assert_equal [0..1, 0..1, 0..1], @palette.custom_palette(0..1, 0..1, 0..1)
25
+ end
15
26
  end
16
27
  end
data/test/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
1
3
  require 'rake'
2
4
  require 'color_picker'
3
5
  require 'minitest/autorun'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: color_picker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernardo Galindo