immosquare-colors 0.1.2 → 0.1.4

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
  SHA256:
3
- metadata.gz: be191ebe8ca8fc6ba327d3c7952f2ab2b7ddff0952bc59fcc446e965eb8a4e8d
4
- data.tar.gz: 55223fe30e04957465f4e0edc17e338e9935c2c9f98f147ddeccf9fe94921ec7
3
+ metadata.gz: 3cbf0b379ceb6c02f6fc3bbb88af75d8126dd4ec39e5fc914ae8f3190ddc13fe
4
+ data.tar.gz: 80f30f8b836f980bd51507fac5f36c0827a58573b203763fb529cc39c4cd83ef
5
5
  SHA512:
6
- metadata.gz: 4c203338acde38b263b692f77684703785b1eb910cf46ae0cb0dde11e89592952547acd945e791405416da227541d977b7f49afc4fa428d8a5ee7114d64757cb
7
- data.tar.gz: 84ec64485c278694f90917b5721927e57ff694421cfb89574fc2358bdabed16a8cb7f5c7de30b8bccab079a8011766578d912cc5ec8cd193303367acbc4ee6dc
6
+ metadata.gz: 3b7c2adde7ce4e8ab02fc2f16d68c8e12a05d083ca86e69f053df67b8f307eb3d3259e9f6b885b2965100001609cccbc3dbce55e3ed1f309b35a3cf18d719b0d
7
+ data.tar.gz: e29b267546d7626db55ec38c7a638ff86d56c6e729e736627762472aa2ee32dcf326294ed7581240323fa5a99fe6282b92fd8b235f5141b38d4d812b5ace78e3
@@ -1,3 +1,3 @@
1
1
  module ImmosquareColors
2
- VERSION = "0.1.2".freeze
2
+ VERSION = "0.1.4".freeze
3
3
  end
@@ -1,3 +1,5 @@
1
+ require "immosquare-constants"
2
+
1
3
  module ImmosquareColors
2
4
  class << self
3
5
 
@@ -44,12 +46,46 @@ module ImmosquareColors
44
46
  rgba
45
47
  end
46
48
 
49
+ ##============================================================##
50
+ ## To transform a rgba color (array) to hex
51
+ ##============================================================##
52
+ def rgba_to_hex(rgba_color)
53
+ r, g, b, a = rgba_color
54
+ hex_string = format("#%02x%02x%02x", r, g, b)
55
+ hex_string += format("%02x", (a * 255).floor) if a && a != 1.0
56
+ hex_string.upcase
57
+ end
58
+
47
59
  ##============================================================##
48
60
  ## A dictionary for mapping textual colors to colors
49
61
  ## hex
50
62
  ##============================================================##
51
63
  def color_name_to_hex(color_name)
52
- ImmosquareConstant::Color.color_name_to_hex[color_name.downcase.to_sym] || "#000000"
64
+ ImmosquareConstants::Color.color_name_to_hex(color_name.downcase.to_sym) || "#000000"
65
+ end
66
+
67
+ ##============================================================##
68
+ ## Mix color whith white (255, 255, 255)
69
+ ##============================================================##
70
+ def tint_color(color, weight)
71
+ color_hex = color.start_with?("#") ? color : color_name_to_hex(color)
72
+ r, g, b, a = hex_to_rgba(color_hex)
73
+ tinted_r = ((((100 - weight) * r) + (weight * 255)) / 100).round
74
+ tinted_g = ((((100 - weight) * g) + (weight * 255)) / 100).round
75
+ tinted_b = ((((100 - weight) * b) + (weight * 255)) / 100).round
76
+ rgba_to_hex([tinted_r, tinted_g, tinted_b, a])
77
+ end
78
+
79
+ ##============================================================##
80
+ ## Mix color whith black (0, 0, 0)
81
+ ##============================================================##
82
+ def shade_color(color, weight)
83
+ color_hex = color.start_with?("#") ? color : color_name_to_hex(color)
84
+ r, g, b, a = hex_to_rgba(color_hex)
85
+ shaded_r = ((r * (100 - weight)).round / 100)
86
+ shaded_g = ((g * (100 - weight)).round / 100)
87
+ shaded_b = ((b * (100 - weight)).round / 100)
88
+ rgba_to_hex([shaded_r, shaded_g, shaded_b, a])
53
89
  end
54
90
 
55
91
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: immosquare-colors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - IMMO SQUARE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-06 00:00:00.000000000 Z
11
+ date: 2023-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: immosquare-constants
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '0'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.1.1
22
+ version: 0.1.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '0'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.1.1
32
+ version: 0.1.3
33
33
  description: Provides methods to suggest complementary colors based on luminance,
34
34
  convert HEX to RGBA, and map named colors to HEX
35
35
  email: