{"id":6512,"date":"2015-06-09T07:19:52","date_gmt":"2015-06-09T07:19:52","guid":{"rendered":"https:\/\/dev.railscarma.com\/ruby-module-article\/"},"modified":"2025-12-18T11:24:47","modified_gmt":"2025-12-18T11:24:47","slug":"ruby-modul-artikel","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ruby-modul-artikel\/","title":{"rendered":"The Basics of Creating and Using Ruby Modules"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6512\" class=\"elementor elementor-6512\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-54fe0c61 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"54fe0c61\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-44a03edd\" data-id=\"44a03edd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7ae3bfac elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"7ae3bfac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><strong>Ruby on Rails<\/strong> is a wonderful open source full-stack web application framework favoring convention over configuration.&nbsp;&nbsp;<\/span><span style=\"font-size: medium;\">Med \u00e5teranv\u00e4ndbara, l\u00e4tt konfigurerbara komponenter som normalt anv\u00e4nds f\u00f6r att skapa applikationer g\u00e5r det snabbare och enklare att bygga applikationer i Rails, vilket resulterar i f\u00f6rb\u00e4ttrad produktivitet och aff\u00e4rstillv\u00e4xt.&nbsp;<\/span><span style=\"font-size: medium;\">Det vinner inflytande bland utvecklare eftersom det \u00e4r flexibelt, skalbart och enkelt f\u00f6r webbutvecklare att skriva och underh\u00e5lla applikationer.&nbsp;<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><strong><a href=\"https:\/\/rubyonrails.org\/\">Ruby on Rails<\/a><\/strong> l\u00e4gger tonvikten p\u00e5 att anv\u00e4nda k\u00e4nda tekniska m\u00f6nster och principer f\u00f6r att minska arbetsbelastningen n\u00e4r man bygger webbapplikationer.&nbsp;<\/span><span style=\"font-size: medium;\">\u00c4ven om det finns flera metoder f\u00f6r att l\u00f6sa en programmeringsutmaning, s\u00e4ger Ruby sig f\u00f6rlita sig p\u00e5 vanliga m\u00f6nster som g\u00f6r Rails webbplatser l\u00e4ttare att underh\u00e5lla och uppgradera.&nbsp;<\/span><span style=\"font-size: medium;\">Bibliotek med \u00f6ppen k\u00e4llkod med mindre block av Rails-kod som l\u00f6ser s\u00e4rskilda problem anv\u00e4nds vanligtvis f\u00f6r att minska utvecklingskostnader.&nbsp;<\/span><span style=\"font-size: medium;\">Med hj\u00e4lp av s\u00e5dana kodblock kan utvecklare infoga stabila, v\u00e4l bepr\u00f6vade \u00e4delstenar ist\u00e4llet f\u00f6r att l\u00e4gga tid p\u00e5 att skriva samma slags koder. Ett av de mest kraftfulla verktygen i en Ruby-programmerares verktygsl\u00e5da \u00e4r modulen. <b>Rubin&nbsp;<\/b><\/span><span style=\"font-size: medium;\"><b>Modules<\/b> provide a structure to collect Ruby classes, methods, and constants into a single, separately named and defined unit.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Detta \u00e4r anv\u00e4ndbart s\u00e5 att du kan undvika konflikter med befintliga klasser, metoder och konstanter, och \u00e4ven s\u00e5 att du kan l\u00e4gga till (mixa in) modulernas funktionalitet i dina klasser.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>Creating a Module in Ruby<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\"><font size=\"3\">Creating a module is similar to creating a class, except you use the module keyword instead of the class keyword.<\/font><\/p>\n<pre style=\"text-align: justify;\">module MyFirstModule\n  def say_hello\n    puts \"Hello\"\n  end\nend<font size=\"3\"><\/font><\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">Modules cannot be instantiated. To use a module, you must either include or extend it within a class.<\/font><\/p>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>Using include and extend<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\">\n<\/p><ul>\n<li><font size=\"3\"><b>inkludera<\/b><\/font><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><font size=\"3\">Mixes the module\u2019s methods in as instance methods of the class.<\/font><\/p>\n<p style=\"text-align: justify;\">\n<\/p><ul>\n<li><font size=\"3\"><b>f\u00f6rl\u00e4nga<\/b><\/font><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><font size=\"3\">Mixes the module\u2019s methods in as class methods of the class.<\/font><\/p>\n<p style=\"text-align: justify;\"><font size=\"3\"><b>Exempel<\/b><\/font><\/p>\n<pre style=\"text-align: justify;\">module ReusableModule\n  def module_method\n    puts \"Module Method: Hi there!\"\n  end\nend\n\nclass ClassThatIncludes\n  include ReusableModule\nend\n\nclass ClassThatExtends\n  extend ReusableModule\nend\n\nputs \"Include\"\nClassThatIncludes.new.module_method\n# =&gt; \"Module Method: Hi there!\"\n\nputs \"Extend\"\nClassThatExtends.module_method\n# =&gt; \"Module Method: Hi there!\"<\/pre>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>Other Important Concepts About Modules in Ruby<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\"><font size=\"3\"><b>1. Method Lookup Basics:<\/b><\/font><\/p>\n<pre style=\"text-align: justify;\">module M\n  def report\n    puts \"'report' method in module M\"\n  end\nend\n\nclass C\n  include M\nend\n\nclass D &lt; C\nend<br>\n<b><\/b>obj = D.new\nobj.report<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\"><b>Produktion:<\/b><\/font><\/p>\n<pre style=\"text-align: justify;\"><font size=\"3\">'report' method in module M<\/font><\/pre>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>How Method Lookup Works<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\"><font size=\"3\">When a Ruby object receives a message (method call), it searches for the method in this order:<\/font><\/p>\n<ol>\n<li>The objects class (D)<\/li>\n<li><font size=\"3\">Modules included in the class (D)<\/font><\/li>\n<li><font size=\"3\">The superclass (C)<\/font><\/li>\n<li><font size=\"3\">Modules included in the superclass (M)<\/font><\/li>\n<li><font size=\"3\">Continue up the inheritance chain<\/font><\/li>\n<\/ol>\n<p style=\"text-align: justify;\"><font size=\"3\">In this case:<\/font><\/p>\n<p style=\"text-align: justify;\">\n<\/p><ul>\n<li><font size=\"3\">D does not define report<\/font><\/li>\n<li><span style=\"font-size: 16px;\">C does not define report<\/span><\/li>\n<li><span style=\"font-size: 16px;\">C includes module M<\/span><\/li>\n<li><span style=\"font-size: 16px;\">M defines report, so Ruby executes it<\/span><\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>2. Defining the Same Method More Than Once<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\"><font size=\"3\">If a method is defined multiple times, the last definition takes precedence. This applies to both classes and modules.<\/font><\/p>\n<pre style=\"text-align: justify;\">module InterestBearing\n  def calculate_interest\n    puts \"Placeholder! We're in module InterestBearing.\"\n  end\nend\n\nclass BankAccount\n  include InterestBearing\n\n  def calculate_interest\n    puts \"Placeholder! We're in class BankAccount.\"\n    puts \"And we're overriding the calculate_interest method!\"\n  end\nend\n\naccount = BankAccount.new\naccount.calculate_interest<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">Produktion:<\/font><\/p>\n<pre style=\"text-align: justify;\"><font size=\"3\">Placeholder! We're in class BankAccount.<br><\/font><font size=\"3\">And we're overriding the calculate_interest method!<\/font><\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">The class method overrides the module method.<\/font><\/p>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>3. Mixing in Multiple Ruby Modules with the Same Method Name<\/b><\/font><\/h2>\n<pre style=\"text-align: justify;\">module M\n  def report\n    puts \"'report' method in module M\"\n  end\nend\n\nmodule N\n  def report\n    puts \"'report' method in module N\"\n  end\nend\n\nclass C\n  include M\n  include N\nend\n\nc = C.new\nc.report<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">Produktion:<\/font><\/p>\n<pre style=\"text-align: justify;\"><font size=\"3\">'report' method in module N<\/font><\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">The last included module wins because it appears first in the method lookup path.<\/font><\/p>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>4. Including a Ruby Module More Than Once<\/b><\/font><\/h2>\n<pre style=\"text-align: justify;\">class C\n  include M\n  include N\n  include M\nend\n\nc = C.new\nc.report<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">Produktion:<\/font><\/p>\n<pre style=\"text-align: justify;\"><font size=\"3\">'report' method in module N<\/font><\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\"><b>F\u00f6rklaring<\/b><\/font><\/p>\n<p style=\"text-align: justify;\"><font size=\"3\">Re-including a module has no effect if the module is already in the lookup path. Ruby does not move it to the top again. The most recently included new module (N) still takes precedence.<\/font><\/p>\n<h2 style=\"text-align: justify;\"><font size=\"3\"><b>5. Using super with Ruby Modules<\/b><\/font><\/h2>\n<p style=\"text-align: justify;\"><font size=\"3\">The super keyword allows you to call the next method up the method lookup chain.<\/font><\/p>\n<pre style=\"text-align: justify;\">module M\n  def report\n    puts \"'report' method in module M\"\n  end\nend\n\nclass C\n  include M\n\n  def report\n    puts \"'report' method in class C\"\n    puts \"About to trigger the next higher-up report method...\"\n    super\n    puts \"Back from the 'super' call.\"\n  end\nend\n\nc = C.new\nc.report<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\">Produktion:<\/font><\/p>\n<pre style=\"text-align: justify;\">'report' method in class C\nAbout to trigger the next higher-up report method...\n'report' method in module M\nBack from the 'super' call.<\/pre>\n<p style=\"text-align: justify;\"><font size=\"3\"><b>What Happens Here<\/b><\/font><\/p>\n<p style=\"text-align: justify;\">\n<\/p><ul>\n<li><font size=\"3\">Ruby first executes report in class C<\/font><\/li>\n<li><span style=\"font-size: 16px;\">super calls the next report method in the lookup chain (from module M)<\/span><\/li>\n<li><span style=\"font-size: 16px;\">Control then returns back to the class method<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><a href=\"https:\/\/www.railscarma.com\/sv\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>RailsCarma<\/strong><\/a> har arbetat p\u00e5 RoR fr\u00e5n b\u00f6rjan och med en stark arbetsstyrka utbildad i RoR har det vuxit till att bli ett mycket p\u00e5litligt namn i slut\u00e4ndan Ruby on Rails konsulttj\u00e4nster, arkitektur, byggnad, f\u00f6rvaltning och utbyggnad till f\u00f6retag runt om i v\u00e4rlden.&nbsp;<\/span><\/p>\n<p style=\"text-align: justify;\"><em><b>L\u00e4s mer :&nbsp;<\/b><\/em><\/p>\n<ul>\n<li><a href=\"\/sv\/blogg\/tekniska-artiklar\/implementera-tinymce-i-ruby-on-rails\/\" target=\"_blank\" rel=\"noopener noreferrer\">Implementering av TinyMCE i Ruby on Rails<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"\/sv\/blogg\/tekniska-artiklar\/forsta-plugin-programmet-for-tillgangspipeline\/\" target=\"_blank\" rel=\"noopener noreferrer\">F\u00f6rst\u00e5 Asset Pipeline Plugin<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"\/sv\/blogg\/tekniska-artiklar\/polymorphic-associations-with-active-record\/\" target=\"_blank\" rel=\"noopener noreferrer\">Polymorfa associationer med aktiva rekord<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"\/sv\/blogg\/tekniska-artiklar\/ett-enkelt-satt-att-oka-prestandan-for-din-rails-app-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ett enkelt s\u00e4tt att \u00f6ka prestandan f\u00f6r din Rails-app<\/a><\/li>\n<\/ul>\n<p><a href=\"\/sv\/kontakta-oss\/\">Kontakta oss.<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-20ee20d1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20ee20d1\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-266aac31\" data-id=\"266aac31\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-201a5cf elementor-widget elementor-widget-heading\" data-id=\"201a5cf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Prenumerera f\u00f6r de senaste uppdateringarna<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a85013 elementor-widget elementor-widget-shortcode\" data-id=\"3a85013\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"lastare\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"E-postadress\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"namn\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Prenumerera\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"sv\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">relaterade inl\u00e4gg<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"kaminari p\u00e4rla\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?related_post_from=37277\">\r\n        Kaminari Gem  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"varf\u00f6r anlita utvecklare av ruby on rails 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-ruby-on-rails\/?related_post_from=30627\">\r\n        Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Dataskrapning i skenor genom att bearbeta CSV\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/dataskrapning-i-skenor-genom-att-bearbeta-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Dataskrapning i skenor genom att bearbeta CSV\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/dataskrapning-i-skenor-genom-att-bearbeta-csv\/?related_post_from=31591\">\r\n        Dataskrapning i skenor genom att bearbeta CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ring r\u00f6stsamtal genom Ruby on Rails webbapplikationer\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ringa-rostsamtal-genom-ruby-on-rails-webbapplikationer\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ring r\u00f6stsamtal genom Ruby on Rails webbapplikationer\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ringa-rostsamtal-genom-ruby-on-rails-webbapplikationer\/?related_post_from=31309\">\r\n        Ring r\u00f6stsamtal genom Ruby on Rails webbapplikationer  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Ruby on Rails is a wonderful open source full-stack web application framework favoring convention over configuration.&nbsp;&nbsp;With reusable, easily configurable components normally used for creating applications, building applications in Rails is faster and easier resulting in improved productivity and business growth.&nbsp;It is gaining traction with developers as it is flexible, scalable, and easy for web developers &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">L\u00f6sningar f\u00f6r API-integration fr\u00e5n tredje part i Ruby on Rails<\/span> L\u00e4s mer \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32034,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[385,455,384],"tags":[389,421,636,382,637],"class_list":["post-6512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-management","category-rails-3","category-technical-articles","tag-rails","tag-ror","tag-ruby-module","tag-ruby-on-rails","tag-ruby-on-rails-development-company"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Basics of Creating and Using Ruby Modules - RailsCarma<\/title>\n<meta name=\"description\" content=\"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.\" \/>\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.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ruby-modul-artikel\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Basics of Creating and Using Ruby Modules - RailsCarma\" \/>\n<meta property=\"og:description\" content=\"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ruby-modul-artikel\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-06-09T07:19:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-18T11:24:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"The Basics of Creating and Using Ruby Modules\",\"datePublished\":\"2015-06-09T07:19:52+00:00\",\"dateModified\":\"2025-12-18T11:24:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/\"},\"wordCount\":631,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg\",\"keywords\":[\"rails\",\"ror\",\"ruby module\",\"Ruby on rails\",\"ruby on rails development company\"],\"articleSection\":[\"Articles on Management\",\"Rails 3\",\"Technical Articles\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/\",\"name\":\"The Basics of Creating and Using Ruby Modules - RailsCarma\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg\",\"datePublished\":\"2015-06-09T07:19:52+00:00\",\"dateModified\":\"2025-12-18T11:24:47+00:00\",\"description\":\"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Basics of Creating and Using Ruby Modules\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Basics of Creating and Using Ruby Modules - RailsCarma","description":"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.","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.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ruby-modul-artikel\/","og_locale":"sv_SE","og_type":"article","og_title":"The Basics of Creating and Using Ruby Modules - RailsCarma","og_description":"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.","og_url":"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ruby-modul-artikel\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2015-06-09T07:19:52+00:00","article_modified_time":"2025-12-18T11:24:47+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Skriven av":"admin","Ber\u00e4knad l\u00e4stid":"3 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"The Basics of Creating and Using Ruby Modules","datePublished":"2015-06-09T07:19:52+00:00","dateModified":"2025-12-18T11:24:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/"},"wordCount":631,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg","keywords":["rails","ror","ruby module","Ruby on rails","ruby on rails development company"],"articleSection":["Articles on Management","Rails 3","Technical Articles"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/","name":"The Basics of Creating and Using Ruby Modules - RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg","datePublished":"2015-06-09T07:19:52+00:00","dateModified":"2025-12-18T11:24:47+00:00","description":"Learn the basics of creating and using modules in Ruby on Rails to organize code improve reuse and keep applications clean and maintainable.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/06\/blog_rc3.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ruby-module-article\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"The Basics of Creating and Using Ruby Modules"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Ruby on Rails Development Company specialiserat p\u00e5 Offshore Development","description":"RailsCarma \u00e4r ett Ruby on Rails Development Company i Bangalore. Vi \u00e4r specialiserade p\u00e5 Offshore Ruby on Rails Development baserat i USA och Indien. Anst\u00e4ll erfarna Ruby on Rails-utvecklare f\u00f6r den ultimata webbupplevelsen.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administration","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts\/6512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/comments?post=6512"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts\/6512\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media\/32034"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media?parent=6512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/categories?post=6512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/tags?post=6512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}