)]}'
{"pkg/document/bundle.go":[{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"e27259e5363adc9f5297a3e65954cec8de849c98","unresolved":false,"context_lines":[{"line_number":336,"context_line":""},{"line_number":337,"context_line":"// GetByObject returns document which represents k8s API object registered"},{"line_number":338,"context_line":"// in API schema"},{"line_number":339,"context_line":"func (b *BundleFactory) GetByObject(obj runtime.Object, scheme *runtime.Scheme) (Document, error) {"},{"line_number":340,"context_line":"\tgvks, _, err :\u003d scheme.ObjectKinds(obj)"},{"line_number":341,"context_line":"\tif err !\u003d nil {"},{"line_number":342,"context_line":"\t\treturn nil, err"}],"source_content_type":"text/x-go","patch_set":2,"id":"ff570b3c_ae9f8463","line":339,"range":{"start_line":339,"start_character":24,"end_line":339,"end_character":35},"updated":"2020-06-11 15:09:59.000000000","message":"i think this name may be somewhat confusing, I can envision that in future we would want to filter multiple documents of the runtime.Object, maybe it should be named something like GetOneByObject, or get GetDocumentByObject.\n\nAlso may we consider splitting this into two functions, for greater flexibility, one \"Selector.ByObject(obj runtime.Object, scheme *runtime.Scheme) Selector\" and this one would utilize this?\n\nI can imagine, that we may have multiple documents of the same runtime.Object in the bundle, and one would want to take this selector and then add ByAnnotation to it:\n\nselector :\u003d NewSelector().ByObject(obj, scheme)\ndoc :\u003d bundle.Select(selector.ByAnnotation(myAnnotation))","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"664c415eaaf4c686475f739fa91e68d9dea584a8","unresolved":false,"context_lines":[{"line_number":336,"context_line":""},{"line_number":337,"context_line":"// GetByObject returns document which represents k8s API object registered"},{"line_number":338,"context_line":"// in API schema"},{"line_number":339,"context_line":"func (b *BundleFactory) GetByObject(obj runtime.Object, scheme *runtime.Scheme) (Document, error) {"},{"line_number":340,"context_line":"\tgvks, _, err :\u003d scheme.ObjectKinds(obj)"},{"line_number":341,"context_line":"\tif err !\u003d nil {"},{"line_number":342,"context_line":"\t\treturn nil, err"}],"source_content_type":"text/x-go","patch_set":2,"id":"bf51134e_b03257f0","line":339,"range":{"start_line":339,"start_character":24,"end_line":339,"end_character":35},"in_reply_to":"ff570b3c_ae9f8463","updated":"2020-06-17 11:38:52.000000000","message":"Done. implemented as Selector method ByObject","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"e27259e5363adc9f5297a3e65954cec8de849c98","unresolved":false,"context_lines":[{"line_number":342,"context_line":"\t\treturn nil, err"},{"line_number":343,"context_line":"\t}"},{"line_number":344,"context_line":"\tif len(gvks) \u003d\u003d 0 {"},{"line_number":345,"context_line":"\t\treturn nil, fmt.Errorf(\"No Kinds for object %#v\", obj)"},{"line_number":346,"context_line":"\t}"},{"line_number":347,"context_line":"\tselector :\u003d NewSelector().ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-go","patch_set":2,"id":"ff570b3c_f3b047e0","line":345,"range":{"start_line":345,"start_character":0,"end_line":345,"end_character":56},"updated":"2020-06-11 15:09:59.000000000","message":"I think this should be in errors.go file","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"664c415eaaf4c686475f739fa91e68d9dea584a8","unresolved":false,"context_lines":[{"line_number":342,"context_line":"\t\treturn nil, err"},{"line_number":343,"context_line":"\t}"},{"line_number":344,"context_line":"\tif len(gvks) \u003d\u003d 0 {"},{"line_number":345,"context_line":"\t\treturn nil, fmt.Errorf(\"No Kinds for object %#v\", obj)"},{"line_number":346,"context_line":"\t}"},{"line_number":347,"context_line":"\tselector :\u003d NewSelector().ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-go","patch_set":2,"id":"bf51134e_305c8724","line":345,"range":{"start_line":345,"start_character":0,"end_line":345,"end_character":56},"in_reply_to":"ff570b3c_f3b047e0","updated":"2020-06-17 11:38:52.000000000","message":"Done","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"e27259e5363adc9f5297a3e65954cec8de849c98","unresolved":false,"context_lines":[{"line_number":344,"context_line":"\tif len(gvks) \u003d\u003d 0 {"},{"line_number":345,"context_line":"\t\treturn nil, fmt.Errorf(\"No Kinds for object %#v\", obj)"},{"line_number":346,"context_line":"\t}"},{"line_number":347,"context_line":"\tselector :\u003d NewSelector().ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"\taccessor, err :\u003d meta.Accessor(obj)"},{"line_number":350,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":2,"id":"ff570b3c_2e96d495","line":347,"updated":"2020-06-11 15:09:59.000000000","message":"Since we are using only first element of the slice here, i would suggest that we should check if len !\u003d 1, and throw an error saying that we don\u0027t know how to handle objects with multiple kinds, versions or groups, to make behavior predictable in this case.","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"664c415eaaf4c686475f739fa91e68d9dea584a8","unresolved":false,"context_lines":[{"line_number":344,"context_line":"\tif len(gvks) \u003d\u003d 0 {"},{"line_number":345,"context_line":"\t\treturn nil, fmt.Errorf(\"No Kinds for object %#v\", obj)"},{"line_number":346,"context_line":"\t}"},{"line_number":347,"context_line":"\tselector :\u003d NewSelector().ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"\taccessor, err :\u003d meta.Accessor(obj)"},{"line_number":350,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":2,"id":"bf51134e_703d5fba","line":347,"in_reply_to":"ff570b3c_2e96d495","updated":"2020-06-17 11:38:52.000000000","message":"Done","commit_id":"a1b8b25d89d12f5cdf4f6372871046e314baeb92"}],"pkg/document/document.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e686983f84782480ae9fcea5e2b69a88ed39b457","unresolved":false,"context_lines":[{"line_number":206,"context_line":"\t\tjson.SerializerOptions{Yaml: true, Pretty: false, Strict: false})"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"\t_, _, err \u003d yamlSerializer.Decode(y, nil, obj)"},{"line_number":209,"context_line":"\tif err !\u003d nil {"},{"line_number":210,"context_line":"\t\treturn err"},{"line_number":211,"context_line":"\t}"},{"line_number":212,"context_line":"\treturn nil"},{"line_number":213,"context_line":"}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"// NewDocument is a convenience method to construct a new Document.  Although"}],"source_content_type":"text/x-go","patch_set":4,"id":"bf51134e_f4baad6b","line":212,"range":{"start_line":209,"start_character":0,"end_line":212,"end_character":11},"updated":"2020-06-22 14:20:01.000000000","message":"nit - this can be simplified to \"return err\"","commit_id":"4c0459150e59a2058ca581ae8e3c92b86579eb57"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"d28234a7af0cb0f4fc49abc21d6d2f37797d6983","unresolved":false,"context_lines":[{"line_number":206,"context_line":"\t\tjson.SerializerOptions{Yaml: true, Pretty: false, Strict: false})"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"\t_, _, err \u003d yamlSerializer.Decode(y, nil, obj)"},{"line_number":209,"context_line":"\tif err !\u003d nil {"},{"line_number":210,"context_line":"\t\treturn err"},{"line_number":211,"context_line":"\t}"},{"line_number":212,"context_line":"\treturn nil"},{"line_number":213,"context_line":"}"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"// NewDocument is a convenience method to construct a new Document.  Although"}],"source_content_type":"text/x-go","patch_set":4,"id":"bf51134e_84afb27b","line":212,"range":{"start_line":209,"start_character":0,"end_line":212,"end_character":11},"in_reply_to":"bf51134e_f4baad6b","updated":"2020-06-23 10:00:34.000000000","message":"Done","commit_id":"4c0459150e59a2058ca581ae8e3c92b86579eb57"}],"pkg/document/selectors.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e686983f84782480ae9fcea5e2b69a88ed39b457","unresolved":false,"context_lines":[{"line_number":92,"context_line":"\tif len(gvks) !\u003d 1 {"},{"line_number":93,"context_line":"\t\treturn Selector{}, ErrRuntimeObjectKind{Obj: obj}"},{"line_number":94,"context_line":"\t}"},{"line_number":95,"context_line":"\ts \u003d s.ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"\taccessor, err :\u003d meta.Accessor(obj)"},{"line_number":98,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"bf51134e_d44de99a","line":95,"range":{"start_line":95,"start_character":1,"end_line":95,"end_character":2},"updated":"2020-06-22 14:20:01.000000000","message":"nit - I think reusing the Selector here is confusing. It\u0027d be better to just create a new Selector","commit_id":"4c0459150e59a2058ca581ae8e3c92b86579eb57"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"d28234a7af0cb0f4fc49abc21d6d2f37797d6983","unresolved":false,"context_lines":[{"line_number":92,"context_line":"\tif len(gvks) !\u003d 1 {"},{"line_number":93,"context_line":"\t\treturn Selector{}, ErrRuntimeObjectKind{Obj: obj}"},{"line_number":94,"context_line":"\t}"},{"line_number":95,"context_line":"\ts \u003d s.ByGvk(gvks[0].Group, gvks[0].Version, gvks[0].Kind)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"\taccessor, err :\u003d meta.Accessor(obj)"},{"line_number":98,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":4,"id":"bf51134e_64b41ed2","line":95,"range":{"start_line":95,"start_character":1,"end_line":95,"end_character":2},"in_reply_to":"bf51134e_d44de99a","updated":"2020-06-23 10:00:34.000000000","message":"Done","commit_id":"4c0459150e59a2058ca581ae8e3c92b86579eb57"}]}
