SlideShare a Scribd company logo
Rails Concepts
A Shivasubramanian
Gemfile & Gemfile.lock
 config.frameworks
 ActionPack
 ActiveRecord
 ActiveModel
 ActionMailer
 ActiveResource
 ActiveSupport
 Railties
Rails frameworks
 config.frameworks
 ActionPack
 ActiveRecord
 ActiveModel
 ActionMailer
 ActiveResource
 ActiveSupport
 Railties
Rails frameworks
 ActionPack
 Handles web requests & responses
 The C & V part of MVC
 Two modules
 ActionDispatch
 Parses information about & from the
request
 Decides which controller should execute
the request
 ActionController
 ActionController::Base
 Create filters
 Automatically call views for rendering
Rails frameworks
 ActiveRecord
 ORM for Rails
 M in MVC
 Create “Models” (ActiveRecord::Base)
 “Callback lifecycle”
 Provides callbacks for various “events”
Rails frameworks
 ActiveModel
 Similar to ActiveRecord, but without a backing
table
 Various modules
 Brings various features present in ActiveModel to
plain classes
Rails frameworks
 ActionMailer
 Handles email sending & receiving
 ActionMailer::Base
 Enables mail content to be treated similar to
views
 Can trigger other actions based on incoming mail
Rails frameworks
 ActiveResource
 ORM mapping for REST endpoints
 Represents REST endpoints as Rails classes
 ActiveResource::Base
 Internally generates a REST XML request &
converts the response into a Ruby object.
Rails frameworks
 ActiveSupport
 Utility classes
 Ruby extensions
Rails frameworks
 Railties
 Glues all frameworks together
 Handles bootstrapping for a Rails app
 Rails::Railtie
 Provides hooks to modify the initialization
process.
Rails frameworks over the years
Rails 3.x
 ActionPack
 ActiveRecord
 ActiveModel
 ActionMailer
 ActiveResource
 ActiveSupport
 Railties
Rails 2.x
 ActionPack
 ActiveRecord
 ActionMailer
 ActionWebService
 ActiveResource
 ActiveSupport
 Railties
Rails 1.x
 ActionPack
 ActiveRecord
 ActionMailer
 ActionWebService
 ActiveSupport
 Railties
Can I write my own framework?
 Yes, you can.
 But it must be a Rails::Railtie
 Every component in Rails is a Rails::Railtie
Rails Engines
 Shareable Rails applications
 Share them as a library!
 Rails::Engine
 Rails::Engine < Rails::Railtie

Gems, plugins, engines
 Railties
 Engines
 Application
Middleware
 Railties
 Engines
 Application

More Related Content

What's hot

Ruby on Rails 3
Ruby on Rails 3Ruby on Rails 3
Ruby on Rails 3
hotrannam
 
Services Factory Provider Value Constant - AngularJS
Services Factory Provider Value Constant - AngularJSServices Factory Provider Value Constant - AngularJS
Services Factory Provider Value Constant - AngularJS
Sumanth krishna
 
Kube London May 2018
Kube London May 2018Kube London May 2018
Kube London May 2018
Justin Davies
 
Introduction to Elastic Beanstalk
Introduction to Elastic BeanstalkIntroduction to Elastic Beanstalk
Introduction to Elastic Beanstalk
Wolfgang Schell
 
Api RESTFull
Api RESTFullApi RESTFull
Api RESTFull
Germán Küber
 
Web api
Web apiWeb api
Web api
udaiappa
 
Introduction to react
Introduction to reactIntroduction to react
Introduction to react
kiranabburi
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
Jimit Shah
 
03 spring cloud eureka service discovery
03 spring cloud eureka   service discovery03 spring cloud eureka   service discovery
03 spring cloud eureka service discovery
Janani Velmurugan
 
React JS .NET
React JS .NETReact JS .NET
React JS .NET
Jennifer Estrada
 
Intro to React
Intro to ReactIntro to React
Intro to React
Eric Westfall
 
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
Amazon Web Services
 
