DSL for documenting JSON structure
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
.gitignore
.ruby-version
Gemfile
README.md
Rakefile
jsondocr.gemspec

README.md

jsondocr

DSL for documenting JSON schema.

Gem Version Code Climate

Element types

  • doc
  • object (document)
  • property (field)
  • array

Usage

schema = JSONdocr::Builders::Doc.new

schema.doc do
  name "Example"
  desc "general desc"

  object :sample do
    term "Sample object (document)"
    desc "document is an alias for object"

    field :id do
      term "Unique identifier"
      type :int
    end

    field :type do
      term "Samle type"
      type :string
      validates inclusion: { in: %w{real fake other}, message: "Wrong type" }
    end

    array :list_of_documents do
      term "List of documents"
      item object do
        field :content do
          term "Document content"
          type :string
        end
      end
    end

    object :author do
      term "Object author"

      field :first_name do
        term "Author first name"
        type :string
      end

      field :last_name do
        term "Author last name"
        type :string
      end
    end
  end
end

Example

Football schema (golazon) for mongodb

https://github.com/sobstel/golazon.universo/tree/master/developer.golazon.slate/lib