)]}'
{"lib/puppet/parser/functions/os_transport_url.rb":[{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"6cbd7d71a2ba76dba5701db0de2ebfeeaedc0437","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9a629dbe_fb0eb039","updated":"2016-11-10 06:18:54.000000000","message":"would it be worth adding an explicit parameter for SSL? It could also be configured as part of the query, by adding {\u0027ssl\u0027 \u003d\u003e 1}, but it would be very convenient to have an explicit parameter that\u0027s a boolean that automatically sets the correct query correctly.","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"a2fccaf8617715fc22ee4d9f25938391f9d5cf72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9a629dbe_aab76938","in_reply_to":"9a629dbe_6f0e433c","updated":"2016-11-10 15:14:13.000000000","message":"ok i can add that","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"1044882c62595a8394c21e03a76eb739b104eff4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9a629dbe_6f0e433c","in_reply_to":"9a629dbe_6f8ba3c3","updated":"2016-11-10 15:11:49.000000000","message":"it\u0027s a query parameter, so it could look like:\nabbit://username:password@1.1.1.1:5672,username:password@2.2.2.2:5672/virtual_host?ssl\u003d1","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d01d8ad07186596c5f8205bb12b32153639e7208","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9a629dbe_6f8ba3c3","in_reply_to":"9a629dbe_fb0eb039","updated":"2016-11-10 15:09:23.000000000","message":"Not sure how does ssl work for this?  I thought ssl was a different parameter in oslo and not part of the transport url?  What does the ssl option look like in the transport_url","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"54a0feb24237218b20c442eeb5bdb9f139f3e5ef","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"  require \u0027uri\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  if (arguments.size !\u003d 1) then"},{"line_number":48,"context_line":"    raise(Puppet::ParseError, \"os_database_connection(): Wrong number of arguments \" +"},{"line_number":49,"context_line":"      \"given (#{arguments.size} for 1)\")"},{"line_number":50,"context_line":"  end"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_9772e00f","line":47,"range":{"start_line":47,"start_character":6,"end_line":47,"end_character":25},"updated":"2016-11-10 10:06:57.000000000","message":"as another option - using arity for function","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"54a0feb24237218b20c442eeb5bdb9f139f3e5ef","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  require \u0027uri\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  if (arguments.size !\u003d 1) then"},{"line_number":48,"context_line":"    raise(Puppet::ParseError, \"os_database_connection(): Wrong number of arguments \" +"},{"line_number":49,"context_line":"      \"given (#{arguments.size} for 1)\")"},{"line_number":50,"context_line":"  end"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_971bc0c9","line":48,"range":{"start_line":48,"start_character":31,"end_line":48,"end_character":53},"updated":"2016-11-10 10:06:57.000000000","message":"os_transport_url() \n\n:)","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"54a0feb24237218b20c442eeb5bdb9f139f3e5ef","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    raise(Puppet::ParseError, \"os_transport_url(): Requires an hash, got #{klass}\")"},{"line_number":57,"context_line":"  end"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  v.keys.each do |key|"},{"line_number":60,"context_line":"    klass \u003d (key \u003d\u003d \u0027hosts\u0027) ? Array : String"},{"line_number":61,"context_line":"    klass \u003d (key \u003d\u003d \u0027query\u0027) ? Hash : klass"},{"line_number":62,"context_line":"    unless (v[key].class \u003d\u003d klass) or (v[key] \u003d\u003d :undef)"},{"line_number":63,"context_line":"      raise(Puppet::ParseError, \"os_transport_url(): #{key} should be a #{klass}\")"},{"line_number":64,"context_line":"    end"},{"line_number":65,"context_line":"  end"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # defaults"},{"line_number":68,"context_line":"  parts \u003d {"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_1715f047","line":65,"range":{"start_line":59,"start_character":0,"end_line":65,"end_character":5},"updated":"2016-11-10 10:06:57.000000000","message":"not sure about this. If we need only two keys, why not check it with simple \u0027if\u0027 ? Like:\n\n  if v.keys.include?(\u0027hosts\u0027) and v[\u0027hosts\u0027].class \u003d\u003d Hash {\n    ...\n  }\n\nin this way it will be more readable, imho.\n\nAlso as i see below, i\u0027ve added checks for those parameters: do they exist or not. So, may be better to use way that i described?","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d01d8ad07186596c5f8205bb12b32153639e7208","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    raise(Puppet::ParseError, \"os_transport_url(): Requires an hash, got #{klass}\")"},{"line_number":57,"context_line":"  end"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  v.keys.each do |key|"},{"line_number":60,"context_line":"    klass \u003d (key \u003d\u003d \u0027hosts\u0027) ? Array : String"},{"line_number":61,"context_line":"    klass \u003d (key \u003d\u003d \u0027query\u0027) ? Hash : klass"},{"line_number":62,"context_line":"    unless (v[key].class \u003d\u003d klass) or (v[key] \u003d\u003d :undef)"},{"line_number":63,"context_line":"      raise(Puppet::ParseError, \"os_transport_url(): #{key} should be a #{klass}\")"},{"line_number":64,"context_line":"    end"},{"line_number":65,"context_line":"  end"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # defaults"},{"line_number":68,"context_line":"  parts \u003d {"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_efded30f","line":65,"range":{"start_line":59,"start_character":0,"end_line":65,"end_character":5},"in_reply_to":"9a629dbe_1715f047","updated":"2016-11-10 15:09:23.000000000","message":"So this is a type check for the keys, it has to loop through them all to make sure they are strings except for hosts being allow as an array and and query can be a hash.","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"291d2abc0424a9495759f61bc79f04e060db4aea","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    raise(Puppet::ParseError, \"os_transport_url(): Requires an hash, got #{klass}\")"},{"line_number":57,"context_line":"  end"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  v.keys.each do |key|"},{"line_number":60,"context_line":"    klass \u003d (key \u003d\u003d \u0027hosts\u0027) ? Array : String"},{"line_number":61,"context_line":"    klass \u003d (key \u003d\u003d \u0027query\u0027) ? Hash : klass"},{"line_number":62,"context_line":"    unless (v[key].class \u003d\u003d klass) or (v[key] \u003d\u003d :undef)"},{"line_number":63,"context_line":"      raise(Puppet::ParseError, \"os_transport_url(): #{key} should be a #{klass}\")"},{"line_number":64,"context_line":"    end"},{"line_number":65,"context_line":"  end"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # defaults"},{"line_number":68,"context_line":"  parts \u003d {"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_95f72e8a","line":65,"range":{"start_line":59,"start_character":0,"end_line":65,"end_character":5},"in_reply_to":"9a629dbe_1715f047","updated":"2016-11-10 13:43:29.000000000","message":"you\u0027ve added :D","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f10d09716396fba2e370a94e580e1b0ae6c57237","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    raise(Puppet::ParseError, \"os_transport_url(): Requires an hash, got #{klass}\")"},{"line_number":57,"context_line":"  end"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  v.keys.each do |key|"},{"line_number":60,"context_line":"    klass \u003d (key \u003d\u003d \u0027hosts\u0027) ? Array : String"},{"line_number":61,"context_line":"    klass \u003d (key \u003d\u003d \u0027query\u0027) ? Hash : klass"},{"line_number":62,"context_line":"    unless (v[key].class \u003d\u003d klass) or (v[key] \u003d\u003d :undef)"},{"line_number":63,"context_line":"      raise(Puppet::ParseError, \"os_transport_url(): #{key} should be a #{klass}\")"},{"line_number":64,"context_line":"    end"},{"line_number":65,"context_line":"  end"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # defaults"},{"line_number":68,"context_line":"  parts \u003d {"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_caec9df5","line":65,"range":{"start_line":59,"start_character":0,"end_line":65,"end_character":5},"in_reply_to":"9a629dbe_efded30f","updated":"2016-11-10 15:18:06.000000000","message":"got it yeah","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"6cbd7d71a2ba76dba5701db0de2ebfeeaedc0437","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): transport is required\u0027)"},{"line_number":76,"context_line":"  end"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  unless v.include?(\u0027host\u0027) or v.include?(\u0027hosts\u0027)"},{"line_number":79,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): host or hosts is required\u0027)"},{"line_number":80,"context_line":"  end"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  if v.include?(\u0027host\u0027) and v.include?(\u0027hosts\u0027)"},{"line_number":83,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): cannot use both host and hosts.\u0027)"},{"line_number":84,"context_line":"  end"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  if v.include?(\u0027username\u0027) and (v[\u0027username\u0027] !\u003d :undef) and (v[\u0027username\u0027].to_s !\u003d \u0027\u0027)"},{"line_number":87,"context_line":"    parts[:userinfo] \u003d URI.escape(v[\u0027username\u0027])"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_db5d6c7a","line":84,"range":{"start_line":78,"start_character":0,"end_line":84,"end_character":5},"updated":"2016-11-10 06:18:54.000000000","message":"is there a need for two parameters? why not just have one (for instance, hosts), and accept either a list (for multiple hosts) or a string.","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d01d8ad07186596c5f8205bb12b32153639e7208","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): transport is required\u0027)"},{"line_number":76,"context_line":"  end"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  unless v.include?(\u0027host\u0027) or v.include?(\u0027hosts\u0027)"},{"line_number":79,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): host or hosts is required\u0027)"},{"line_number":80,"context_line":"  end"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  if v.include?(\u0027host\u0027) and v.include?(\u0027hosts\u0027)"},{"line_number":83,"context_line":"    raise(Puppet::ParseError, \u0027os_transport_url(): cannot use both host and hosts.\u0027)"},{"line_number":84,"context_line":"  end"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  if v.include?(\u0027username\u0027) and (v[\u0027username\u0027] !\u003d :undef) and (v[\u0027username\u0027].to_s !\u003d \u0027\u0027)"},{"line_number":87,"context_line":"    parts[:userinfo] \u003d URI.escape(v[\u0027username\u0027])"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"9a629dbe_cf72ef10","line":84,"range":{"start_line":78,"start_character":0,"end_line":84,"end_character":5},"in_reply_to":"9a629dbe_db5d6c7a","updated":"2016-11-10 15:09:23.000000000","message":"Previously we supported both host and hosts for the rabbit_* parameters. Additionally I\u0027m trying to reduce the possibility of people improperly setting say hosts to an already comma seperated list and stuffing it in hosts. I think for this case it\u0027s ok to support both as they are used on two different manners. There\u0027s nothing stopping people from just using hosts themselves and stuffing a single host into an array.","commit_id":"6bac3c81387de700da6e1bfa45002aed8f3f7a20"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"05489d8aa5133274fdb9f2e7aa8d852626f28dc4","unresolved":false,"context_lines":[{"line_number":6,"context_line":"                                      :doc   \u003d\u003e \u003c\u003c-EOS"},{"line_number":7,"context_line":"This function builds a os_transport_url string from a hash of parameters."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Validate hash paramteres:"},{"line_number":10,"context_line":" * transport - (string) type of transport, \u0027rabbit\u0027 or \u0027amqp\u0027"},{"line_number":11,"context_line":" * host - (string) single host"},{"line_number":12,"context_line":" * hosts - (array) array of hosts to use"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a629dbe_3bf1dacd","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":8},"updated":"2016-11-10 23:11:03.000000000","message":"Valid ?","commit_id":"244d54835f9ad793745fad0f8e609099234129c2"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"05489d8aa5133274fdb9f2e7aa8d852626f28dc4","unresolved":false,"context_lines":[{"line_number":6,"context_line":"                                      :doc   \u003d\u003e \u003c\u003c-EOS"},{"line_number":7,"context_line":"This function builds a os_transport_url string from a hash of parameters."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Validate hash paramteres:"},{"line_number":10,"context_line":" * transport - (string) type of transport, \u0027rabbit\u0027 or \u0027amqp\u0027"},{"line_number":11,"context_line":" * host - (string) single host"},{"line_number":12,"context_line":" * hosts - (array) array of hosts to use"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a629dbe_1be6d614","line":9,"range":{"start_line":9,"start_character":14,"end_line":9,"end_character":24},"updated":"2016-11-10 23:11:03.000000000","message":"typo","commit_id":"244d54835f9ad793745fad0f8e609099234129c2"}]}
