File: config_parse_options.rb

package info (click to toggle)
ruby-hocon 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 768 kB
  • sloc: ruby: 7,903; makefile: 4
file content (77 lines) | stat: -rw-r--r-- 1,891 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# encoding: utf-8

require_relative '../hocon'

class Hocon::ConfigParseOptions
  attr_accessor :syntax, :origin_description, :allow_missing, :includer

  def self.defaults
    self.new(nil, nil, true, nil)
  end

  def initialize(syntax, origin_description, allow_missing, includer)
    @syntax = syntax
    @origin_description = origin_description
    @allow_missing = allow_missing
    @includer = includer
  end

  def set_syntax(syntax)
    if @syntax == syntax
      self
    else
      Hocon::ConfigParseOptions.new(syntax,
                                    @origin_description,
                                    @allow_missing,
                                    @includer)
    end
  end

  def set_origin_description(origin_description)
    if @origin_description == origin_description
      self
    else
      Hocon::ConfigParseOptions.new(@syntax,
                                    origin_description,
                                    @allow_missing,
                                    @includer)
    end
  end

  def set_allow_missing(allow_missing)
    if allow_missing? == allow_missing
      self
    else
      Hocon::ConfigParseOptions.new(@syntax,
                                    @origin_description,
                                    allow_missing,
                                    @includer)
    end
  end

  def allow_missing?
    @allow_missing
  end

  def set_includer(includer)
    if @includer == includer
      self
    else
      Hocon::ConfigParseOptions.new(@syntax,
                                    @origin_description,
                                    @allow_missing,
                                    includer)
    end
  end

  def append_includer(includer)
    if @includer == includer
      self
    elsif @includer
      set_includer(@includer.with_fallback(includer))
    else
      set_includer(includer)
    end
  end

end