ASP.NET Page Life Cycle
ASP.NET Page Life CycleASP.NET Page Life Cycle
ASP.NET Page Life Cycle
Abhishek Sur
 
Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...
Manning Publications
 
Vue.js basics
Vue.js basicsVue.js basics
Vue.js basics
patelpareshc
 
Express apps on AWS Lambda
Express apps on AWS LambdaExpress apps on AWS Lambda
Express apps on AWS Lambda
Marian Rusnak
 
Durable Functions vs Logic App : la guerra dei workflow!!
Durable Functions vs Logic App : la guerra dei workflow!!Durable Functions vs Logic App : la guerra dei workflow!!
Durable Functions vs Logic App : la guerra dei workflow!!
Massimo Bonanni
 
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
DroidConTLV
 
React.js
React.jsReact.js
reactJS
reactJSreactJS
reactJS
Syam Santhosh
 

What's hot (20)

Ruby on Rails 3
Ruby on Rails 3Ruby on Rails 3
Ruby on Rails 3
 
Services Factory Provider Value Constant - AngularJS
Services Factory Provider Value Constant - AngularJSServices Factory Provider Value Constant - AngularJS
Services Factory Provider Value Constant - AngularJS
 
Kube London May 2018
Kube London May 2018Kube London May 2018
Kube London May 2018
 
Introduction to Elastic Beanstalk
Introduction to Elastic BeanstalkIntroduction to Elastic Beanstalk
Introduction to Elastic Beanstalk
 
Api RESTFull
Api RESTFullApi RESTFull
Api RESTFull
 
Web api
Web apiWeb api
Web api
 
Introduction to react
Introduction to reactIntroduction to react
Introduction to react
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
 
03 spring cloud eureka service discovery
03 spring cloud eureka   service discovery03 spring cloud eureka   service discovery
03 spring cloud eureka service discovery
 
React JS .NET
React JS .NETReact JS .NET
React JS .NET
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
(DEV304) What’s New in the AWS SDK for .NET | AWS re:Invent 2014
 
ASP.NET Page Life Cycle
ASP.NET Page Life CycleASP.NET Page Life Cycle
ASP.NET Page Life Cycle
 
Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...
 
Vue.js basics
Vue.js basicsVue.js basics
Vue.js basics
 
Express apps on AWS Lambda
Express apps on AWS LambdaExpress apps on AWS Lambda
Express apps on AWS Lambda
 
Durable Functions vs Logic App : la guerra dei workflow!!
Durable Functions vs Logic App : la guerra dei workflow!!Durable Functions vs Logic App : la guerra dei workflow!!
Durable Functions vs Logic App : la guerra dei workflow!!
 
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
SquiDB: a SQLite layer for Android - Jonathan Koren, Yahoo!
 
React.js
React.jsReact.js
React.js
 
reactJS
reactJSreactJS
reactJS
 

Viewers also liked

Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
Дмитрий Лубкин
 
Como reduzir custos com etiquetas adesivas
Como reduzir custos com etiquetas adesivasComo reduzir custos com etiquetas adesivas
Como reduzir custos com etiquetas adesivas
Gomaq
 
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
Дмитрий Лубкин
 
Birmingham Mail Original Copy
Birmingham Mail Original CopyBirmingham Mail Original Copy
Birmingham Mail Original CopyRobMilne
 
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
PSST (opinions et tendances 2.0) par jeremy dumont
 
Brcc student services training
Brcc student services trainingBrcc student services training
Brcc student services trainingandrewcathlin04
 
Gomaq - Outsourcing de Impressão
Gomaq - Outsourcing de ImpressãoGomaq - Outsourcing de Impressão
Gomaq - Outsourcing de Impressão
Gomaq
 
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão Gerenciada
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão GerenciadaVendendo outsourcing de impressão - Thiarlei Macedo - Impressão Gerenciada
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão GerenciadaThiarlei Macedo
 
