shaf 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/shaf/link_relations.rb +77 -0
- data/lib/shaf/utils.rb +2 -2
- data/lib/shaf/version.rb +1 -1
- data/lib/shaf/yard/link_object.rb +2 -3
- data/yard_templates/api_doc/profile_attribute/html/attribute.erb +2 -1
- data/yard_templates/api_doc/resource_attribute/html/attribute.erb +2 -1
- data/yard_templates/api_doc/sidebar/html/profile_list.erb +2 -1
- data/yard_templates/api_doc/sidebar/html/serializer_list.erb +2 -1
- data.tar.gz.sig +0 -0
- metadata +18 -17
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c508aa7154d738ed2009c18256326f590917af8c24d60bfacfd5bb91613c4270
|
4
|
+
data.tar.gz: 49e9fec1c522764bb1a722623cfb49cf8de3d6d7e026355a09310a6099828711
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1d2ddda76cb3e76470f4cbc0297e72ef3c3b9c6119a12d101d999a50bc0aab37a442067ddd0cb4fdd3e698d0446982e65d199e633e46d875175e087f3bc9a61
|
7
|
+
data.tar.gz: 3d2c97ed1362ac58addf9c282e37d8754adad5a994c421d72779e4576dd91c8cbd1bbfc67689d20bf51bc20410270f61752383d36b11eb9dcbe28883c6552440
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'net/http'
|
4
|
+
require 'tempfile'
|
5
|
+
require 'uri'
|
6
|
+
require 'csv'
|
7
|
+
|
8
|
+
module Shaf
|
9
|
+
class LinkRelations
|
10
|
+
class LinkRelation
|
11
|
+
attr_reader :name, :description, :reference, :notes
|
12
|
+
|
13
|
+
def initialize(name, description, reference, notes)
|
14
|
+
@name = name.to_sym
|
15
|
+
@description = description.freeze
|
16
|
+
@reference = reference.freeze
|
17
|
+
@notes = notes.freeze
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class << self
|
22
|
+
IANA_URL = URI('https://www.iana.org/assignments/link-relations/link-relations-1.csv')
|
23
|
+
|
24
|
+
def all
|
25
|
+
relations.values
|
26
|
+
end
|
27
|
+
|
28
|
+
def get(key)
|
29
|
+
load_iana
|
30
|
+
relations[key.to_sym]
|
31
|
+
end
|
32
|
+
|
33
|
+
def add(link_relation)
|
34
|
+
relations[link_relation.name.to_sym] = link_relation
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def load_iana
|
40
|
+
return if @loaded
|
41
|
+
|
42
|
+
iana_csv.each do |name, desc, ref, notes|
|
43
|
+
next if name == 'Relation Name'
|
44
|
+
add LinkRelation.new(name, desc, ref, notes)
|
45
|
+
end
|
46
|
+
|
47
|
+
@loaded = true
|
48
|
+
end
|
49
|
+
|
50
|
+
def relations
|
51
|
+
@relations ||= {}
|
52
|
+
end
|
53
|
+
|
54
|
+
def tmp_file_name
|
55
|
+
File.join(Dir.tmpdir, 'shaf_iana_link_relations')
|
56
|
+
end
|
57
|
+
|
58
|
+
def iana_csv
|
59
|
+
CSV.new(iana_links)
|
60
|
+
end
|
61
|
+
|
62
|
+
def iana_links
|
63
|
+
return File.read(tmp_file_name) if File.readable? tmp_file_name
|
64
|
+
|
65
|
+
response = Net::HTTP.get_response(IANA_URL)
|
66
|
+
|
67
|
+
if response.code.to_i == 200
|
68
|
+
response.body.tap do |content|
|
69
|
+
File.open(tmp_file_name, 'w') { |file| file.write(content) }
|
70
|
+
end
|
71
|
+
else
|
72
|
+
Utils.iana_link_relations
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
data/lib/shaf/utils.rb
CHANGED
@@ -107,9 +107,9 @@ module Shaf
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
-
def
|
110
|
+
def iana_link_relations
|
111
111
|
zip_file = File.join(gem_root, 'iana_link_relations.csv.gz')
|
112
|
-
Zlib::GzipReader.open(zip_file) { |content|
|
112
|
+
Zlib::GzipReader.open(zip_file) { |content| content.read }
|
113
113
|
end
|
114
114
|
|
115
115
|
private
|
data/lib/shaf/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'shaf/
|
3
|
+
require 'shaf/link_relations'
|
4
4
|
|
5
5
|
module Shaf
|
6
6
|
module Yard
|
@@ -52,8 +52,7 @@ module Shaf
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def iana_doc
|
55
|
-
|
56
|
-
ApiDoc::LinkRelations[name.to_sym]&.description
|
55
|
+
LinkRelations.get(name)&.description
|
57
56
|
end
|
58
57
|
end
|
59
58
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<h4 class=description-list>
|
2
2
|
<strong> <%= object.name %></strong>
|
3
|
-
<% value_types.each do |
|
3
|
+
<% value_types.each do |value_type| %>
|
4
|
+
<% type, class_name = value_type.values_at(:type, :class_name) %>
|
4
5
|
<span class="property-source <%= class_name %>"><%= type %></span>
|
5
6
|
<% end %>
|
6
7
|
</h4>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<h4 class=description-list>
|
2
2
|
<strong> <%= object.name %></strong>
|
3
|
-
<% value_types.each do |
|
3
|
+
<% value_types.each do |value_type| %>
|
4
|
+
<% type, class_name = value_type.values_at(:type, :class_name) %>
|
4
5
|
<span class="property-source <%= class_name %>"><%= type %></span>
|
5
6
|
<% end %>
|
6
7
|
</h4>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<div id="profile-list" class="list sidebar-content <%= 'active' if profile? %>">
|
2
2
|
<ul>
|
3
|
-
<% @profiles.each do |
|
3
|
+
<% @profiles.each do |profile| %>
|
4
|
+
<% name, path = profile.values_at(:name, :path) %>
|
4
5
|
<li class="sidebar-link <%= 'active' if profile_active?(name) %>">
|
5
6
|
<a href=<%= path %> class="<%= 'active' if profile_active?(name) %>"><%= name%></a>
|
6
7
|
</li>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<div id="serializer-list" class="list sidebar-content <%= 'active' if resource? || index? %>">
|
2
2
|
<ul>
|
3
|
-
<% @resources.each do |
|
3
|
+
<% @resources.each do |resource| %>
|
4
|
+
<% name, path = resource.values_at(:name, :path) %>
|
4
5
|
<li class="sidebar-link <%= 'active' if resource_active?(name) %>">
|
5
6
|
<a href=<%= path %> class="<%= 'active' if resource_active?(name) %>"><%= name%></a>
|
6
7
|
</li>
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shaf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sammy Henningsson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDVjCCAj6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAqMSgwJgYDVQQDDB9zYW1t
|
14
|
-
|
15
|
-
|
14
|
+
eS5oZW5uaW5nc3Nvbi9EQz1oZXkvREM9Y29tMB4XDTIzMDkwMjIxMDQ1MVoXDTI1
|
15
|
+
MDkwMTIxMDQ1MVowKjEoMCYGA1UEAwwfc2FtbXkuaGVubmluZ3Nzb24vREM9aGV5
|
16
16
|
L0RDPWNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+SDC1mfyhu
|
17
17
|
cJ6Va21rIHUGscEtQrdvyBqxFG1s2TgPMAv4RbqwdJVPa7kjtbCzslADlUE1oru2
|
18
18
|
C+rcJsMtVGX02ukMIPHT1OjTyy0/EMqLqSy3WeRI8APyDSxCVbe+h5BMf3zZnYfd
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
nIxTSJpPr2cCAwEAAaOBhjCBgzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
|
23
23
|
HQ4EFgQUukjj1Cd2ea6IOHDLZe0ymzs2jWkwJAYDVR0RBB0wG4EZc2FtbXkuaGVu
|
24
24
|
bmluZ3Nzb25AaGV5LmNvbTAkBgNVHRIEHTAbgRlzYW1teS5oZW5uaW5nc3NvbkBo
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
ZXkuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAsxqfXdj/fWsDuJmENnfpYLkPJ96MS
|
26
|
+
8GcxCGRaq2k5nZlGU38tPzTm9HdOjCOouO4PthohqNQ9X7jOkSbKA/zrGGTHyao9
|
27
|
+
0URFQQ/ln3liGyjD4FsXSVZVBqbw9U0AGXh9MwatyWBj9Q679SttxCIGYJtNwtVo
|
28
|
+
jCXrgrCX+Slrrlfi7ve5Dz/V9bhl2jZrv4d2rIuMBJCHPr8sa/nobyskfYgs0v2D
|
29
|
+
Dw5VdKSj3KIY2gdwi1boraHAMinBgq6VXJczYUhdWtQln+0GFS1XHf1dBlCSZCTN
|
30
|
+
trIX62sesXxQtqAqHQHNIbWC2vP1K04nAzyw4ohA0yTAo/Hscqusp+If
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2023-09-02 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: file_transactions
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '5'
|
55
55
|
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: '5.
|
57
|
+
version: '5.19'
|
58
58
|
type: :development
|
59
59
|
prerelease: false
|
60
60
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -64,7 +64,7 @@ dependencies:
|
|
64
64
|
version: '5'
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '5.
|
67
|
+
version: '5.19'
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
69
|
name: rack-test
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,6 +304,7 @@ files:
|
|
304
304
|
- lib/shaf/helpers/payload.rb
|
305
305
|
- lib/shaf/helpers/vary.rb
|
306
306
|
- lib/shaf/immutable_attr.rb
|
307
|
+
- lib/shaf/link_relations.rb
|
307
308
|
- lib/shaf/logger.rb
|
308
309
|
- lib/shaf/middleware/request_id.rb
|
309
310
|
- lib/shaf/parser.rb
|
@@ -452,13 +453,13 @@ files:
|
|
452
453
|
- yard_templates/api_doc/sidebar/html/serializer_list.erb
|
453
454
|
- yard_templates/api_doc/sidebar/html/sidebar.erb
|
454
455
|
- yard_templates/api_doc/sidebar/setup.rb
|
455
|
-
homepage:
|
456
|
+
homepage:
|
456
457
|
licenses:
|
457
458
|
- MIT
|
458
459
|
metadata:
|
459
460
|
changelog_uri: https://github.com/sammyhenningsson/shaf/blob/master/CHANGELOG.md
|
460
461
|
homepage_uri: https://github.com/sammyhenningsson/shaf
|
461
|
-
post_install_message:
|
462
|
+
post_install_message:
|
462
463
|
rdoc_options: []
|
463
464
|
require_paths:
|
464
465
|
- lib
|
@@ -473,8 +474,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
473
474
|
- !ruby/object:Gem::Version
|
474
475
|
version: '0'
|
475
476
|
requirements: []
|
476
|
-
rubygems_version: 3.
|
477
|
-
signing_key:
|
477
|
+
rubygems_version: 3.4.18
|
478
|
+
signing_key:
|
478
479
|
specification_version: 4
|
479
480
|
summary: Sinatra Hypermedia Api Framework
|
480
481
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|