climate_pledge 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/climate_pledge.rb +54 -0
  3. metadata +99 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 44599d7ddba2caf8341eac37772ca2571824b8f38cafb33970a8c8eb0895a68b
4
+ data.tar.gz: dfeff0349792552fdedbe24d70b721cf80b8cdf8d63a10b46cb2fce2388d5e59
5
+ SHA512:
6
+ metadata.gz: c3353ba36ab26619d97d27679994fd4d017f6a8bad6c144dd5990853ea4ab4759289ad17236a692b53ec90f3ea6fffc49fc861b8b56c2c5e7c55bf84bc24eb6f
7
+ data.tar.gz: '082486e81025f412e7d77fc87db96b374ac42933ea7dfe66f3a8ef0ed6b11b8f6c6693f974d676c98f87848074dbbee74e893bdad64e354e26a6214ed77fd21b'
@@ -0,0 +1,54 @@
1
+ require "open-uri"
2
+ require "json"
3
+ require "date"
4
+
5
+ class ClimatePledge
6
+ BASE = "https://www.theclimatepledge.com"
7
+ SIGNATORY_LIST = "#{BASE}/content/amazonclimatepledge/us/en/Signatories/jcr:content/root/responsivegrid/c19_grid.signatoryList.json"
8
+
9
+ def self.signatories
10
+ json = JSON.load(URI.open(SIGNATORY_LIST))
11
+ json["signatories"]&.map(&method(:format_signatory))
12
+ end
13
+
14
+ def self.format_signatory(signatory)
15
+ {
16
+ name: signatory["name"],
17
+ logo: "#{BASE}#{signatory["logoSrc"]}",
18
+ link: "#{BASE}#{signatory["link"]}",
19
+ slug: signatory["link"]&.split("/")&.last&.split(".")&.first,
20
+ country: signatory["country"],
21
+ industry: signatory["industryTag"],
22
+ join_date: Date.parse(signatory["joinDate"])
23
+ }
24
+ end
25
+ end
26
+
27
+ # [{:name=>"Boom Supersonic",
28
+ # :logo=>"https://www.theclimatepledge.com/content/dam/amazonclimatepledge/signatory-logo/Boom - Desktop.png",
29
+ # :link=>"https://www.theclimatepledge.com/content/amazonclimatepledge/us/en/Signatories/boom-supersonic.html",
30
+ # :slug=>"boom-supersonic",
31
+ # :country=>"United States of America",
32
+ # :industry=>"Manufacturing",
33
+ # :join_date=>#<Date: 2020-11-29 ((2459183j,0s,0n),+0s,2299161j)>},
34
+ # {:name=>"Verizon",
35
+ # :logo=>"https://www.theclimatepledge.com/content/dam/amazonclimatepledge/signatory-logo/Verizon - Desktop.png",
36
+ # :link=>"https://www.theclimatepledge.com/content/amazonclimatepledge/us/en/Signatories/verizon.html",
37
+ # :slug=>"verizon",
38
+ # :country=>"United States of America",
39
+ # :industry=>"Services",
40
+ # :join_date=>#<Date: 2020-06-14 ((2459015j,0s,0n),+0s,2299161j)>},
41
+ # {:name=>"Cabify",
42
+ # :logo=>"https://www.theclimatepledge.com/content/dam/amazonclimatepledge/signatory-logo/2022/Cabify.png",
43
+ # :link=>"https://www.theclimatepledge.com/content/amazonclimatepledge/us/en/Signatories/cabify.html",
44
+ # :slug=>"cabify",
45
+ # :country=>"Spain",
46
+ # :industry=>"Transportation services",
47
+ # :join_date=>#<Date: 2020-11-29 ((2459183j,0s,0n),+0s,2299161j)>},
48
+ # {:name=>"Henkel",
49
+ # :logo=>"https://www.theclimatepledge.com/content/dam/amazonclimatepledge/signatory-logo/Henkel - Desktop.png",
50
+ # :link=>"https://www.theclimatepledge.com/content/amazonclimatepledge/us/en/Signatories/henkel.html",
51
+ # :slug=>"henkel",
52
+ # :country=>"Germany",
53
+ # :industry=>"Materials",
54
+ # :join_date=>#<Date: 2020-11-15 ((2459169j,0s,0n),+0s,2299161j)>},
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: climate_pledge
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Cam Pedersen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-04-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: open-uri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.4.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.4.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.7.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.7.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: date
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.3.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.3.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 5.22.3
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 5.22.3
69
+ description: A client for Climate Pledge data
70
+ email: cam@campedersen.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - lib/climate_pledge.rb
76
+ homepage: https://rubygems.org/gems/climate_pledge
77
+ licenses:
78
+ - MIT
79
+ metadata: {}
80
+ post_install_message:
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ requirements: []
95
+ rubygems_version: 3.5.4
96
+ signing_key:
97
+ specification_version: 4
98
+ summary: A client for Climate Pledge data
99
+ test_files: []