{"id":262,"date":"2011-03-18T14:34:29","date_gmt":"2011-03-18T12:34:29","guid":{"rendered":"http:\/\/blog.railsware.com\/?p=262"},"modified":"2021-08-16T16:00:29","modified_gmt":"2021-08-16T13:00:29","slug":"command-line-interface-for-hoptoad","status":"publish","type":"post","link":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/","title":{"rendered":"Command line interface for hoptoad"},"content":{"rendered":"\n<p>We are trying to build a better development workflow in Railsware by connecting all our tools together.<br>So, this time we tried to connect HopToad Application with git commits. This idea was resulted in the command line interface for hoptoad api with a little git integration &#8211; <a href=\"http:\/\/github.com\/railsware\/shelltoad\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Shelltoad<\/a>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Currently when the new error arrives, we do the following:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"><\/pre>\n\n\n\n<p><strong># Check the list of errors<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> $ shelltoad [#3374331] production ActionController::MethodNotAllowed: Only put requests are allowed [#4023713] production ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint \"index_companies_on_slug\" : INSERT INTO \"companies\" ..... <\/pre>\n\n\n\n<p><strong># View the information on the required error. # &#8216;713&#8217; is automatically guess for 4023713<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> $ shelltoad 713 ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint \"index_companies_on_slug\" : INSERT INTO \"companies\" (\"slug\", \"created_at\", \"title\", \"updated_at\", \"external_url\", \"logo_id\", \"custom\") VALUES('abbott-associates \/var\/data\/www\/apps\/startwire\/shared\/bundle\/ruby\/1.8\/gems\/activerecord- 2.3.8\/lib\/active_record\/connection_adapters\/abstract_adapter.rb:221 \/var\/data\/www\/apps\/startwire\/releases\/20110218113457\/app\/models\/company.rb:50 \/var\/data\/www\/apps\/startwire\/releases\/20110218113457\/app\/utils\/network_map\/populate.rb:9 \/var\/data\/www\/apps\/startwire\/releases\/20110218113457\/app\/utils\/network_map\/populate.rb:74 \/var\/data\/www\/apps\/startwire\/releases\/20110218113457\/app\/utils\/network_map\/populate.rb:70 .... <\/pre>\n\n\n\n<p><strong># Fix the error in the code &#8230;<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"><\/pre>\n\n\n\n<p><strong># Prepare git commit <\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> $ git add . <\/pre>\n\n\n\n<p><strong># Commit the fix to git with connection to hoptoad issue id<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> $ shelltoad commit 713 [dev 47f09ec] http:\/\/xxx.hoptoadapp.com\/\/errors\/4023713 1 files changed, 1 insertions(+), 1 deletions(-) <\/pre>\n\n\n\n<p>Commit message will look like this:<br><code> <\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/startdatelabs.hoptoadapp.com\/\/errors\/4023713 ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint \"index_companies_on_slug\" : INSERT INTO \"companies\" (\"slug\", \"created_at\", \"title\", \"updated_at\", \"external_url\", \"logo_id\", \"custom\") VALUES('abbott-associates<\/pre>\n\n\n\n<p>This help us maintain the links between git and hoptoad automatically.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are trying to build a better development workflow in Railsware by connecting all our tools together.So, this time we tried to connect HopToad Application with git commits. This idea was resulted in the command line interface for hoptoad api with a little git integration &#8211; Shelltoad.<\/p>\n","protected":false},"author":15,"featured_media":3740,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[3],"tags":[],"coauthors":["Bogdan Gusiev"],"class_list":["post-262","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"acf":[],"aioseo_notices":[],"categories_data":[{"name":"Engineering","link":"https:\/\/railsware.com\/blog?category=development"}],"post_thumbnails":"https:\/\/railsware.com\/blog\/wp-content\/themes\/railsware\/vendors\/images\/article-thumbnail-default.jpg","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":20,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/262\/revisions"}],"predecessor-version":[{"id":14165,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/262\/revisions\/14165"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media\/3740"}],"wp:attachment":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media?parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/categories?post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/tags?post=262"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/coauthors?post=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}