colorable 0.2.0 → 0.2.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: a4005fd6c6a2f7c11c4331bfc96f906c06bce741
4
- data.tar.gz: 9af36345b9fa55dbaeb639e7c494c25ebd042ece
3
+ metadata.gz: c4a11c6f3fb1a54f8c2e393a5f055572dbd0887d
4
+ data.tar.gz: d9c5156517029fa6f26b51082da71f0f90d7ca14
5
5
  SHA512:
6
- metadata.gz: b6645965c7f1971d803610d21763cbd120f517d2cc2b782a3c4e10e3d8fc64e19f2e95a2bc126288dfbb2a362fb0ac620216bc603f0c743f978ba691491c4004
7
- data.tar.gz: 969e6b784f5529f579eb9f0364378be285bff790ca81c2b47e45fe8bdc413a83a33fd5452139953c92ad08966987610927c910024ea0fbad4f023fbb360f7bbb
6
+ metadata.gz: d88df4e59bc8eddc1d255eacb7fda91d2015b4da13b23627914b92e94079b4090a3484350ffc72463521050c5866cf1d2131cbb236a3155a41dc61671fe1d3b0
7
+ data.tar.gz: c643c0df11f2a2105fac14f7741e5af307c4c4d6da31293141ac11f814d45ae3ea5a1a46c35e4d91ae9ce03296210ff2c6a55940995593ace0902eaedb0335b8
data/README.md CHANGED
@@ -120,7 +120,7 @@ Color mode:
120
120
  c + [15, -20, -74] # => #<Colorable::Color 'Moccasin<rgb(255,228,181)/hsb(39,29,100)/#FFE4B5>'>
121
121
  c - 20 # => #<Colorable::Color '<rgb(220,228,235)/hsb(208,6,92)/#DCE4EB>'>
122
122
 
123
- c.mode = :HSB # !> `*' interpreted as argument prefix
123
+ c.mode = :HSB
124
124
  c.to_s # => "hsb(208,6,100)"
125
125
  c.next # => #<Colorable::Color 'Slate Gray<rgb(112,128,144)/hsb(210,22,56)/#708090>'>
126
126
  c + [152, 94, 0] # => #<Colorable::Color 'Red<rgb(255,0,0)/hsb(0,100,100)/#FF0000>'>
@@ -12,10 +12,10 @@ module Colorable
12
12
 
13
13
  end
14
14
 
15
- [String, Symbol, Array, Fixnum].each do |klass|
15
+ [String, Symbol, Array, Integer].each do |klass|
16
16
  klass.class_eval do
17
17
  define_method(:to_color) do
18
- Colorable::Color.new (klass==Fixnum ? self.to_s(16) : self)
18
+ Colorable::Color.new (klass==Integer ? self.to_s(16) : self)
19
19
  end
20
20
  end
21
21
  end
@@ -1,6 +1,5 @@
1
1
  module Colorable
2
2
  class Color
3
- class NameError < StandardError; end
4
3
  include Comparable
5
4
 
6
5
  # Create a Color object which has several representations of a color.
@@ -122,7 +121,7 @@ module Colorable
122
121
  #
123
122
  # +other+ can be:
124
123
  # Color object: apply minimum compositing with its RGBs.
125
- # Array of values or Fixnum: addiction applies based on its color mode.
124
+ # Array of values or Integer: addiction applies based on its color mode.
126
125
  def +(other)
127
126
  case other
128
127
  when Color
@@ -136,7 +135,7 @@ module Colorable
136
135
  #
137
136
  # +other+ can be:
138
137
  # Color object: apply maximum compositing with its RGBs.
139
- # Array of values or Fixnum: subtruction applies based on its color mode.
138
+ # Array of values or Integer: subtruction applies based on its color mode.
140
139
  def -(other)
141
140
  case other
142
141
  when Color
@@ -227,4 +226,4 @@ module Colorable
227
226
  self.class.new(rgb).tap { |c| c.mode = self.mode }
228
227
  end
229
228
  end
230
- end
229
+ end
@@ -17,7 +17,7 @@ module Colorable
17
17
  end
18
18
 
19
19
  def -(arg)
20
- arg = arg.is_a?(Fixnum) ? -arg : arg.map(&:-@)
20
+ arg = arg.is_a?(Integer) ? -arg : arg.map(&:-@)
21
21
  self + arg
22
22
  end
23
23
 
@@ -55,7 +55,7 @@ module Colorable
55
55
  # +other+ can be:
56
56
  # RGB object: apply minimum compositing.
57
57
  # Array of RGB values: each values added to each of RGBs.