[Công nghệ may] quản lý kaizen và công cụ 5 s
[Công nghệ may] quản lý kaizen và công cụ 5 s[Công nghệ may] quản lý kaizen và công cụ 5 s
[Công nghệ may] quản lý kaizen và công cụ 5 s
TÀI LIỆU NGÀNH MAY
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented Testing
Damian T. Gordon
 
Bibliotek 2.0 - Muligheder og udfordringer
Bibliotek 2.0 - Muligheder og udfordringerBibliotek 2.0 - Muligheder og udfordringer
Bibliotek 2.0 - Muligheder og udfordringer
Esben Fjord
 
Introducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applicationsIntroducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applications
Rokesh Jankie
 

Viewers also liked (16)

Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
Олександр Фільц. «Філософія етичного прагматизму сьогодні та на перспективу»
 
Como reduzir custos com etiquetas adesivas
Como reduzir custos com etiquetas adesivasComo reduzir custos com etiquetas adesivas
Como reduzir custos com etiquetas adesivas
 
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
Андрій Длігач. «Ціннісно-інноваційна модель "економіки" Нового світу»
 
Lefkas presentation
Lefkas presentationLefkas presentation
Lefkas presentation
 
Birmingham Mail Original Copy
Birmingham Mail Original CopyBirmingham Mail Original Copy
Birmingham Mail Original Copy
 
Cartoon*
Cartoon*Cartoon*
Cartoon*
 
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
Cyril Castelnaud: "La génération internet est-elle soluble dans l'entreprise ...
 
GRAMMER
GRAMMERGRAMMER
GRAMMER
 
17 Клосс
17 Клосс 17 Клосс
17 Клосс
 
Brcc student services training
Brcc student services trainingBrcc student services training
Brcc student services training
 
Gomaq - Outsourcing de Impressão
Gomaq - Outsourcing de ImpressãoGomaq - Outsourcing de Impressão
Gomaq - Outsourcing de Impressão
 
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão Gerenciada
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão GerenciadaVendendo outsourcing de impressão - Thiarlei Macedo - Impressão Gerenciada
Vendendo outsourcing de impressão - Thiarlei Macedo - Impressão Gerenciada
 
[Công nghệ may] quản lý kaizen và công cụ 5 s
[Công nghệ may] quản lý kaizen và công cụ 5 s[Công nghệ may] quản lý kaizen và công cụ 5 s
[Công nghệ may] quản lý kaizen và công cụ 5 s
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented Testing
 
Bibliotek 2.0 - Muligheder og udfordringer
Bibliotek 2.0 - Muligheder og udfordringerBibliotek 2.0 - Muligheder og udfordringer
Bibliotek 2.0 - Muligheder og udfordringer
 
Introducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applicationsIntroducing TensorFlow: The game changer in building "intelligent" applications
Introducing TensorFlow: The game changer in building "intelligent" applications
 

Similar to Rails concepts

Beginners' guide to Ruby on Rails
Beginners' guide to Ruby on RailsBeginners' guide to Ruby on Rails
Beginners' guide to Ruby on RailsVictor Porof
 
Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Railsg3ppy
 
Spring MVC introduction HVA
Spring MVC introduction HVASpring MVC introduction HVA
Spring MVC introduction HVA
Peter Maas
 
Backbone introdunction
Backbone introdunctionBackbone introdunction
Backbone introdunctionmzxbupt
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
Rudra Garnaik, PMI-ACP®
 
MVC 6 Introduction
MVC 6 IntroductionMVC 6 Introduction
MVC 6 Introduction
Sudhakar Sharma
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
Fioriela Bego
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
Commit Software Sh.p.k.
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
Kashif Imran
 
BackboneJS + ReactJS
BackboneJS + ReactJSBackboneJS + ReactJS
BackboneJS + ReactJS
Skanda Shastry
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
Luis Du Solier
 
Liferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for DevelopersLiferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for Developers
Azilen Technologies Pvt. Ltd.
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Taranjeet Singh
 
