{"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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\">Commit message will look like this:<br><code class=\"\" data-line=\"\"> <\/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 class=\"wp-block-paragraph\">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":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"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 - Shelltoad. Currently when the new error arrives, we do\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Bogdan Gusiev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"| Blog on Engineering, Product Management, Transparency, Culture and many more...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Command line interface for hoptoad | Railsware Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"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 - Shelltoad. Currently when the new error arrives, we do\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-03-18T12:34:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-08-16T13:00:29+00:00\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#article\",\"name\":\"Command line interface for hoptoad | Railsware Blog\",\"headline\":\"Command line interface for hoptoad\",\"author\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/bogdan-gusiev\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/03\\\/hoptoad.png\",\"width\":150,\"height\":150},\"datePublished\":\"2011-03-18T14:34:29+03:00\",\"dateModified\":\"2021-08-16T16:00:29+03:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#webpage\"},\"articleSection\":\"Engineering\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/railsware.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Engineering\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"position\":2,\"name\":\"Engineering\",\"item\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#listItem\",\"name\":\"Command line interface for hoptoad\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#listItem\",\"position\":3,\"name\":\"Command line interface for hoptoad\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Engineering\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\",\"description\":\"Blog on Engineering, Product Management, Transparency, Culture and many more...\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Logo-circle.png\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#organizationLogo\",\"width\":3137,\"height\":1054,\"caption\":\"Railsware logo\"},\"image\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/bogdan-gusiev\\\/#author\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/bogdan-gusiev\\\/\",\"name\":\"Bogdan Gusiev\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#authorImage\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/author-image-default-96x96.jpg\",\"width\":96,\"height\":96,\"caption\":\"Bogdan Gusiev\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#webpage\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/\",\"name\":\"Command line interface for hoptoad | Railsware Blog\",\"description\":\"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 - Shelltoad. Currently when the new error arrives, we do\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/bogdan-gusiev\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/bogdan-gusiev\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/03\\\/hoptoad.png\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#mainImage\",\"width\":150,\"height\":150},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/command-line-interface-for-hoptoad\\\/#mainImage\"},\"datePublished\":\"2011-03-18T14:34:29+03:00\",\"dateModified\":\"2021-08-16T16:00:29+03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/\",\"description\":\"Blog on Engineering, Product Management, Transparency, Culture and many more...\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Command line interface for hoptoad | Railsware Blog","description":"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 - Shelltoad. Currently when the new error arrives, we do","canonical_url":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#article","name":"Command line interface for hoptoad | Railsware Blog","headline":"Command line interface for hoptoad","author":{"@id":"https:\/\/railsware.com\/blog\/author\/bogdan-gusiev\/#author"},"publisher":{"@id":"https:\/\/railsware.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png","width":150,"height":150},"datePublished":"2011-03-18T14:34:29+03:00","dateModified":"2021-08-16T16:00:29+03:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#webpage"},"isPartOf":{"@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#webpage"},"articleSection":"Engineering"},{"@type":"BreadcrumbList","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/railsware.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","name":"Engineering"}},{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","position":2,"name":"Engineering","item":"https:\/\/railsware.com\/blog\/category\/development\/","nextItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#listItem","name":"Command line interface for hoptoad"},"previousItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#listItem","position":3,"name":"Command line interface for hoptoad","previousItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","name":"Engineering"}}]},{"@type":"Organization","@id":"https:\/\/railsware.com\/blog\/#organization","description":"Blog on Engineering, Product Management, Transparency, Culture and many more...","url":"https:\/\/railsware.com\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2020\/11\/Logo-circle.png","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#organizationLogo","width":3137,"height":1054,"caption":"Railsware logo"},"image":{"@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/railsware.com\/blog\/author\/bogdan-gusiev\/#author","url":"https:\/\/railsware.com\/blog\/author\/bogdan-gusiev\/","name":"Bogdan Gusiev","image":{"@type":"ImageObject","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#authorImage","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2021\/06\/author-image-default-96x96.jpg","width":96,"height":96,"caption":"Bogdan Gusiev"}},{"@type":"WebPage","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#webpage","url":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/","name":"Command line interface for hoptoad | Railsware Blog","description":"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 - Shelltoad. Currently when the new error arrives, we do","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/railsware.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#breadcrumblist"},"author":{"@id":"https:\/\/railsware.com\/blog\/author\/bogdan-gusiev\/#author"},"creator":{"@id":"https:\/\/railsware.com\/blog\/author\/bogdan-gusiev\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png","@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#mainImage","width":150,"height":150},"primaryImageOfPage":{"@id":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/#mainImage"},"datePublished":"2011-03-18T14:34:29+03:00","dateModified":"2021-08-16T16:00:29+03:00"},{"@type":"WebSite","@id":"https:\/\/railsware.com\/blog\/#website","url":"https:\/\/railsware.com\/blog\/","description":"Blog on Engineering, Product Management, Transparency, Culture and many more...","inLanguage":"en-US","publisher":{"@id":"https:\/\/railsware.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"| Blog on Engineering, Product Management, Transparency, Culture and many more...","og:type":"article","og:title":"Command line interface for hoptoad | Railsware Blog","og:description":"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 - Shelltoad. Currently when the new error arrives, we do","og:url":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/","og:image":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png","og:image:secure_url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png","og:image:width":150,"og:image:height":150,"article:published_time":"2011-03-18T12:34:29+00:00","article:modified_time":"2021-08-16T13:00:29+00:00"},"aioseo_meta_data":{"post_id":"262","title":null,"description":null,"keywords":[],"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":{"id":"aioseo-article-6385f5afd4042","slug":"article","graphName":"Article","label":"Article","properties":{"type":"BlogPosting","name":"#post_title","headline":"#post_title","description":"#post_excerpt","image":"","keywords":"","author":{"name":"#author_name","url":"#author_url"},"dates":{"include":true,"datePublished":"","dateModified":""}}},"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":{"locations":{"business":{"name":"","businessType":"","image":"","areaServed":"","urls":{"website":"","aboutPage":"","contactPage":""},"address":{"streetLine1":"","streetLine2":"","zipCode":"","city":"","state":"","country":"","addressFormat":"#streetLineOne\n#streetLineTwo\n#city, #state #zipCode"},"contact":{"email":"","phone":"","phoneFormatted":"","fax":"","faxFormatted":""},"ids":{"vat":"","tax":"","chamberOfCommerce":""},"payment":{"priceRange":"","currenciesAccepted":"","methods":""}}},"openingHours":{"useDefaults":true,"show":true,"alwaysOpen":false,"use24hFormat":false,"timezone":"","labels":{"closed":"","alwaysOpen":""},"days":{"monday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"tuesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"wednesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"thursday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"friday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"saturday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"sunday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"}}}},"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-01-04 12:44:08","updated":"2025-09-26 11:12:39","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/railsware.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/railsware.com\/blog\/category\/development\/\" title=\"Engineering\">Engineering<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tCommand line interface for hoptoad\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/railsware.com\/blog"},{"label":"Engineering","link":"https:\/\/railsware.com\/blog\/category\/development\/"},{"label":"Command line interface for hoptoad","link":"https:\/\/railsware.com\/blog\/command-line-interface-for-hoptoad\/"}],"categories_data":[{"name":"Engineering","link":"https:\/\/railsware.com\/blog?category=development"}],"post_thumbnails":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2011\/03\/hoptoad.png","article_background":"","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}]}}