Module: JsonExpressions::CoreExtensions

Included in:
Array, Hash
Defined in:
lib/json_expressions/core_extensions.rb

Instance Method Summary collapse

Instance Method Details

#forgivingObject



52
53
54
# File 'lib/json_expressions/core_extensions.rb', line 52

def forgiving
  self.clone.forgiving!
end

#forgiving!Object



64
65
66
67
68
69
70
# File 'lib/json_expressions/core_extensions.rb', line 64

def forgiving!
  if self.strict?
    raise "cannot mark a strict #{self.class} as forgiving!"
  else
    self.extend Forgiving
  end
end

#forgiving?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/json_expressions/core_extensions.rb', line 44

def forgiving?
  self.is_a? Forgiving
end

#orderedObject



16
17
18
# File 'lib/json_expressions/core_extensions.rb', line 16

def ordered
  self.clone.ordered!
end

#ordered!Object



24
25
26
27
28
29
30
# File 'lib/json_expressions/core_extensions.rb', line 24

def ordered!
  if self.unordered?
    raise "cannot mark an unordered #{self.class} as ordered!"
  else
    self.extend Ordered
  end
end

#ordered?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/json_expressions/core_extensions.rb', line 8

def ordered?
  self.is_a? Ordered
end

#strictObject



48
49
50
# File 'lib/json_expressions/core_extensions.rb', line 48

def strict
  self.clone.strict!
end

#strict!Object



56
57
58
59
60
61
62
# File 'lib/json_expressions/core_extensions.rb', line 56

def strict!
  if self.forgiving?
    raise "cannot mark a forgiving #{self.class} as strict!"
  else
    self.extend Strict
  end
end

#strict?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/json_expressions/core_extensions.rb', line 40

def strict?
  self.is_a? Strict
end

#unorderedObject



20
21
22
# File 'lib/json_expressions/core_extensions.rb', line 20

def unordered
  self.clone.unordered!
end

#unordered!Object



32
33
34
35
36
37
38
# File 'lib/json_expressions/core_extensions.rb', line 32

def unordered!
  if self.ordered?
    raise "cannot mark an ordered #{self.class} as unordered!"
  else
    self.extend Unordered
  end
end

#unordered?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/json_expressions/core_extensions.rb', line 12

def unordered?
  self.is_a? Unordered
end