Class: JSON::SchemaGenerator
- Inherits:
-
Object
- Object
- JSON::SchemaGenerator
- Defined in:
- lib/json/schema_generator.rb,
lib/json/schema_generator/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
Instance Method Summary collapse
- #generate(raw_data) ⇒ Object
-
#initialize(name, version = 'draft3') ⇒ SchemaGenerator
constructor
A new instance of SchemaGenerator.
Constructor Details
#initialize(name, version = 'draft3') ⇒ SchemaGenerator
Returns a new instance of SchemaGenerator.
10 11 12 13 14 15 |
# File 'lib/json/schema_generator.rb', line 10 def initialize name, version = 'draft3' @buffer = StringIO.new @name = name @version = 'draft-03' if version == 'draft3' @version = 'draft-04' if version == 'draft4' end |
Class Method Details
.generate(name, data, version) ⇒ Object
4 5 6 7 |
# File 'lib/json/schema_generator.rb', line 4 def generate name, data, version generator = JSON::SchemaGenerator.new name, version generator.generate data end |
Instance Method Details
#generate(raw_data) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/json/schema_generator.rb', line 17 def generate raw_data # Write header @buffer.puts "{" @buffer.puts "\"$schema\": \"http://json-schema.org/#{@version}/schema#\"," @buffer.print '"description": "Generated from ' @buffer.print @name @buffer.print " with shasum " @buffer.print Digest::SHA1.hexdigest raw_data @buffer.puts '",' # data = JSON.load(raw_data) @buffer.puts create_hash(data) close result end |