compass-colors 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- :patch: 1
3
- :major: 0
4
- :minor: 2
5
2
  :build:
3
+ :major: 0
4
+ :minor: 3
5
+ :patch: 0
@@ -4,28 +4,44 @@ module Sass::Script::Functions
4
4
  # Takes a color object and amount by which to lighten it (0 to 100).
5
5
  def lighten(color, amount)
6
6
  hsl = Compass::Colors::HSL.from_color(color)
7
- hsl.l += (1 - hsl.l) * (amount.value / 100.0)
7
+ if percentage?(amount)
8
+ hsl.l += (1 - hsl.l) * (amount.value / 100.0)
9
+ else
10
+ hsl.l += amount.value
11
+ end
8
12
  hsl.to_color
9
13
  end
10
14
 
11
15
  # Takes a color object and amount by which to darken it (0 to 100).
12
16
  def darken(color, amount)
13
17
  hsl = Compass::Colors::HSL.from_color(color)
14
- hsl.l *= 1.0 - (amount.value / 100.0)
18
+ if percentage?(amount)
19
+ hsl.l *= 1.0 - (amount.value / 100.0)
20
+ else
21
+ hsl.l -= amount.value
22
+ end
15
23
  hsl.to_color
16
24
  end
17
25
 
18
26
  # Saturate (make a color "richer") a color by the given amount (0 to 100)
19
27
  def saturate(color, amount)
20
28
  hsl = Compass::Colors::HSL.from_color(color)
21
- hsl.s += (1 - hsl.s) * (amount.value / 100.0)
29
+ if percentage?(amount)
30
+ hsl.s += (1 - hsl.s) * (amount.value / 100.0)
31
+ else
32
+ hsl.s += amount.value
33
+ end
22
34
  hsl.to_color
23
35
  end
24
36
 
25
37
  # Desaturate (make a color "grayer") a color by the given amount (0 to 100)
26
38
  def desaturate(color, amount)
27
39
  hsl = Compass::Colors::HSL.from_color(color)
28
- hsl.s *= (1.0 - (amount.value / 100.0))
40
+ if percentage?(amount)
41
+ hsl.s *= (1.0 - (amount.value / 100.0))
42
+ else
43
+ hsl.s -= amount.value
44
+ end
29
45
  hsl.to_color
30
46
  end
31
47
 
@@ -70,4 +86,10 @@ module Sass::Script::Functions
70
86
  adjust_hue color, 180
71
87
  end
72
88
 
89
+ private
90
+
91
+ def percentage?(amount)
92
+ amount.numerator_units == ["%"] || (amount.unitless? && amount.value > 1 && amount.value < 100)
93
+ end
94
+
73
95
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-colors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Eppstein
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-20 00:00:00 -07:00
12
+ date: 2009-11-14 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency