{"id":2176,"date":"2016-07-24T06:03:36","date_gmt":"2016-07-24T06:03:36","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=2176"},"modified":"2021-06-04T18:18:52","modified_gmt":"2021-06-04T12:48:52","slug":"ruby-best-practices-follow-daily-coding","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/","title":{"rendered":"Ruby Best Practices to Follow in Daily Coding"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p style=\"text-align: center;\"><i>A cleanly written code is more easy to understand<\/i><\/p><\/blockquote>\n\n\n\n<p>As beginner I always used to do common mistakes while writing the code. There are few best practices which one must follow while writing the Ruby code.<\/p>\n\n\n\n<p>Both technical and non-technical best practices are important to ensure that the code runs smoothly. Ruby is a dynamic programming language that requires attention. While most mistakes can be let go, not following Ruby best practices will lead to future problems. You might get stuck in the coding process or forget entirely about a feature because it required a simple algorithmic approach.<\/p>\n\n\n\n<p>To avoid such mistakes, Ruby encourages developers to follow some best practices that ensure the product is flawless, to some extent. Let\u2019s have a look at some technical and general best practices of Ruby in detail.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Checkout <a href=\"https:\/\/www.botreetechnologies.com\/blog\/best-ruby-on-rails-projects-examples\/\" target=\"_blank\" rel=\"noreferrer noopener\">Top 5 best Ruby on Rails projects developed by BoTree Technologies<\/a><\/strong><\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>General Ruby best practices<\/strong><\/h2>\n\n\n\n<p>Most developers get so engrossed in technicalities and coding that they forget about the general behaviour of Ruby and its frameworks like Ruby on Rails. Here are a few general best practices for Ruby &#8211;&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Follow community guidelines<\/strong><strong><br><\/strong>If you want to avoid the basic mistakes in Ruby, it is important to follow the standard community guidelines. It will help you to build a consistent coding style and base. When there are different people working on a project, everyone will be able to align with each other in a better way.<br><\/li><li><strong>Don\u2019t Repeat Yourself<\/strong><strong><br><\/strong>It is widely known that avoiding duplication in Ruby is one of the best ways to efficiently build products. Reuse components and codes wherever possible &#8211; it reduces the development time drastically. Follow the general Ruby principles to avoid using the code in Ruby on Rails and other frameworks.<br><\/li><li><strong>Convention over configuration<\/strong><strong><br><\/strong>If you follow the principle of convention over configuration, you will save yourself from a lot of trouble. Ruby is a powerful language that works well with Ruby on Rails. Therefore, follow the conventional development environment. The standard method will allow you to focus on coding rather than optimizing and configuring the framework.<br><\/li><li><strong>Internationalization\/localization<\/strong><strong><br><\/strong>The best practice for Ruby is to integrate internationalization in the app from the beginning. If the app is targeting a diverse audience, then linguistic development is much better than others. It will save a lot of time and money in the future when you want to scale the application to reach audiences in different countries.&nbsp;<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Technical Ruby best practices&nbsp;<\/strong><\/h2>\n\n\n\n<p>Now that we understand the general best practices for Ruby, let\u2019s move on to understanding the technical best practices for Ruby and its frameworks.<\/p>\n\n\n\n<p>Always use spaces around operators, after commas, colons and semicolons, around { and before }. White space might be (mostly) irrelevant to the <a href=\"https:\/\/www.botreetechnologies.com\/hire-ruby-on-rails-developers\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby interpreter<\/a>, but its proper use is the key to writing easily readable code. Also it makes the design more readable and code much cleaner.<br><code>product = 1 * 2<br>\narray = [1, 2, 3, 4, 5]<br>\narray.map { |a| a + 2 }<\/code><br>There should be no spaces after (, [ or before ], ) these brackets.<br><code>['ankur', 'vyas'] sum(a, b)<\/code><br>Also don&#8217;t use spaces in while providing the range.<br><code>Use 5..9 over 5.. 9<br>\nUse 'a'..'z' over 'a'.. 'z'<\/code><br>When using switch case statements use the following indentation.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/AnkurVyas-BTC\/df54acedf79ede45e7da2298fd9f83fe.js\"><\/script><\/p>\n\n\n\n<p>Use following indentation if the parameters exceeds to more than one line.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/AnkurVyas-BTC\/8db4fa5da6e66e954fdf91b6a492d6b0.js\"><\/script><\/p>\n\n\n\n<p>Use splat for better assignments.<br><code>element_1, *other_elements =['a', 'n', 'k', 'u', 'r']<\/code><br>If only 2 conditions are present use the ternary operators.<br><code>var_1 = condition ? assignment_1 : assignment_2<\/code><br>If you are setting a variable using the if condition the use following syntax.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/AnkurVyas-BTC\/71ec0ca90652817495a83934a53ca590.js\"><\/script><\/p>\n\n\n\n<p>Avoid return statements at the end of the line. In ruby the last line of the method is returned.<\/p>\n\n\n\n<p>Use snake case for all the ruby variables.<br><code>variable_1, some_variable<\/code><br>Use camel case for class names.<br><code>ClassOne, ClassTwo<\/code><br>Use screaming snake case for the constants&#8217; names.<br><code>CONSTANT_1, CONSTANT_2<\/code><br>Use&nbsp;<b>%w<\/b>&nbsp;for the string arrays and&nbsp;<b>%i<\/b>&nbsp;for the symbol arrays.<br><code>STATUS_MAP = %w(open closed draft paid)<br>\nSYMBOL_MAP = %i(symbol1 symbol2 symbol3)<\/code><br>Use string interpolation over concatenation.<br><code>Use \"#{string_1} &lt; #{string2} &gt;\" over string_1 + '&lt;' + string2 + '&gt;'<\/code><br>Assign single quotes to the string which does not have interpolation.<br><code>Use 'string 1' over \"string 1\"<\/code><br>Do not use the word partial when you don&#8217;t want to pass some variables in it.<br><code>Use render 'partial_1' over render partial: 'partial_1'<\/code><br>So above were some simple tips which a Ruby Coder must follow.<\/p>\n\n\n\n<p>Thank you for reading!<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><b>References:<\/b><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/github.com\/bbatsov\/ruby-style-guide\" target=\"_blank\" rel=\"noopener noreferrer\"><i><b>bbatsov\/ruby-style-guide<\/b><\/i><br><i>ruby-style-guide &#8211; A community-driven Ruby coding style guide<\/i><\/a><\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/github.com\/bbatsov\/ruby-style-guide\" target=\"_blank\" rel=\"noopener noreferrer\">github.com<\/a><\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/github.com\/styleguide\/ruby\" target=\"_blank\" rel=\"noopener noreferrer\"><i><b>Build software better, together<\/b><\/i><br>GitHub is where people build software. More than 15 million people use GitHub to discover, fork, and contribute to over&#8230;<\/a><\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/github.com\/github\/rubocop-github\/blob\/master\/STYLEGUIDE.md\" target=\"_blank\" rel=\"noopener noreferrer\">github.com<\/a><\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><i>Originally published at<\/i> <a href=\"http:\/\/vyasankur27.blogspot.in\/2015\/05\/list-of-common-mistakes-in-ruby.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"http:\/\/vyasankur27.blogspot.in\/2015\/05\/list-of-common-mistakes-in-ruby.html\"><i>vyasankur27.blogspot.in<\/i><\/a> <i>on July 24, 2016.<\/i><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>A cleanly written code is more easy to understand As&#8230;<\/p>\n","protected":false},"author":9,"featured_media":13972,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,10],"tags":[],"class_list":["post-2176","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby-on-rails","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ruby Best Practices to Follow in Daily Coding<\/title>\n<meta name=\"description\" content=\"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby Best Practices to Follow in Daily Coding\" \/>\n<meta property=\"og:description\" content=\"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\" \/>\n<meta property=\"og:site_name\" content=\"BoTree Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BoTreeTechnologies\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-24T06:03:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-04T12:48:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ankur Vyas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:site\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ankur Vyas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\"},\"author\":{\"name\":\"Ankur Vyas\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5\"},\"headline\":\"Ruby Best Practices to Follow in Daily Coding\",\"datePublished\":\"2016-07-24T06:03:36+00:00\",\"dateModified\":\"2021-06-04T12:48:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\"},\"wordCount\":715,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg\",\"articleSection\":[\"Ruby on Rails\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\",\"name\":\"Ruby Best Practices to Follow in Daily Coding\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg\",\"datePublished\":\"2016-07-24T06:03:36+00:00\",\"dateModified\":\"2021-06-04T12:48:52+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5\"},\"description\":\"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg\",\"width\":1920,\"height\":1280,\"caption\":\"Ruby on Rails Best Practices\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby Best Practices to Follow in Daily Coding\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/\",\"name\":\"BoTree Technologies\",\"description\":\"Committed to inspire generation.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5\",\"name\":\"Ankur Vyas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png\",\"caption\":\"Ankur Vyas\"},\"description\":\"Ankur is a Ruby on Rails Developer and Practice Lead JavaScript. He loves Ruby, JavaScript, reading and writing blogs, problem-solving and taking ownership of work. Apart from coding he likes to listen to songs, gaming and traveling.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ruby Best Practices to Follow in Daily Coding","description":"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/","og_locale":"en_US","og_type":"article","og_title":"Ruby Best Practices to Follow in Daily Coding","og_description":"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.","og_url":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2016-07-24T06:03:36+00:00","article_modified_time":"2021-06-04T12:48:52+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg","type":"image\/jpeg"}],"author":"Ankur Vyas","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Ankur Vyas","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/"},"author":{"name":"Ankur Vyas","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5"},"headline":"Ruby Best Practices to Follow in Daily Coding","datePublished":"2016-07-24T06:03:36+00:00","dateModified":"2021-06-04T12:48:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/"},"wordCount":715,"commentCount":0,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg","articleSection":["Ruby on Rails","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/","url":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/","name":"Ruby Best Practices to Follow in Daily Coding","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg","datePublished":"2016-07-24T06:03:36+00:00","dateModified":"2021-06-04T12:48:52+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5"},"description":"As beginner I always used to do common mistakes while writing the code. Here are few best practices which one must follow while writing the Ruby code.","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2016\/07\/ruby-best-practices.jpg","width":1920,"height":1280,"caption":"Ruby on Rails Best Practices"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/ruby-best-practices-follow-daily-coding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ruby Best Practices to Follow in Daily Coding"}]},{"@type":"WebSite","@id":"https:\/\/www.botreetechnologies.com\/blog\/#website","url":"https:\/\/www.botreetechnologies.com\/blog\/","name":"BoTree Technologies","description":"Committed to inspire generation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/aa180b4d8d933949f15aba97d8d138a5","name":"Ankur Vyas","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/ankur-vyas-1-150x150.png","caption":"Ankur Vyas"},"description":"Ankur is a Ruby on Rails Developer and Practice Lead JavaScript. He loves Ruby, JavaScript, reading and writing blogs, problem-solving and taking ownership of work. Apart from coding he likes to listen to songs, gaming and traveling."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/2176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=2176"}],"version-history":[{"count":3,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/2176\/revisions"}],"predecessor-version":[{"id":15475,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/2176\/revisions\/15475"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/13972"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=2176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=2176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=2176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}