Class: Takagi::Discovery::CoreLinkFormat
- Inherits:
-
Object
- Object
- Takagi::Discovery::CoreLinkFormat
- Defined in:
- lib/takagi/discovery/core_link_format.rb
Overview
Builds CoRE Link Format payloads as defined in RFC 6690.
Constant Summary collapse
- CONTENT_FORMAT =
40
Class Method Summary collapse
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(router, raw_query) ⇒ CoreLinkFormat
constructor
A new instance of CoreLinkFormat.
Constructor Details
#initialize(router, raw_query) ⇒ CoreLinkFormat
Returns a new instance of CoreLinkFormat.
16 17 18 19 |
# File 'lib/takagi/discovery/core_link_format.rb', line 16 def initialize(router, raw_query) @router = router @query = parse_query(raw_query) end |
Class Method Details
.generate(router:, request: nil) ⇒ Object
11 12 13 14 |
# File 'lib/takagi/discovery/core_link_format.rb', line 11 def self.generate(router:, request: nil) query = request&.uri&.query new(router, query).generate end |
Instance Method Details
#generate ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/takagi/discovery/core_link_format.rb', line 21 def generate resources = router.link_format_entries server_entry = server_link_entry resources << server_entry if server_entry filtered = filter_resources(resources.reject { |entry| entry.path == '/.well-known/core' }) filtered.map { |entry| format_entry(entry) }.join(',') end |