ruby on rails development company in india
ruby on rails development company in indiaruby on rails development company in india
ruby on rails development company in india
SAG IPL
 
Raybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript LibraryRaybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript Library
ray biztech
 
Developing SOAP Web Services using Java
Developing SOAP Web Services using JavaDeveloping SOAP Web Services using Java
Developing SOAP Web Services using Java
krishnaviswambharan
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
Raimonds Simanovskis
 

Similar to Rails concepts (20)

Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
 
Beginners' guide to Ruby on Rails
Beginners' guide to Ruby on RailsBeginners' guide to Ruby on Rails
Beginners' guide to Ruby on Rails
 
Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Rails
 
Spring MVC introduction HVA
Spring MVC introduction HVASpring MVC introduction HVA
Spring MVC introduction HVA
 
Backbone introdunction
Backbone introdunctionBackbone introdunction
Backbone introdunction
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
 
MVC 6 Introduction
MVC 6 IntroductionMVC 6 Introduction
MVC 6 Introduction
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
Mvc3 crash
Mvc3 crashMvc3 crash
Mvc3 crash
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
BackboneJS + ReactJS
BackboneJS + ReactJSBackboneJS + ReactJS
BackboneJS + ReactJS
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
 
Liferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for DevelopersLiferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for Developers
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
ruby on rails development company in india
ruby on rails development company in indiaruby on rails development company in india
ruby on rails development company in india
 
Raybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript LibraryRaybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript Library
 
Developing SOAP Web Services using Java
Developing SOAP Web Services using JavaDeveloping SOAP Web Services using Java
Developing SOAP Web Services using Java
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

Rails concepts

  • 2. Gemfile & Gemfile.lock  config.frameworks  ActionPack  ActiveRecord  ActiveModel  ActionMailer  ActiveResource  ActiveSupport  Railties
  • 3. Rails frameworks  config.frameworks  ActionPack  ActiveRecord  ActiveModel  ActionMailer  ActiveResource  ActiveSupport  Railties
  • 4. Rails frameworks  ActionPack  Handles web requests & responses  The C & V part of MVC  Two modules  ActionDispatch  Parses information about & from the request  Decides which controller should execute the request  ActionController  ActionController::Base  Create filters  Automatically call views for rendering
  • 5. Rails frameworks  ActiveRecord  ORM for Rails  M in MVC  Create “Models” (ActiveRecord::Base)  “Callback lifecycle”  Provides callbacks for various “events”
  • 6. Rails frameworks  ActiveModel  Similar to ActiveRecord, but without a backing table  Various modules  Brings various features present in ActiveModel to plain classes
  • 7. Rails frameworks  ActionMailer  Handles email sending & receiving  ActionMailer::Base  Enables mail content to be treated similar to views  Can trigger other actions based on incoming mail
  • 8. Rails frameworks  ActiveResource  ORM mapping for REST endpoints  Represents REST endpoints as Rails classes  ActiveResource::Base  Internally generates a REST XML request & converts the response into a Ruby object.
  • 9. Rails frameworks  ActiveSupport  Utility classes  Ruby extensions
  • 10. Rails frameworks  Railties  Glues all frameworks together  Handles bootstrapping for a Rails app  Rails::Railtie  Provides hooks to modify the initialization process.
  • 11. Rails frameworks over the years Rails 3.x  ActionPack  ActiveRecord  ActiveModel  ActionMailer  ActiveResource  ActiveSupport  Railties Rails 2.x  ActionPack  ActiveRecord  ActionMailer  ActionWebService  ActiveResource  ActiveSupport  Railties Rails 1.x  ActionPack  ActiveRecord  ActionMailer  ActionWebService  ActiveSupport  Railties
  • 12. Can I write my own framework?  Yes, you can.  But it must be a Rails::Railtie  Every component in Rails is a Rails::Railtie
  • 13. Rails Engines  Shareable Rails applications  Share them as a library!  Rails::Engine  Rails::Engine < Rails::Railtie 
  • 14. Gems, plugins, engines  Railties  Engines  Application