statuscodefyi 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 +7 -0
- data/lib/statuscodefyi.rb +134 -0
- metadata +47 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: aa22f020198a7e849a1a605d2ef0ea48a98ee51c6915a4d0abb906ab86a48a41
|
|
4
|
+
data.tar.gz: 1d11df859db69b3d6cd0980ad42d4cbec29258a963a524e42747016f29ad2206
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 87f11d2639c25339c049f30e05804780c0e6422e6648133d79a6983b0a84a0833df920cf0d7fc42edbef789ad3b6c34702a327dde724a706799cf5d6c2e5508f
|
|
7
|
+
data.tar.gz: '08d97dd0942af11b529792621e6d2cb14c04c42d235cad4d4c4693542e5a9968fc5eacf5e3110f02fd77a530987c8bca92263af4e67d5da61f5c7a215ec6ab01'
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "net/http"
|
|
4
|
+
require "json"
|
|
5
|
+
require "uri"
|
|
6
|
+
|
|
7
|
+
# Ruby client for StatusCodeFYI REST API (statuscodefyi.com).
|
|
8
|
+
#
|
|
9
|
+
# client = StatusCodeFYI::Client.new
|
|
10
|
+
# result = client.search("query")
|
|
11
|
+
#
|
|
12
|
+
module StatusCodeFYI
|
|
13
|
+
class Client
|
|
14
|
+
BASE_URL = "https://statuscodefyi.com"
|
|
15
|
+
|
|
16
|
+
def initialize(base_url: BASE_URL)
|
|
17
|
+
@base_url = base_url
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def search(query)
|
|
21
|
+
get("/api/v1/rest/search/", q: query)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# List all articles.
|
|
25
|
+
def list_articles
|
|
26
|
+
get("/api/v1/rest/articles/")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Get article by slug.
|
|
30
|
+
def get_article(slug)
|
|
31
|
+
get("/api/v1/rest/articles/#{slug}/")
|
|
32
|
+
end
|
|
33
|
+
# List all content series.
|
|
34
|
+
def list_content_series
|
|
35
|
+
get("/api/v1/rest/content-series/")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Get content sery by slug.
|
|
39
|
+
def get_content_sery(slug)
|
|
40
|
+
get("/api/v1/rest/content-series/#{slug}/")
|
|
41
|
+
end
|
|
42
|
+
# List all decision trees.
|
|
43
|
+
def list_decision_trees
|
|
44
|
+
get("/api/v1/rest/decision-trees/")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Get decision tree by slug.
|
|
48
|
+
def get_decision_tree(slug)
|
|
49
|
+
get("/api/v1/rest/decision-trees/#{slug}/")
|
|
50
|
+
end
|
|
51
|
+
# List all faqs.
|
|
52
|
+
def list_faqs
|
|
53
|
+
get("/api/v1/rest/faqs/")
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Get faq by slug.
|
|
57
|
+
def get_faq(slug)
|
|
58
|
+
get("/api/v1/rest/faqs/#{slug}/")
|
|
59
|
+
end
|
|
60
|
+
# List all glossary categories.
|
|
61
|
+
def list_glossary_categories
|
|
62
|
+
get("/api/v1/rest/glossary-categories/")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Get glossary category by slug.
|
|
66
|
+
def get_glossary_category(slug)
|
|
67
|
+
get("/api/v1/rest/glossary-categories/#{slug}/")
|
|
68
|
+
end
|
|
69
|
+
# List all glossary terms.
|
|
70
|
+
def list_glossary_terms
|
|
71
|
+
get("/api/v1/rest/glossary-terms/")
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Get glossary term by slug.
|
|
75
|
+
def get_glossary_term(slug)
|
|
76
|
+
get("/api/v1/rest/glossary-terms/#{slug}/")
|
|
77
|
+
end
|
|
78
|
+
# List all protocols.
|
|
79
|
+
def list_protocols
|
|
80
|
+
get("/api/v1/rest/protocols/")
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Get protocol by slug.
|
|
84
|
+
def get_protocol(slug)
|
|
85
|
+
get("/api/v1/rest/protocols/#{slug}/")
|
|
86
|
+
end
|
|
87
|
+
# List all scenarios.
|
|
88
|
+
def list_scenarios
|
|
89
|
+
get("/api/v1/rest/scenarios/")
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Get scenario by slug.
|
|
93
|
+
def get_scenario(slug)
|
|
94
|
+
get("/api/v1/rest/scenarios/#{slug}/")
|
|
95
|
+
end
|
|
96
|
+
# List all specifications.
|
|
97
|
+
def list_specifications
|
|
98
|
+
get("/api/v1/rest/specifications/")
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Get specification by slug.
|
|
102
|
+
def get_specification(slug)
|
|
103
|
+
get("/api/v1/rest/specifications/#{slug}/")
|
|
104
|
+
end
|
|
105
|
+
# List all status categories.
|
|
106
|
+
def list_status_categories
|
|
107
|
+
get("/api/v1/rest/status-categories/")
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Get status category by slug.
|
|
111
|
+
def get_status_category(slug)
|
|
112
|
+
get("/api/v1/rest/status-categories/#{slug}/")
|
|
113
|
+
end
|
|
114
|
+
# List all status codes.
|
|
115
|
+
def list_status_codes
|
|
116
|
+
get("/api/v1/rest/status-codes/")
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Get status code by slug.
|
|
120
|
+
def get_status_code(slug)
|
|
121
|
+
get("/api/v1/rest/status-codes/#{slug}/")
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
private
|
|
125
|
+
|
|
126
|
+
def get(path, **params)
|
|
127
|
+
uri = URI.join(@base_url, path)
|
|
128
|
+
uri.query = URI.encode_www_form(params) unless params.empty?
|
|
129
|
+
response = Net::HTTP.get_response(uri)
|
|
130
|
+
raise "HTTP #{response.code}" unless response.is_a?(Net::HTTPSuccess)
|
|
131
|
+
JSON.parse(response.body)
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: statuscodefyi
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- FYIPedia
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-03-21 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: Ruby client for the StatusCodeFYI REST API at statuscodefyi.com. Zero
|
|
14
|
+
external dependencies.
|
|
15
|
+
email: dev@fyipedia.com
|
|
16
|
+
executables: []
|
|
17
|
+
extensions: []
|
|
18
|
+
extra_rdoc_files: []
|
|
19
|
+
files:
|
|
20
|
+
- lib/statuscodefyi.rb
|
|
21
|
+
homepage: https://statuscodefyi.com
|
|
22
|
+
licenses:
|
|
23
|
+
- MIT
|
|
24
|
+
metadata:
|
|
25
|
+
source_code_uri: https://github.com/fyipedia/statuscodefyi-rb
|
|
26
|
+
documentation_uri: https://statuscodefyi.com/api/v1/schema/
|
|
27
|
+
homepage_uri: https://statuscodefyi.com
|
|
28
|
+
post_install_message:
|
|
29
|
+
rdoc_options: []
|
|
30
|
+
require_paths:
|
|
31
|
+
- lib
|
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
33
|
+
requirements:
|
|
34
|
+
- - ">="
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: '3.0'
|
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '0'
|
|
42
|
+
requirements: []
|
|
43
|
+
rubygems_version: 3.0.3.1
|
|
44
|
+
signing_key:
|
|
45
|
+
specification_version: 4
|
|
46
|
+
summary: Ruby client for StatusCodeFYI API
|
|
47
|
+
test_files: []
|