{"action":"created","comment":{"url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/comments/78712072","id":78712072,"diff_hunk":"@@ -0,0 +1,77 @@\n+#\n+# Copyright 2016, SUSE Linux GmbH\n+#\n+# Licensed under the Apache License, Version 2.0 (the \"License\");\n+# you may not use this file except in compliance with the License.\n+# You may obtain a copy of the License at\n+#\n+#     http://www.apache.org/licenses/LICENSE-2.0\n+#\n+# Unless required by applicable law or agreed to in writing, software\n+# distributed under the License is distributed on an \"AS IS\" BASIS,\n+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+# See the License for the specific language governing permissions and\n+# limitations under the License.\n+#\n+\n+require \"active_support/concern\"\n+\n+module Crowbar\n+  module Client\n+    module Mixin\n+      #\n+      # A mixin with barclamp related helpers\n+      #\n+      module Database\n+        extend ActiveSupport::Concern\n+\n+        REGEX_HOSTNAME = \"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$\"\n+        REGEX_HOSTNAME.freeze\n+        REGEX_IPV4 = \"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$\"","path":"lib/crowbar/client/mixin/database.rb","position":30,"original_position":30,"commit_id":"78eb4b17ff8c9fe4115e448aced631e5b2b2ca52","original_commit_id":"78eb4b17ff8c9fe4115e448aced631e5b2b2ca52","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Style/MutableConstant: Freeze mutable objects assigned to constants.<br>Metrics/LineLength: Line is too long. [128/100] (https://github.com/SUSE/style-guides/blob/master/Ruby.md#metricslinelength)","created_at":"2016-09-14T09:08:59Z","updated_at":"2016-09-14T09:08:59Z","html_url":"https://github.com/crowbar/crowbar-client/pull/105#discussion_r78712072","pull_request_url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105","_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/comments/78712072"},"html":{"href":"https://github.com/crowbar/crowbar-client/pull/105#discussion_r78712072"},"pull_request":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105"}}},"pull_request":{"url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105","id":84878985,"html_url":"https://github.com/crowbar/crowbar-client/pull/105","diff_url":"https://github.com/crowbar/crowbar-client/pull/105.diff","patch_url":"https://github.com/crowbar/crowbar-client/pull/105.patch","issue_url":"https://api.github.com/repos/crowbar/crowbar-client/issues/105","number":105,"state":"open","locked":false,"title":"add subcommand to set up the crowbar db during the upgrade","user":{"login":"MaximilianMeister","id":5364817,"avatar_url":"https://avatars.githubusercontent.com/u/5364817?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximilianMeister","html_url":"https://github.com/MaximilianMeister","followers_url":"https://api.github.com/users/MaximilianMeister/followers","following_url":"https://api.github.com/users/MaximilianMeister/following{/other_user}","gists_url":"https://api.github.com/users/MaximilianMeister/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximilianMeister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximilianMeister/subscriptions","organizations_url":"https://api.github.com/users/MaximilianMeister/orgs","repos_url":"https://api.github.com/users/MaximilianMeister/repos","events_url":"https://api.github.com/users/MaximilianMeister/events{/privacy}","received_events_url":"https://api.github.com/users/MaximilianMeister/received_events","type":"User","site_admin":false},"body":"depends on: https://github.com/crowbar/crowbar-init/pull/33","created_at":"2016-09-12T14:16:05Z","updated_at":"2016-09-14T09:08:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f67b52c9d58c88ecbff574b984ad5e0cbdfee800","assignee":{"login":"Itxaka","id":1447686,"avatar_url":"https://avatars.githubusercontent.com/u/1447686?v=3","gravatar_id":"","url":"https://api.github.com/users/Itxaka","html_url":"https://github.com/Itxaka","followers_url":"https://api.github.com/users/Itxaka/followers","following_url":"https://api.github.com/users/Itxaka/following{/other_user}","gists_url":"https://api.github.com/users/Itxaka/gists{/gist_id}","starred_url":"https://api.github.com/users/Itxaka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Itxaka/subscriptions","organizations_url":"https://api.github.com/users/Itxaka/orgs","repos_url":"https://api.github.com/users/Itxaka/repos","events_url":"https://api.github.com/users/Itxaka/events{/privacy}","received_events_url":"https://api.github.com/users/Itxaka/received_events","type":"User","site_admin":false},"assignees":[{"login":"Itxaka","id":1447686,"avatar_url":"https://avatars.githubusercontent.com/u/1447686?v=3","gravatar_id":"","url":"https://api.github.com/users/Itxaka","html_url":"https://github.com/Itxaka","followers_url":"https://api.github.com/users/Itxaka/followers","following_url":"https://api.github.com/users/Itxaka/following{/other_user}","gists_url":"https://api.github.com/users/Itxaka/gists{/gist_id}","starred_url":"https://api.github.com/users/Itxaka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Itxaka/subscriptions","organizations_url":"https://api.github.com/users/Itxaka/orgs","repos_url":"https://api.github.com/users/Itxaka/repos","events_url":"https://api.github.com/users/Itxaka/events{/privacy}","received_events_url":"https://api.github.com/users/Itxaka/received_events","type":"User","site_admin":false},{"login":"rsalevsky","id":4128547,"avatar_url":"https://avatars.githubusercontent.com/u/4128547?v=3","gravatar_id":"","url":"https://api.github.com/users/rsalevsky","html_url":"https://github.com/rsalevsky","followers_url":"https://api.github.com/users/rsalevsky/followers","following_url":"https://api.github.com/users/rsalevsky/following{/other_user}","gists_url":"https://api.github.com/users/rsalevsky/gists{/gist_id}","starred_url":"https://api.github.com/users/rsalevsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsalevsky/subscriptions","organizations_url":"https://api.github.com/users/rsalevsky/orgs","repos_url":"https://api.github.com/users/rsalevsky/repos","events_url":"https://api.github.com/users/rsalevsky/events{/privacy}","received_events_url":"https://api.github.com/users/rsalevsky/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105/commits","review_comments_url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105/comments","review_comment_url":"https://api.github.com/repos/crowbar/crowbar-client/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crowbar/crowbar-client/issues/105/comments","statuses_url":"https://api.github.com/repos/crowbar/crowbar-client/statuses/78eb4b17ff8c9fe4115e448aced631e5b2b2ca52","head":{"label":"MaximilianMeister:init","ref":"init","sha":"78eb4b17ff8c9fe4115e448aced631e5b2b2ca52","user":{"login":"MaximilianMeister","id":5364817,"avatar_url":"https://avatars.githubusercontent.com/u/5364817?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximilianMeister","html_url":"https://github.com/MaximilianMeister","followers_url":"https://api.github.com/users/MaximilianMeister/followers","following_url":"https://api.github.com/users/MaximilianMeister/following{/other_user}","gists_url":"https://api.github.com/users/MaximilianMeister/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximilianMeister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximilianMeister/subscriptions","organizations_url":"https://api.github.com/users/MaximilianMeister/orgs","repos_url":"https://api.github.com/users/MaximilianMeister/repos","events_url":"https://api.github.com/users/MaximilianMeister/events{/privacy}","received_events_url":"https://api.github.com/users/MaximilianMeister/received_events","type":"User","site_admin":false},"repo":{"id":44757478,"name":"crowbar-client","full_name":"MaximilianMeister/crowbar-client","owner":{"login":"MaximilianMeister","id":5364817,"avatar_url":"https://avatars.githubusercontent.com/u/5364817?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximilianMeister","html_url":"https://github.com/MaximilianMeister","followers_url":"https://api.github.com/users/MaximilianMeister/followers","following_url":"https://api.github.com/users/MaximilianMeister/following{/other_user}","gists_url":"https://api.github.com/users/MaximilianMeister/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximilianMeister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximilianMeister/subscriptions","organizations_url":"https://api.github.com/users/MaximilianMeister/orgs","repos_url":"https://api.github.com/users/MaximilianMeister/repos","events_url":"https://api.github.com/users/MaximilianMeister/events{/privacy}","received_events_url":"https://api.github.com/users/MaximilianMeister/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MaximilianMeister/crowbar-client","description":"Command line client for Crowbar","fork":true,"url":"https://api.github.com/repos/MaximilianMeister/crowbar-client","forks_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/forks","keys_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/teams","hooks_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/hooks","issue_events_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/issues/events{/number}","events_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/events","assignees_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/assignees{/user}","branches_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/branches{/branch}","tags_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/tags","blobs_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/git/refs{/sha}","trees_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/statuses/{sha}","languages_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/languages","stargazers_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/stargazers","contributors_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/contributors","subscribers_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/subscribers","subscription_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/subscription","commits_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/commits{/sha}","git_commits_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/git/commits{/sha}","comments_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/comments{/number}","issue_comment_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/issues/comments{/number}","contents_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/contents/{+path}","compare_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/merges","archive_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/downloads","issues_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/issues{/number}","pulls_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/pulls{/number}","milestones_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/milestones{/number}","notifications_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/labels{/name}","releases_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/releases{/id}","deployments_url":"https://api.github.com/repos/MaximilianMeister/crowbar-client/deployments","created_at":"2015-10-22T16:13:20Z","updated_at":"2016-05-11T11:57:26Z","pushed_at":"2016-09-14T09:08:47Z","git_url":"git://github.com/MaximilianMeister/crowbar-client.git","ssh_url":"git@github.com:MaximilianMeister/crowbar-client.git","clone_url":"https://github.com/MaximilianMeister/crowbar-client.git","svn_url":"https://github.com/MaximilianMeister/crowbar-client","homepage":"","size":448,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"crowbar:master","ref":"master","sha":"ae82b0912ac66aa80cbaec85e07e80cd7c121330","user":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars.githubusercontent.com/u/2910205?v=3","gravatar_id":"","url":"https://api.github.com/users/crowbar","html_url":"https://github.com/crowbar","followers_url":"https://api.github.com/users/crowbar/followers","following_url":"https://api.github.com/users/crowbar/following{/other_user}","gists_url":"https://api.github.com/users/crowbar/gists{/gist_id}","starred_url":"https://api.github.com/users/crowbar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crowbar/subscriptions","organizations_url":"https://api.github.com/users/crowbar/orgs","repos_url":"https://api.github.com/users/crowbar/repos","events_url":"https://api.github.com/users/crowbar/events{/privacy}","received_events_url":"https://api.github.com/users/crowbar/received_events","type":"Organization","site_admin":false},"repo":{"id":39223531,"name":"crowbar-client","full_name":"crowbar/crowbar-client","owner":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars.githubusercontent.com/u/2910205?v=3","gravatar_id":"","url":"https://api.github.com/users/crowbar","html_url":"https://github.com/crowbar","followers_url":"https://api.github.com/users/crowbar/followers","following_url":"https://api.github.com/users/crowbar/following{/other_user}","gists_url":"https://api.github.com/users/crowbar/gists{/gist_id}","starred_url":"https://api.github.com/users/crowbar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crowbar/subscriptions","organizations_url":"https://api.github.com/users/crowbar/orgs","repos_url":"https://api.github.com/users/crowbar/repos","events_url":"https://api.github.com/users/crowbar/events{/privacy}","received_events_url":"https://api.github.com/users/crowbar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/crowbar/crowbar-client","description":"Command line client for Crowbar","fork":false,"url":"https://api.github.com/repos/crowbar/crowbar-client","forks_url":"https://api.github.com/repos/crowbar/crowbar-client/forks","keys_url":"https://api.github.com/repos/crowbar/crowbar-client/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crowbar/crowbar-client/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crowbar/crowbar-client/teams","hooks_url":"https://api.github.com/repos/crowbar/crowbar-client/hooks","issue_events_url":"https://api.github.com/repos/crowbar/crowbar-client/issues/events{/number}","events_url":"https://api.github.com/repos/crowbar/crowbar-client/events","assignees_url":"https://api.github.com/repos/crowbar/crowbar-client/assignees{/user}","branches_url":"https://api.github.com/repos/crowbar/crowbar-client/branches{/branch}","tags_url":"https://api.github.com/repos/crowbar/crowbar-client/tags","blobs_url":"https://api.github.com/repos/crowbar/crowbar-client/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crowbar/crowbar-client/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crowbar/crowbar-client/git/refs{/sha}","trees_url":"https://api.github.com/repos/crowbar/crowbar-client/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crowbar/crowbar-client/statuses/{sha}","languages_url":"https://api.github.com/repos/crowbar/crowbar-client/languages","stargazers_url":"https://api.github.com/repos/crowbar/crowbar-client/stargazers","contributors_url":"https://api.github.com/repos/crowbar/crowbar-client/contributors","subscribers_url":"https://api.github.com/repos/crowbar/crowbar-client/subscribers","subscription_url":"https://api.github.com/repos/crowbar/crowbar-client/subscription","commits_url":"https://api.github.com/repos/crowbar/crowbar-client/commits{/sha}","git_commits_url":"https://api.github.com/repos/crowbar/crowbar-client/git/commits{/sha}","comments_url":"https://api.github.com/repos/crowbar/crowbar-client/comments{/number}","issue_comment_url":"https://api.github.com/repos/crowbar/crowbar-client/issues/comments{/number}","contents_url":"https://api.github.com/repos/crowbar/crowbar-client/contents/{+path}","compare_url":"https://api.github.com/repos/crowbar/crowbar-client/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crowbar/crowbar-client/merges","archive_url":"https://api.github.com/repos/crowbar/crowbar-client/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crowbar/crowbar-client/downloads","issues_url":"https://api.github.com/repos/crowbar/crowbar-client/issues{/number}","pulls_url":"https://api.github.com/repos/crowbar/crowbar-client/pulls{/number}","milestones_url":"https://api.github.com/repos/crowbar/crowbar-client/milestones{/number}","notifications_url":"https://api.github.com/repos/crowbar/crowbar-client/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crowbar/crowbar-client/labels{/name}","releases_url":"https://api.github.com/repos/crowbar/crowbar-client/releases{/id}","deployments_url":"https://api.github.com/repos/crowbar/crowbar-client/deployments","created_at":"2015-07-16T22:29:43Z","updated_at":"2016-05-04T13:18:11Z","pushed_at":"2016-09-14T09:08:47Z","git_url":"git://github.com/crowbar/crowbar-client.git","ssh_url":"git@github.com:crowbar/crowbar-client.git","clone_url":"https://github.com/crowbar/crowbar-client.git","svn_url":"https://github.com/crowbar/crowbar-client","homepage":"","size":454,"stargazers_count":3,"watchers_count":3,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":10,"mirror_url":null,"open_issues_count":1,"forks":10,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105"},"html":{"href":"https://github.com/crowbar/crowbar-client/pull/105"},"issue":{"href":"https://api.github.com/repos/crowbar/crowbar-client/issues/105"},"comments":{"href":"https://api.github.com/repos/crowbar/crowbar-client/issues/105/comments"},"review_comments":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105/comments"},"review_comment":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crowbar/crowbar-client/pulls/105/commits"},"statuses":{"href":"https://api.github.com/repos/crowbar/crowbar-client/statuses/78eb4b17ff8c9fe4115e448aced631e5b2b2ca52"}}}}
{"actor":{"display_login":"houndci-bot"}}