Module: HCL::Checker

Defined in:
lib/hcl/checker.rb,
lib/hcl/checker/parser.rb,
lib/hcl/checker/version.rb

Defined Under Namespace

Classes: Lexer, Parser

Constant Summary collapse

VALID_DUPLICATE_MODES =
%i(array merge).freeze
VERSION =
'1.6.3'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.last_errorObject

Returns the value of attribute last_error.



10
11
12
# File 'lib/hcl/checker.rb', line 10

def last_error
  @last_error
end

Class Method Details

.parse(value, duplicate_mode = :array) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/hcl/checker.rb', line 23

def parse(value, duplicate_mode = :array)
  raise ArgumentError, "Invalid duplicate mode #{duplicate_mode}, must be one of #{VALID_DUPLICATE_MODES}" unless VALID_DUPLICATE_MODES.include?(duplicate_mode)

  HCL::Checker::Parser.new.parse(value, duplicate_mode)
rescue Racc::ParseError => e
  @last_error = e.message

  e.message
end

.valid?(value) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
# File 'lib/hcl/checker.rb', line 12

def valid?(value)
  ret = HCL::Checker::Parser.new.parse(value)
  return true if ret.is_a? Hash

  false
rescue Racc::ParseError => e
  @last_error = e.message

  false
end