58
- # Fixnum: other number added to all of RGBs.
58
+ # Integer: other number added to all of RGBs.
59
59
  def +(other)
60
60
  rgb =
61
61
  case other
@@ -64,7 +64,7 @@ module Colorable
64
64
  when Array
65
65
  raise ArgumentError, "Invalid size of Array given" unless other.size==3
66
66
  compound_by(other) { |a, b| (a + b) % 256 }
67
- when Fixnum
67
+ when Integer
68
68
  compound_by([other] * 3) { |a, b| (a + b) % 256 }
69
69
  else
70
70
  raise ArgumentError, "Invalid argument given"
@@ -77,7 +77,7 @@ module Colorable
77
77
  # +other+ can be:
78
78
  # RGB object: apply maximum compositing.
79
79
  # Array of RGB values: each values added to each of RGBs.
80
- # Fixnum: other number added to all of RGBs.
80
+ # Integer: other number added to all of RGBs.
81
81
  def -(other)
82
82
  case other
83
83
  when RGB
@@ -133,6 +133,7 @@ module Colorable
133
133
  class HSB < ColorSpace
134
134
  attr_accessor :hsb, :h, :s, :b
135
135
  def initialize(h=0,s=0,b=0)
136
+ h=0 if h==360
136
137
  @h, @s, @b = @hsb = validate_hsb([h, s, b])
137
138
  end
138
139
  alias :hue :h
@@ -141,7 +142,7 @@ module Colorable
141
142
  alias :to_a :hsb
142
143
  undef :coerce
143
144
 
144
- # Pass Array of [h, s, b] or a Fixnum.
145
+ # Pass Array of [h, s, b] or a Integer.
145
146
  # Returns new HSB object with added HSB.
146
147
  def +(arg)
147
148
  arg =
@@ -232,12 +233,12 @@ module Colorable
232
233
  def build_hex_with(op, arg)
233
234
  _rgb =
234
235
  case arg
235
- when Fixnum
236
+ when Integer
236
237
  [arg] * 3
237
238
  when String
238
239
  hex2rgb(validate_hex arg)
239
240
  else
240
- raise ArgumentError, "Accept only a Hex string or a Fixnum"
241
+ raise ArgumentError, "Accept only a Hex string or a Integer"
241
242
  end
242
243
  rgb = hex2rgb(self.hex).zip(_rgb).map { |x, y| (x.send(op, y)) % 256 }
243
244
  self.class.new rgb2hex(rgb)
@@ -267,13 +268,13 @@ module Colorable
267
268
  end
268
269
 
269
270
  def +(n)
270
- raise ArgumentError, 'Only accept a Fixnum' unless n.is_a?(Fixnum)
271
+ raise ArgumentError, 'Only accept a Integer' unless n.is_a?(Integer)
271
272
  pos = COLORNAMES.find_index{|n,_| n==self.name} + n
272
273
  self.class.new COLORNAMES.at(pos % COLORNAMES.size)[0]
273
274
  end
274
275
 
275
276
  def -(n)
276
- raise ArgumentError, 'Only accept a Fixnum' unless n.is_a?(Fixnum)
277
+ raise ArgumentError, 'Only accept a Integer' unless n.is_a?(Integer)
277
278
  self + -n
278
279
  end
279
280
 
@@ -300,6 +301,6 @@ module Colorable
300
301
  } || begin
301
302
  raise ArgumentError, "'#{name}' is not in X11 colorset."
302
303
  end
303
- end
304
+ end
304
305
  end
305
- end
306
+ end
@@ -1,3 +1,3 @@
1
1
  module Colorable
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -51,7 +51,7 @@ describe RGB do
51
51
  end
52
52
  end
53
53
 
54
- context "pass a Fixnum" do
54
+ context "pass a Integer" do
55
55
  before(:all) { @rgb = RGB.new(100, 100, 100) }
56
56
  it { (@rgb + 50).rgb.should eql [150, 150, 150] }
57
57
  it "not raise ArgumentError" do
@@ -59,7 +59,7 @@ describe RGB do
59
59
  end
60
60
  end
61
61
 
62
- context "coerce make Fixnum#+ accept rgb object" do
62
+ context "coerce make Integer#+ accept rgb object" do
63
63
  it { (10 + RGB.new(100, 100, 100)).rgb.should eql [110, 110, 110] }
64
64
  end
65
65
 
@@ -93,7 +93,7 @@ describe RGB do
93
93
  end
94
94
  end
95
95
 
96
- context "pass a Fixnum" do
96
+ context "pass a Integer" do
97
97
  before(:all) { @rgb = RGB.new(100, 100, 100) }
