examcert_exam_links 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b68abbfcf1b02e820ae148138123a8b4bdb0ee5ad3a125f88d3d32cceab655bb
4
+ data.tar.gz: 5627fb23b12f4bfd4f29b9b47ef818a0c2136709eedc4c0d1703379e877c4e42
5
+ SHA512:
6
+ metadata.gz: a310d608175ba3249bd0d118c066877edff30806e6847cc7c74f90becb379e12adedc8b8409b1855797ade74d604da2cd71e19ebf00b064e7a88edab9c708707
7
+ data.tar.gz: 5138d1b57aee607fc0b4ce42ece2eb5ee803ad66376191deee2005e2c204409d86477f32a378097e8b253926f2dcae3a68211547ae6202d9b7b85733b43696ef
data/LICENSE.txt ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ExamCert
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
data/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # examcert_exam_links
2
+
3
+ Turn an IT certification exam code into the URL of its free study guide.
4
+
5
+ ```ruby
6
+ require "examcert_exam_links"
7
+
8
+ ExamcertExamLinks.url("SY0-701")
9
+ # => "https://www.examcert.app/exams/comptia-security-plus-sy0-701/"
10
+
11
+ ExamcertExamLinks.codes
12
+ # => ["SAA-C03", "CLF-C02", ... ]
13
+ ```
14
+
15
+ Exam breakdowns, objective maps and free practice questions live at
16
+ https://www.examcert.app/
17
+
18
+ MIT licensed.
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # ExamcertExamLinks — a tiny lookup table that maps common IT certification
4
+ # exam codes to their free study-guide page on examcert.app.
5
+ #
6
+ # require "examcert_exam_links"
7
+ # ExamcertExamLinks.url("SY0-701")
8
+ # # => "https://www.examcert.app/exams/comptia-security-plus-sy0-701/"
9
+ module ExamcertExamLinks
10
+ VERSION = "0.1.0"
11
+ BASE_URL = "https://www.examcert.app"
12
+
13
+ # exam code (upper-case, no spaces) => slug on examcert.app
14
+ EXAMS = {
15
+ "SAA-C03" => "aws-saa-c03",
16
+ "CLF-C02" => "aws-clf-c02",
17
+ "DVA-C02" => "aws-dva-c02",
18
+ "SOA-C03" => "aws-soa-c03",
19
+ "SAP-C02" => "aws-sap-c02",
20
+ "AZ-104" => "azure-az-104",
21
+ "AZ-900" => "azure-az-900",
22
+ "SY0-701" => "comptia-security-plus-sy0-701",
23
+ "N10-009" => "comptia-network-plus-n10-009",
24
+ "CS0-003" => "comptia-cysa-cs0-003",
25
+ "CISSP" => "cissp",
26
+ "PMP" => "pmp",
27
+ "CCNA" => "ccna"
28
+ }.freeze
29
+
30
+ module_function
31
+
32
+ # All exam codes known to this table.
33
+ def codes
34
+ EXAMS.keys
35
+ end
36
+
37
+ # Study-guide URL for an exam code, or nil when the code is unknown.
38
+ def url(code)
39
+ slug = EXAMS[normalize(code)]
40
+ slug && "#{BASE_URL}/exams/#{slug}/"
41
+ end
42
+
43
+ # { code => url } for every known exam.
44
+ def all
45
+ EXAMS.keys.each_with_object({}) { |code, acc| acc[code] = url(code) }
46
+ end
47
+
48
+ def normalize(code)
49
+ code.to_s.strip.upcase.gsub(/\s+/, "")
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,53 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: examcert_exam_links
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - ExamCert Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-09-19 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A dependency-free lookup table that turns a certification exam code such
14
+ as SY0-701, SAA-C03, AZ-104, CISSP or PMP into the URL of its free exam breakdown
15
+ and practice-question page on examcert.app. Useful for CLI tools, chat bots and
16
+ study trackers that need to link to exam objectives.
17
+ email:
18
+ - support@examcert.app
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - LICENSE.txt
24
+ - README.md
25
+ - lib/examcert_exam_links.rb
26
+ homepage: https://www.examcert.app/
27
+ licenses:
28
+ - MIT
29
+ metadata:
30
+ homepage_uri: https://www.examcert.app/
31
+ documentation_uri: https://www.examcert.app/
32
+ changelog_uri: https://www.examcert.app/blog/
33
+ post_install_message:
34
+ rdoc_options: []
35
+ require_paths:
36
+ - lib
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.5.0
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ requirements: []
48
+ rubygems_version: 3.0.3.1
49
+ signing_key:
50
+ specification_version: 4
51
+ summary: Map IT certification exam codes (SY0-701, SAA-C03, AZ-104 ...) to their free
52
+ study-guide URL.
53
+ test_files: []