{"id":16301,"date":"2024-09-16T14:09:35","date_gmt":"2024-09-16T21:09:35","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16301"},"modified":"2024-09-18T15:31:13","modified_gmt":"2024-09-18T22:31:13","slug":"couchbase-ruby-orm-simplifies-development","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-ruby-orm-simplifies-development\/","title":{"rendered":"Apresentando o novo ORM Ruby do Couchbase"},"content":{"rendered":"<h2><span style=\"font-weight: 400;\">Um guia pr\u00e1tico para aplicativos Ruby<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">O Ruby continua sendo uma das op\u00e7\u00f5es mais populares para a cria\u00e7\u00e3o de aplicativos dimension\u00e1veis, e o Ruby on Rails continua sendo uma das estruturas da Web mais flex\u00edveis e robustas dispon\u00edveis. Apesar da facilidade do desenvolvedor em trabalhar com Ruby e Ruby on Rails, o gerenciamento das complexidades das opera\u00e7\u00f5es de dados ainda pode ser um desafio, especialmente ao lidar com dados adapt\u00e1veis e flex\u00edveis em bancos de dados n\u00e3o relacionais como o Couchbase. No entanto, isso n\u00e3o precisa mais ser um desafio, pois agora existe o rec\u00e9m-lan\u00e7ado Couchbase Ruby ORM.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O Couchbase Ruby ORM \u00e9 uma ferramenta projetada para simplificar as intera\u00e7\u00f5es com o banco de dados e agilizar seu processo de desenvolvimento. A comunidade de c\u00f3digo-fonte aberto do Couchbase iniciou esse projeto por meio do excelente trabalho dos desenvolvedores da Doctolib, Mapotempo e outros. Agora, o projeto foi oficialmente adotado como parte do ecossistema de ferramentas para desenvolvedores do Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nesta postagem, exploraremos como o ORM pode aprimorar seus aplicativos.<\/span><\/p>\n<p style=\"text-align: center;\"><i><span style=\"font-weight: 400;\">tl;dr Voc\u00ea pode encontrar um aplicativo Rails inteiro em funcionamento usando o novo Couchbase Ruby ORM em <\/span><\/i><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\"><i><span style=\"font-weight: 400;\">GitHub:<\/span><\/i><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-16302 size-large aligncenter\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1024x825.png\" alt=\"\" width=\"900\" height=\"725\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1024x825.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-300x242.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-768x619.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1536x1238.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-2048x1650.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1320x1064.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Vamos come\u00e7ar!<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">O poder dos ORMs<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Os mapeadores objeto-relacionais (ORMs) s\u00e3o um elemento fundamental no desenvolvimento moderno da Web. Eles permitem que os desenvolvedores interajam com um banco de dados usando objetos em vez de escrever consultas brutas ao banco de dados. No caso de aplicativos Ruby, isso significa trabalhar com seus dados como se fossem objetos Ruby. Essa abstra\u00e7\u00e3o n\u00e3o s\u00f3 simplifica a base de c\u00f3digo geral, como tamb\u00e9m melhora a legibilidade e a capacidade de manuten\u00e7\u00e3o.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No contexto do Couchbase, um ORM \u00e9 particularmente vantajoso porque preenche a lacuna entre seu armazenamento baseado em documentos e a natureza orientada a objetos do Ruby. Ao usar o novo Couchbase Ruby ORM, voc\u00ea pode aproveitar muitos dos recursos do Couchbase e, ao mesmo tempo, manter a experi\u00eancia familiar de desenvolvimento em Ruby que todos n\u00f3s gostamos.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Benef\u00edcios de usar um Ruby ORM em seus aplicativos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Se voc\u00ea \u00e9 um desenvolvedor Ruby on Rails, est\u00e1 bem familiarizado com os benef\u00edcios de usar o ActiveRecord, o ORM integrado do Rails, para gerenciar seus dados. No entanto, vale a pena repetir quais s\u00e3o exatamente esses benef\u00edcios. Eles podem ser resumidos em quatro pontos principais:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Facilidade de uso<\/strong>: Quando \u00e9 poss\u00edvel definir seus modelos de dados como classes e atributos Ruby, voc\u00ea torna sua base de c\u00f3digo mais intuitiva e f\u00e1cil de navegar.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Integridade dos dados<\/strong>: O tratamento autom\u00e1tico das valida\u00e7\u00f5es e restri\u00e7\u00f5es de dados no n\u00edvel do modelo garante que os dados permane\u00e7am da forma desejada. N\u00e3o h\u00e1 necessidade de acrescentar uma camada adicional de valida\u00e7\u00e3o aos dados, em mais middleware do lado do servidor ou no cliente, uma vez que os dados est\u00e3o sendo validados diretamente no modelo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Produtividade aprimorada<\/strong>: Reduza o c\u00f3digo padr\u00e3o, permitindo que voc\u00ea se concentre na l\u00f3gica comercial em vez de se deixar levar pelo gerenciamento do banco de dados no aplicativo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Consist\u00eancia<\/strong>: Padronize os padr\u00f5es de acesso a dados em todo o aplicativo e, ao fazer isso, deixe seu futuro eu e seus colegas mais felizes quando voc\u00ea ou eles precisarem voltar e refatorar o aplicativo semanas ou meses depois.\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Com o novo Couchbase Ruby ORM, voc\u00ea pode estender todos esses benef\u00edcios aos seus dados no Couchbase, proporcionando uma integra\u00e7\u00e3o perfeita entre seu aplicativo e seus dados flex\u00edveis e adapt\u00e1veis. Em um contexto de aplicativo Rails, o ORM estende a funcionalidade do ActiveRecord, permitindo que os desenvolvedores do Rails trabalhem com os dados do Couchbase usando todos os seus m\u00e9todos e conven\u00e7\u00f5es familiares.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Um exemplo pr\u00e1tico<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Vamos considerar uma plataforma de blog fict\u00edcia. Essa plataforma precisa gerenciar perfis de usu\u00e1rios, coment\u00e1rios, tags e conte\u00fado com efici\u00eancia. A plataforma gerencia todos os tipos de conte\u00fado com diferentes tipos de dados, e \u00e9 por isso que a constru\u00e7\u00e3o com um banco de dados de documentos JSON, como o Couchbase, \u00e9 o caminho a seguir.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Como isso seria na realidade?<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Defini\u00e7\u00e3o de modelos com o ORM do Couchbase<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Vamos come\u00e7ar com um <\/span><span style=\"font-weight: 400;\"><code>Artigo<\/code><\/span><span style=\"font-weight: 400;\"> modelo:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">classe Article &lt; CouchbaseOrm::Base\r\n  atributo :slug, :string\r\n  atributo :title, :string\r\n  atributo :description, :string\r\n  atributo :body, :string\r\n  atributo :tag_list, :string\r\n  atributo :created_at, :time\r\n  atributo :updated_at, :time\r\n  atributo :author_id, :string\r\n  atributo :favorites\r\n  atributo :favorites_count, :integer, padr\u00e3o: 0\r\n\r\n  visualiza\u00e7\u00e3o :by_id, emit_key: :id\r\n  view :by_slug, emit_key: :slug\r\n  view :by_author_id, emit_key: :author_id\r\n  view :by_article_id, emit_key: :id\r\n\r\n  valida :slug, presen\u00e7a: true\r\n  valida :title, presen\u00e7a: true\r\n  valida :description, presen\u00e7a: true\r\n  valida :body, presen\u00e7a: true\r\n  valida :tag_list, presen\u00e7a: true\r\n  valida :author_id, presen\u00e7a: true\r\nfinal<\/pre>\n<p><span style=\"font-weight: 400;\">Esse modelo define um artigo com v\u00e1rios atributos, aproveitando a capacidade do Couchbase de lidar com diversos tipos de dados. Os atributos s\u00e3o definidos de forma semelhante a como seriam em qualquer uso do ActiveRecord, facilitando a ado\u00e7\u00e3o por desenvolvedores Ruby e Rails em particular.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O <\/span><span style=\"font-weight: 400;\"><code>visualiza\u00e7\u00e3o<\/code><\/span><span style=\"font-weight: 400;\"> mostradas acima estabelecem maneiras definidas de consultar documentos armazenados no Couchbase. Cada visualiza\u00e7\u00e3o \u00e9 essencialmente um \u00edndice que permite que voc\u00ea consulte documentos por um atributo espec\u00edfico de forma mais eficiente. Por exemplo, a visualiza\u00e7\u00e3o <\/span><span style=\"font-weight: 400;\">visualiza\u00e7\u00e3o <code>:by:slug, emit_key :slug<\/code><\/span><span style=\"font-weight: 400;\"> cria uma exibi\u00e7\u00e3o que indexa os artigos por seus <\/span><span style=\"font-weight: 400;\"><code>lesma<\/code><\/span><span style=\"font-weight: 400;\"> atributo. Essa visualiza\u00e7\u00e3o permite que voc\u00ea recupere artigos com base em seu slug.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Defini\u00e7\u00e3o de associa\u00e7\u00f5es com o ORM do Couchbase<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Agora, o que dizer das associa\u00e7\u00f5es de dados na plataforma de blogs? A plataforma de blogs precisa garantir que cada coment\u00e1rio perten\u00e7a a um usu\u00e1rio espec\u00edfico e a um artigo espec\u00edfico. Da mesma forma que isso pode ser feito em um modelo padr\u00e3o do Rails, tamb\u00e9m pode ser feito usando o Couchbase Ruby ORM. Veja como isso pode ser configurado:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">classe Coment\u00e1rio &lt; CouchbaseOrm::Base\r\n  pertence a :user\r\n  pertence a :article\r\nfinal<\/pre>\n<p><span style=\"font-weight: 400;\">Com essas associa\u00e7\u00f5es, os coment\u00e1rios pertencem tanto a um usu\u00e1rio quanto a um artigo. Da mesma forma, voc\u00ea tamb\u00e9m pode definir um relacionamento dependente no modelo. D\u00ea uma olhada novamente na tabela <\/span><span style=\"font-weight: 400;\"><code>Artigo<\/code><\/span><span style=\"font-weight: 400;\"> classe para ver isso em a\u00e7\u00e3o:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">class Article &lt; CouchbaseOrm::Base\r\n  pertence a :user\r\n  has_many :comments, dependent: :destroy\r\nend\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Da mesma forma que demonstramos a cria\u00e7\u00e3o de atributos em modelos de dados e a defini\u00e7\u00e3o de associa\u00e7\u00f5es, o ORM tamb\u00e9m oferece funcionalidade para consultas, cria\u00e7\u00e3o de consultas SQL++ personalizadas, trabalho com documentos aninhados e muito mais. <\/span><a href=\"https:\/\/couchbase-ruby-orm.com\/\"><span style=\"font-weight: 400;\">A documenta\u00e7\u00e3o<\/span><\/a><span style=\"font-weight: 400;\"> fornece uma grande variedade de c\u00f3digos de exemplo para todos os cen\u00e1rios poss\u00edveis com os quais voc\u00ea pode precisar trabalhar.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Concluindo<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">O novo Couchbase Ruby ORM traz um gerenciamento de banco de dados poderoso e flex\u00edvel para o Ruby e para os aplicativos Ruby on Rails. Ao abstrair qualquer uma das complexidades do design orientado a documentos do Couchbase, ele permite que os desenvolvedores criem aplicativos escalon\u00e1veis e de f\u00e1cil manuten\u00e7\u00e3o com facilidade. Independentemente da natureza do aplicativo, desde uma plataforma de com\u00e9rcio eletr\u00f4nico at\u00e9 um sistema de gerenciamento de conte\u00fado de blog, o ORM do Couchbase oferece uma solu\u00e7\u00e3o robusta para integrar o Couchbase \u00e0 sua pilha Ruby. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Experimente voc\u00ea mesmo e sinta os benef\u00edcios!\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\">Tutorial do Couchbase Ruby ORM no GitHub<\/a><\/li>\n<li><a href=\"https:\/\/cloud.couchbase.com\">Use o Couchbase Capella DBaaS gratuitamente<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>A practical guide for Ruby applications Ruby remains one of the most popular choices for building scalable applications, and Ruby on Rails continues to be one of the most flexible and robust web frameworks available. Notwithstanding the developer ease with [&hellip;]<\/p>\n","protected":false},"author":85356,"featured_media":16303,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,2242,2225,9407,2201],"tags":[],"ppma_author":[9985],"class_list":["post-16301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-connectors","category-cloud","category-ruby","category-tools-sdks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introducing the New Couchbase Ruby ORM - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"The Couchbase Ruby ORM simplifies data management for Ruby &amp; Ruby on Rails apps, bridging document-based storage with Ruby&#039;s object-oriented approach.\" \/>\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.couchbase.com\/blog\/pt\/couchbase-ruby-orm-simplifies-development\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing the New Couchbase Ruby ORM\" \/>\n<meta property=\"og:description\" content=\"The Couchbase Ruby ORM simplifies data management for Ruby &amp; Ruby on Rails apps, bridging document-based storage with Ruby&#039;s object-oriented approach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-ruby-orm-simplifies-development\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-16T21:09:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-18T22:31:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/\"},\"author\":{\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/48efa1524aec97312d92f65a270c255d\"},\"headline\":\"Introducing the New Couchbase Ruby ORM\",\"datePublished\":\"2024-09-16T21:09:35+00:00\",\"dateModified\":\"2024-09-18T22:31:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/\"},\"wordCount\":959,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/09\\\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Connectors\",\"Couchbase Capella\",\"Ruby\",\"Tools &amp; SDKs\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/\",\"name\":\"Introducing the New Couchbase Ruby ORM - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/09\\\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"datePublished\":\"2024-09-16T21:09:35+00:00\",\"dateModified\":\"2024-09-18T22:31:13+00:00\",\"description\":\"The Couchbase Ruby ORM simplifies data management for Ruby & Ruby on Rails apps, bridging document-based storage with Ruby's object-oriented approach.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/09\\\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/09\\\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-ruby-orm-simplifies-development\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing the New Couchbase Ruby ORM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/48efa1524aec97312d92f65a270c255d\",\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpegc9bda12524045d12a5878a2ef3fbe0de\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"caption\":\"Ben Greenberg, Senior Developer Evangelist\"},\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/bengreenberg\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing the New Couchbase Ruby ORM - The Couchbase Blog","description":"O Couchbase Ruby ORM simplifica o gerenciamento de dados para aplicativos Ruby e Ruby on Rails, unindo o armazenamento baseado em documentos com a abordagem orientada a objetos do Ruby.","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.couchbase.com\/blog\/pt\/couchbase-ruby-orm-simplifies-development\/","og_locale":"pt_BR","og_type":"article","og_title":"Introducing the New Couchbase Ruby ORM","og_description":"The Couchbase Ruby ORM simplifies data management for Ruby & Ruby on Rails apps, bridging document-based storage with Ruby's object-oriented approach.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-ruby-orm-simplifies-development\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-09-16T21:09:35+00:00","article_modified_time":"2024-09-18T22:31:13+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","type":"image\/jpeg"}],"author":"Ben Greenberg, Senior Developer Evangelist","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Greenberg, Senior Developer Evangelist","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"},"author":{"name":"Ben Greenberg, Senior Developer Evangelist","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d"},"headline":"Introducing the New Couchbase Ruby ORM","datePublished":"2024-09-16T21:09:35+00:00","dateModified":"2024-09-18T22:31:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"},"wordCount":959,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","articleSection":["Application Design","Best Practices and Tutorials","Connectors","Couchbase Capella","Ruby","Tools &amp; SDKs"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/","name":"Introducing the New Couchbase Ruby ORM - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","datePublished":"2024-09-16T21:09:35+00:00","dateModified":"2024-09-18T22:31:13+00:00","description":"O Couchbase Ruby ORM simplifica o gerenciamento de dados para aplicativos Ruby e Ruby on Rails, unindo o armazenamento baseado em documentos com a abordagem orientada a objetos do Ruby.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing the New Couchbase Ruby ORM"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d","name":"Ben Greenberg, desenvolvedor s\u00eanior evangelista","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpegc9bda12524045d12a5878a2ef3fbe0de","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","caption":"Ben Greenberg, Senior Developer Evangelist"},"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/bengreenberg\/"}]}},"acf":[],"authors":[{"term_id":9985,"user_id":85356,"is_guest":0,"slug":"bengreenberg","display_name":"Ben Greenberg, Senior Developer Evangelist","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/85356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=16301"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16301\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/16303"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=16301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=16301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=16301"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=16301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}