]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/go-ini/ini/section.go
deps: github.com/hashicorp/terraform@sdk-v0.11-with-go-modules
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / go-ini / ini / section.go
index 45d2f3bfd002a0e8414018f40ff79c059436f747..c9fa27e9ca7c6c6260afefd41416e1d21e5814f1 100644 (file)
@@ -68,20 +68,33 @@ func (s *Section) NewKey(name, val string) (*Key, error) {
        }
 
        if inSlice(name, s.keyList) {
-               s.keys[name].value = val
+               if s.f.options.AllowShadows {
+                       if err := s.keys[name].addShadow(val); err != nil {
+                               return nil, err
+                       }
+               } else {
+                       s.keys[name].value = val
+               }
                return s.keys[name], nil
        }
 
        s.keyList = append(s.keyList, name)
-       s.keys[name] = &Key{
-               s:     s,
-               name:  name,
-               value: val,
-       }
+       s.keys[name] = newKey(s, name, val)
        s.keysHash[name] = val
        return s.keys[name], nil
 }
 
+// NewBooleanKey creates a new boolean type key to given section.
+func (s *Section) NewBooleanKey(name string) (*Key, error) {
+       key, err := s.NewKey(name, "true")
+       if err != nil {
+               return nil, err
+       }
+
+       key.isBooleanType = true
+       return key, nil
+}
+
 // GetKey returns key in section by given name.
 func (s *Section) GetKey(name string) (*Key, error) {
        // FIXME: change to section level lock?