github.com/altipla-consulting/ravendb-go-client@v0.1.3/more_like_this_scope.go (about) 1 package ravendb 2 3 type moreLikeThisScope struct { 4 token *moreLikeThisToken 5 addQueryParameter func(interface{}) string 6 onDispose func() 7 } 8 9 func newMoreLikeThisScope(token *moreLikeThisToken, addQueryParameter func(interface{}) string, onDispose func()) *moreLikeThisScope { 10 return &moreLikeThisScope{ 11 token: token, 12 addQueryParameter: addQueryParameter, 13 onDispose: onDispose, 14 } 15 } 16 17 func (s *moreLikeThisScope) Close() { 18 if s.onDispose != nil { 19 s.onDispose() 20 } 21 } 22 23 func (s *moreLikeThisScope) withOptions(options *MoreLikeThisOptions) { 24 if options == nil { 25 return 26 } 27 28 // force using *non* entity serializer here: 29 optionsAsJson := valueToTree(options) 30 s.token.optionsParameterName = s.addQueryParameter(optionsAsJson) 31 } 32 33 func (s *moreLikeThisScope) withDocument(document string) { 34 s.token.documentParameterName = s.addQueryParameter(document) 35 }