98
98
  it { (@rgb - 50).rgb.should eql [50, 50, 50] }
99
99
  it "not raise ArgumentError" do
@@ -270,13 +270,13 @@ describe NAME do
270
270
  end
271
271
  end
272
272
 
273
- context "pass a Fixnum" do
273
+ context "pass a Integer" do
274
274
  before(:all) { @name = NAME.new(:alice_blue) }
275
275
  it { (@name + 1).name.should eql 'Antique White' }
276
276
  it { (@name + 2).name.should eql 'Aqua' }
277
277
  end
278
278
 
279
- context "coerce make Fixnum#+ accept name object" do
279
+ context "coerce make Integer#+ accept name object" do
280
280
  it { (1 + NAME.new(:alice_blue)).to_s.should eql 'Antique White' }
281
281
  end
282
282
  end
@@ -288,13 +288,13 @@ describe NAME do
288
288
  end
289
289
  end
290
290
 
291
- context "pass a Fixnum" do
291
+ context "pass a Integer" do
292
292
  before(:all) { @name = NAME.new(:alice_blue) }
293
293
  it { (@name - 1).name.should eql 'Yellow Green' }
294
294
  it { (@name - 2).name.should eql 'Yellow' }
295
295
  end
296
296
 
297
- context "coerce make Fixnum#+ accept name object" do
297
+ context "coerce make Integer#+ accept name object" do
298
298
  it { (1 - NAME.new(:alice_blue)).to_s.should eql 'Yellow Green' }
299
299
  end
300
300
  end
@@ -361,7 +361,7 @@ describe HEX do
361
361
  end
362
362
  end
363
363
 
364
- context "pass a Fixnum" do
364
+ context "pass a Integer" do
365
365
  before(:all) { @hex = HEX.new('#000000') }
366
366
  it { (@hex + 255).hex.should eql '#FFFFFF' }
367
367
  it "not raise ArgumentError" do
@@ -369,7 +369,7 @@ describe HEX do
369
369
  end
370
370
  end
371
371
 
372
- context "coerce make Fixnum#+ accept hex object" do
372
+ context "coerce make Integer#+ accept hex object" do
373
373
  it { (255 + HEX.new('#000000')).hex.should eql '#FFFFFF' }
374
374
  end
375
375
  end
@@ -397,7 +397,7 @@ describe HEX do
397
397
  end
398
398
  end
399
399
 
400
- context "pass a Fixnum" do
400
+ context "pass a Integer" do
401
401
  before(:all) { @hex = HEX.new('#FFFFFF') }
402
402
  it { (@hex - 255).hex.should eql '#000000' }
403
403
  it "not raise ArgumentError" do
@@ -405,7 +405,7 @@ describe HEX do
405
405
  end
406
406
  end
407
407
 
408
- context "coerce make Fixnum#+ accept hex object" do
408
+ context "coerce make Integer#+ accept hex object" do
409
409
  it { (255 - HEX.new('#FFFFFF')).hex.should eql '#000000' }
410
410
  end
411
411
  end
@@ -51,14 +51,14 @@ describe Colorable do
51
51
  end
52
52
  end
53
53
 
54
- describe "Fixnum#to_color" do
55
- context "apply a hex Fixnum" do
54
+ describe "Integer#to_color" do
55
+ context "apply a hex Integer" do
56
56
  subject { 0x32CD32.to_color }
57
57
  it { should be_instance_of Colorable::Color }
58
58
  its(:to_s) { should eql "#32CD32" }
59
59
  end
60
60
 
61
- context "apply a invalid Fixnum" do
61
+ context "apply a invalid Integer" do
62
62
  it "raise ArgumentError" do
63
63
  expect { 323232.to_color }.to raise_error ArgumentError
64
64
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: colorable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kyoendo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-14 00:00:00.000000000 Z
11
+ date: 2018-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  description: A simple color handler which provide a conversion between colorname,
@@ -32,7 +32,7 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - .gitignore
35
+ - ".gitignore"
36
36
  - Gemfile
37
37
  - LICENSE.txt
38
38
  - README.md
@@ -60,17 +60,17 @@ require_paths:
60
60
  - lib
61
61
  required_ruby_version: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - '>='
63
+ - - ">="
64
64
  - !ruby/object:Gem::Version
65
65
  version: 1.9.3
66
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  requirements: []
72
72
  rubyforge_project:
73
- rubygems_version: 2.0.3
73
+ rubygems_version: 2.6.13
74
74
  signing_key:
75
75
  specification_version: 4
76
76
  summary: A simple color handler which provide a conversion between colorname, RGB,