Add DiasporaFederation::Schemas to access JSON schema
This commit is contained in:
parent
1c8f656b46
commit
93e18e1a79
4 changed files with 33 additions and 2 deletions
|
|
@ -15,5 +15,5 @@ Gem::Specification.new do |s|
|
||||||
"validating JSON serialized federation objects."
|
"validating JSON serialized federation objects."
|
||||||
s.license = "AGPL-3.0"
|
s.license = "AGPL-3.0"
|
||||||
|
|
||||||
s.files = Dir["lib/diaspora_federation/schemas/*.json"]
|
s.files = Dir["lib/diaspora_federation/schemas.rb", "lib/diaspora_federation/schemas/*.json"]
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@ Gem::Specification.new do |s|
|
||||||
s.license = "AGPL-3.0"
|
s.license = "AGPL-3.0"
|
||||||
|
|
||||||
s.files = Dir["lib/**/*", "LICENSE", "README.md", "Changelog.md"] -
|
s.files = Dir["lib/**/*", "LICENSE", "README.md", "Changelog.md"] -
|
||||||
Dir["lib/diaspora_federation/{engine,rails,test}.rb",
|
Dir["lib/diaspora_federation/{engine,rails,schemas,test}.rb",
|
||||||
|
"lib/diaspora_federation/schemas/*",
|
||||||
"lib/diaspora_federation/test/*",
|
"lib/diaspora_federation/test/*",
|
||||||
"lib/tasks/*.rake"]
|
"lib/tasks/*.rake"]
|
||||||
|
|
||||||
|
|
|
||||||
17
lib/diaspora_federation/schemas.rb
Normal file
17
lib/diaspora_federation/schemas.rb
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
require "pathname"
|
||||||
|
require "json"
|
||||||
|
|
||||||
|
module DiasporaFederation
|
||||||
|
# A helper class to access the JSON schema.
|
||||||
|
module Schemas
|
||||||
|
# federation_entities schema uri
|
||||||
|
FEDERATION_ENTITIES_URI = "https://diaspora.github.io/diaspora_federation/schemas/federation_entities.json".freeze
|
||||||
|
|
||||||
|
# Parsed federation_entities schema
|
||||||
|
def self.federation_entities
|
||||||
|
@federation_entities ||= JSON.parse(
|
||||||
|
Pathname.new(__dir__).join("schemas", "federation_entities.json").read
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
13
spec/lib/diaspora_federation/schemas_spec.rb
Normal file
13
spec/lib/diaspora_federation/schemas_spec.rb
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
require "diaspora_federation/schemas"
|
||||||
|
|
||||||
|
module DiasporaFederation
|
||||||
|
describe Schemas do
|
||||||
|
describe ".federation_entities" do
|
||||||
|
it "returns the parsed federation_entities JSON schema" do
|
||||||
|
schema = DiasporaFederation::Schemas.federation_entities
|
||||||
|
expect(schema).to be_a(Hash)
|
||||||
|
expect(schema["id"]).to eq(DiasporaFederation::Schemas::FEDERATION_ENTITIES_URI)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in a new issue