Class: JSON::Schema::Leaf

Inherits:
Object
  • Object
show all
Defined in:
lib/json/schema/leaf.rb

Direct Known Subclasses

Array, Booelean, Integer, Null, Number, Object, String

Instance Method Summary collapse

Constructor Details

#initializeLeaf

Returns a new instance of Leaf.



5
6
7
8
9
10
# File 'lib/json/schema/leaf.rb', line 5

def initialize
  @description = nil
  @default = nil
  @enum = nil
  @required = nil
end

Instance Method Details

#default(value) ⇒ Object



16
17
18
# File 'lib/json/schema/leaf.rb', line 16

def default(value)
  tap { @default = value }
end

#description(str) ⇒ Object



12
13
14
# File 'lib/json/schema/leaf.rb', line 12

def description(str)
  tap { @description = str }
end

#enum(*values) ⇒ Object



20
21
22
# File 'lib/json/schema/leaf.rb', line 20

def enum(*values)
  tap { @enum = values }
end

#requiredObject



24
25
26
# File 'lib/json/schema/leaf.rb', line 24

def required
  tap { @required = true }
end

#required?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/json/schema/leaf.rb', line 36

def required?
  @required
end

#to_hObject



28
29
30
# File 'lib/json/schema/leaf.rb', line 28

def to_h
  {description: @description, default: @default, enum: @enum}.compact
end

#to_json(options = {}) ⇒ Object



32
33
34
# File 'lib/json/schema/leaf.rb', line 32

def to_json(options = {})
  to_h.to_json(options)
end