thank you and that the end the hall or the by we going to choose see a talk about the race would process and they will they would like to sleep before the most of this talk so i in this talk we are going to see some after things related to these to these topic for instance if you open the config directory there are a number of fires that we normally never told that are generated like this config motor-vehicle taken by Mary and uh so we want to see what what they do they then that race components in general but and can work independently of phrase so active support of this book for instance is a library that you you know you can use in our really a straight you know that he's not running inside the great applications also for instance you can use active record that all sides race get you you can have like a regular reviews scrape I using Active Record when it considered everything you know you have everything but somehow magically up on you know you're going to read application and that these independent components are you know some compromise it for you and Susan E. you use then you know and there's nothing there's nothing that the government has to do to get these things walk into that and we are going to to see how that works and you know the the the the final the final goal is to understand more less what happens when you look at the same moment because there's a lot happening but we are going to have a good sense of what happens when yeah and

02:02

from this that we are going to have to take into account a few things 1st from the approach of the talk is sold for a sperm right so for instance is not going to be like I I do know I went through all you know of encodable and see the moon pass all of these things so we want to see coat that is not a walk through so and with this talk I have I have tried to our explain what they would like to know as a race for mayor of all the grouplets that will purchase it and it is something that I would like on I need guide to to cover you know that kind of information then In the process we have raise size and we have n genes but this is not the talk about operators and engines we are going to see what the young are but that's that's a topic for for the top OK so we are going to see only what is needed for this talk about race place and engines therefore that we want to see some colder snippets but they are going to be like heavily heavily edited so I I have not tried even try that that you understand so that the is slides makes clear that this has been edited you you know we let with entities of the late that we would like a big 1 in and in general because we want to see if you open the real file is going to have more stuff OK but there's a lot going on and I tried to select and you know include everything all that was was not relevant to the to the topic we're talking about and finally we are

03:50

going to nodes bring you know so the word processor assuming that now this is the process you know that that the value of the update without without the additions but so that

04:09

normally when when you when you think about looking race you you you have a so remind you do want to pick a tune you launch a server and you can you are able to to serve request and everything but I don't think that that will raise so for instance if you run the council you know that somehow you have everything in the application available in the consul right also around if you run on you know if you pass run restraining or finally it gets executed in the context of the picture so some whole division has been good for you know in order to run these comments at random and it is a common that I love I believe I run this common everyday so and it allows you to run something quickly instead of launching the consul and then control the but the think you just you know run or something and indeed to understand the reduce the the the radius initialization I run the 1 which is executed the problem that has a little 1 you know it's something that they do often you know so that the minimal thing the new humor and from the 1 to beat the middle thing that you know we don't what the cutthroat best when it has to do and then there's no more side effects acceptability 1 which is not a lot the and also at the same rate that you know that you have also them the environment so looking at the application means being ready to serve all these kind of things by so let's open being rates OK this is a file generated by many and unleased mother of errors application then we have here something good we'll coughing blue and then good and then that doesn't require something again if you haven't been

06:10

rate you will see that the global scoffing mode and then does a staff related to rake OK so these

06:19

both of these modifiers the star moving gone the that's the 1st thing and if you open content will you will see that is basically doing mother set up but the mother said that I have gone to use the low-pass so the application is able to require the gene's that binding files With no with a little strange and everything and is not able to real games that are outside the thing OK so boundless about traits mobile under the null the they also needed so that that is going to work the then if you haven't which is what you execute when you're on a server you will see that it requires config environment OK and then the something I think about is another important important 5 it loads application and this is something application area which is the 1st time we normally you know and of working as a promise that the that that's the kind of the 1st thing you know config and application of these words about the starts where you can configure the node time-zone but and stuff of so that the file that is being referenced here and then the report and it runs race application in each allies and this is the magic so In the guys this this method is the 1 that runs all the institutions action we are like setting things up you know just to be able to do this endoscopic application area which the results of of regional and then executes bounded require with the groups that are relevant to that to that of execution OK so rose all we're not going to see whether to see Rigel later but before that only for a moment but the point here is that we had we monitor require at this point is when the the gender tendencies are that OK I'll let you all about looking at this point and after that we evaluate the class that defines the application itself which is you know these things on that is named after you know when you pass the new common that kind of thing OK so that the presentation this is organized in a few in a few blocks and

09:03

what we find is going to be like I did like the or off the OK so we are going to die value between something and then I leave it up in some summaries OK so I think this is a summary of what we have seen up to this point so the final thoughts without gems that and dependencies right then really real raise all which is something that is going to be seeing uh late then we actually lower the dependencies define the negation glass run initialize that like that that's note that the organ in which things wrong in in at at this point and that it's easier lies that dust but you know that that race would process OK by

10:04

wage rates so and rephrase that is are is a class that provides a number of things so that extends you and and you know you are able to look into this process for instance it provides hooks to run called when you want to consult with lots lunch the runner common you know so you can say as far as well as a gender because say hey if if I am not that narrows application and the consul lunch please call this quote again and we we we may have like you know a series of of blocks like these that are scheduled to run at that at the point then you have the ability to define custom code for population points OK so when you see like for instance gone Fig . of something config . Active Record about something you know I our our I read that we're going to see later that accurate was a rate that allows you to define points so that applications are able to you know express the computer the 1 and also made important they have the ability to declare code to be executed the other than would so these are called initialized OK so I close population points and that it should be clear so our readers can declare that I want to ruin something when the a mediational happens which is something I don't know OK the

11:47

radius of the find a by suppressing these Glastonbury classes and raise knows out which a guys are defined because there's any hated who you know that when reduced rate that is supported this any kind of group that take I've been superacid and that by definition is everything OK well there's a technical thing of all some special suppressor that I not but that the so let's see an example but so this for instance not a really factory and this in the Josephine with with a block is our property go is declaring when the application is initialized and I I don't know what when that he's you know that when it when it happens but you've got to rent to to run this school so for instance the the properly again at this point knows that and raise route is already fine OK that that's a contract you know you can you can assume that and in this case property of the setting up song and factory parts of the of OK so the way factory go so far to need to define some parts that depend on the application and the way to of that in an integrated way with is to define a real and say OK when you were working at home and I was I would compromise what

13:15

so race components are integrated into the framework using rate that's it for instance this is the real value of activity active defines a referred to integrate into the framework in this case for is that this is an example of this is 1 of these is the hope that was our own raised to room this gold if the consul is launched a cake so if the concept the the consul is launched if if if its launch in sandbox mode which is a mode that started from Chechen and robot detection when they're on so when the session is over OK we want some goal I haven't the beauty of a man whatever you need to support this thing and 47 then you have you know that that recently that in the constant you get you get the SQL melody in you know there so the scope that say should pay a lot to say on the right so there is a way of Active Record integrates into raise the by the binary they best this and and not a lot of things right OK for

14:27

instance news from patterns part and we're seeing here and Temple of configurations we saw before interval of hooking into the call so no we see an example with conflagration so for instance this is the way action despite defines a conclusion . college Deily underscore men and these are computed by default which is 1 good this

14:59

from active support the and this is another EDI from which we saw on the theater for for factoring out we're not seeing any data for active support and that we don't need to understand this goal but is basically taking the things on that application has the work and setting you know whatever it active support needs to so that true on to take into account that 1 OK so that's what

15:29

raised all that's really all is just our you know it just notes on the the real size of the different components in rates so application really knows these 5 these 5 is just it's just looking and lost everything right and as a side effect of learning these things we have 1st that raise knows that I read I has been supplanted so and we are able to lease the rate the rate doesn't have been low and also as a side effect of loading these without the configuration points the declarations of that utilizes so it's like a set up again then that's the

16:21

way the components worked seriously in areas application so the petition but in the in in reality well as a real form as let's let's say maybe not Simba % you know in all cases but as rueful that this this is I don't itemize the design so raise destined this not comparable to the to the components raise is kind of agnostic to most of them right so Andreas does not have been the decision process anything that you know that from quotes the stuff are you know true to inter-rater components not

17:05

it in that way or so they're very guys are i do know know that then the configuration points out the interface between race and these components of ok so the Active Record decimals and say a colony the so that police run these July that a lot and the same for the thing to fulfill for the for the progress of of of of race components i r the ray ties to other components that that that they are living in a pattern the dish but this that's the way they integrate so reduced does not recall in general anything about active rebel but then the exposes a number of controversial points active loads dates dates the confirmation points that that it needs to so that itself and you know you have your set of it that the so I to raise application has 15 rate that's which are these ones the peso you see that everyone with that needs to be integrated with all these process has to race but next block lazy

18:27

loading so in general so example of heavily in the hope this the these active record every which has a lot of things up a bit at so in general views give you happen like like the route Final the rich components you see a lot of ultimate like this 1 again this is the ultimate goal of proving while I yes so so and raise redefine the cost of operating will be needs that you know the constant and then you need to pass right but when you follow naming conventions for the fights and you write this thing 3 times this so then that the reaction is to write something out to make these using the combinations of 4 members that this is the this is the Ruby out of another race out a lot of constants but that so in general when you you raise tries to be as Lasius possible loading things so so you have the you know the meaning of things to do when you will 1 of them piece this setting out promotes full you know this is the Active record is the name space so ActiveRecordBase Active Record of whatever is going to be out old so it's not going to be ActiveRecordBase is not going to be required on wood is going to require 1 is needed you know and that's thanks to our local so seems things are going to be loaded only when needed endoscope that needs to know have ruled already the record for instance to include something ActiveRecordBase or whatever that there's this this utility which which is active support so for instance in the active requiring high we have to we have to set up the mother of active record and that in July does not go in a straight away you know sign the molar because the you know the way to the sperm really East you declare that when active record note then police said that the longer we you know the modified here OK so that's the way you know to differ as much as possible fees in order to have as I about process as like with as possible a then at the end of

20:57

ActiveRecordBase at the end of ActiveRecordBase which is what active replicants use should be are you know building up to record no by definition is and in this fight it's a low hooks for Active Record OK so when these 5 these elated all the you know the class is defined it and at the bottom of the 5 you have these lines and then everything that was you know ask you to be wrong when active report is going to be is going to run at this point but of a next obvious grace

21:39

and engine the reduce engine is a subclass of of right that's all video frames rhythm then define it as well

21:54

so it really that's where the final so by suppressing rage raised by and energies are defined by suppressing rage ending so the same the same kind of thing OK and what is energy so this this would be like 1 2 3 . but just you know it's so just let the idea what is 1st the had it's everything from raise rate so all we all we we see we saw before about consul run you groups in utilizes conquered points that's all available here but is like a supports that you can do more things with an energy so points you can you know you you can define controllers models that kind of thing you have a unique URI as well assets know a bunch of things so it's it's grows a tool like I you know unless you are able to define like a subset of an application that the foreign and you get them so use

22:52

have been defined some configuration points and also some energizes right so just by suppressing ending you got some configuration and some energizes are forced out there so this is the 1 that are the characters so when you define an in suppressing raised in our engine you get this kind of thing so and you going to set the middle class all the energy OK so adding your own lives directory or whatever you know to drop ATP models whatever to the little part of these over the set I will have reading parts OK

23:33

is a number of things OK so is it is not important to to follow every single step of these you know may be too detail but just you know to give money the other kind of things that that do ferry from and from an indian and you part our local environment on the east I the these articulators this is the guy so that the Druze whatever you happen Caltech environments like the topic environments luxury whatever and then some other

24:04

parts a then you conflict in EDI service right these or the and then there's a technique of cook engines black points that states and you at this point you have already run a number of things and if you are interested in cooking into these you can right so any guises by the fall well I can change but you can't say that these festering before below Ecolizer on this festival after that 1 and there are a number of technical points are you know

24:40

to to be able to do that and how many la Rosa negation which is like rays and you know what what what we get with rich new therefore engines this this for OK OK action cable is an Indian in because engine so the rest of phrase components have 3 place because with everybody is it enough what they have to do on would and have to pay you also has some assets and that that is the reason it it is an engine but anyway we

25:14

are writing to raise application which is a subclass of engine so look at these characters so the base these are inclined then we have an energy and an application is a subclass of engines so you know the application is like a particular case of all these design it beautiful things we've well so they are defined by

25:38

subclassing and that that's what you do in config application a jury member you that your obligations surpassing raise application that's exactly what the fight is going so the application is indeed is a single bond you know there there's 1 this just 1 instance of that class and you can access to that that instance are using greatest brought application which is a method and when the same ontologies and a you'd do get a whole college before can't configuration that's also just something that is higher and if you do not know array for and you say f golfing about before configuration and educate something is going to be too good at this point which is just when the application is just you know you the it gotten speech than did you get this cold call OK so application executed for all groups of initialized 4 groups it's alright it this way 1st you have there once he had eaten from brisk energy but they presenting have some preference but on figure once so those ones you can therefore we're going to be skewed then those of most group that most like should bear basic things like setting up parts and that kind of thing then we have are there any guys 1st of all that realized and energy genes that the application has low OK and the way this is slope is because we have about the required in engulfing application so if you have an an extension a gym something implementing our our rate fight or an Indian so what happens is that when binding require knows that again that did not at that point

27:35

defines the rate diode energy and so that these you know about the application knows about the existence of this of this thing the and then there's a group that DOS you know some some mercury so the most of

27:51

that group for instance and now the 1st 1 and is on is a technical hope as well and then for instance we don't active support so active support that that's not so something optional at all you know the the race uses active support OK so straightaway you you that that these ones is hot all these wonderful OK and yes so this note at the super also which brings you everything up to support less there's a population . which e's conflict at the bar there are which states is that of learning everything just Lope whatever the application mean what whatever raise needs you know to to run then this light means that we are finishing no right I saw chain so they artifact and yet so that you are able to go to our local as you know the meaning of actor support for again that's a I've never seen these these 1 used so much of what we have the then you have all of you get ice in the

29:12

Netherlands is the one-step look that those of you in you utilize the mother the cash on the the way you can stand out all the notes things which can be note or required depending on depending on the environmental cooperation and then there's a before legalized who did this to tumor incidence OK there are a number of things that are going on just how

29:39

you and then realize and giants in the money in arteries application have at 94 initializes declare a case to so then we have the food issue OK these things more less you can think that the room or less in order to accept that of the before and after that things that are you know when you declare any judgment that sea before these and after this you know less you have to be defined it's something you can molesting thing that they won't of so yeah the the fishery route does a number of things and um the continuously templating case generators and needs to know things from here and the 2nd 1 is systemic about and then these ones defining you know you know that you if you go into the all to raise in full you get some some pages there and if you go to the conjugate the this new shiny thing you know very like so by the way that so if if you go to coffee groups Terry that's not incompetent always that serve right so the roots are here those ones they the but you do need always stuck at this

31:02

point so we are we are kind of already late OK with we you have to think we are already most of the things are along this point in while in the you

31:15

may not which of the 4th and genes that amount to prepare lot important these of blocks that around you know certain certain point of time

31:27

and data and this is important by default in production you we role the application and then there's lot another technical code which is a feature who that fires on alert you know and event which is after utilizing you have to do something after the the and

31:48

I have things that are to be maybe while the 2nd 1 the rules this this one's important it by the number of things in this fisher group while of a cell I went once

32:03

everything has been the declared and we have everything we note you know there's a topological sort going here so the guys have an after before topological sort if someone doesn't know that basically if you have things that have on an order of relative where the declared like I'd have to Rome at some point but make sure it'd be felt that thing all I have to run at some point but make sure it's after that all of the so other political sort this is getting this year in a way that respects this relative constraints OK so if you said you you need to run before thing thing you I 1 that you want to run before the thing OK are maybe not immediately felt that amount so the constraint is relaxed their rookie OK so maybe not just before or maybe 2 before ordinal depends on on the other things that have said that need to be run before that who OK so that he had in any case we call EDI service should be run the way they have declared to be to so but this shall 1 are we have 124 each item there's a lot going on OK because everything you know this is designed so that everything that needs to happen in boat Our is going to be generally happening in in an equalizer so there's a lot of things are 124 and I have listed all of them so so if you get then a PDF form we wish we see the video are we have in these you know as a reference this is like this is not like public interface is not written not something race is sending you and these are going to exceed you can you know you know you you can assure that all of this what the 24 going to choose another regions of that so you know but anyway just for the sake of the of the of the presentation of these other ones so I'm just going to process like because you know there's no no point in going 1 by 1 but you know you see we have set the mole parts here than

34:26

optimal parts you know and the

34:28

like God alright so yeah

34:35

so what what what what I want what I want to go to we want to say here is just that you are aware that all of the all these guys undefined and all of these things are running a yeah but

35:01

the OK so we've seen like a number of things n and this this to my students like like what which is that the whole picture so so up from all I've I selected what they think I would like to have clear as a bridge for visual using there's a lot of things going on so this is the summary of the summaries like like you know the essential things that that we need to know by some of the summary we've also to the to the beginning of the presentation OK with would there be the kind of thing so 1st we define the low-pass which is mother about so we have 2 genders you know the ones that we want to be are available and not the ones we don't want to have a then we don't know the real ties and the society that defines all this optimism points of these indicted no active record and all the rays components after that we woke up gen dependencies with by the way then the conclude that the application glass itself is about a weighted bid at the fusion of the of the petition glass itself is 1 way and then there's a bunch of about by Alcatel parts you know little parts stuff where after that and this is

36:37

important at this point we will also cover environments I did not wanna beeper lecture be whatever OK and this is why this is why the configuration in these files takes precedence over the 1 in coffee cup dictionary simply because it runs after after it OK so if you say for because 1 another dictionary and since after that you run a config environment the memory for instance and you say fully week cost you so he's just in the data just because you know people like you know later and that's the 1 that that remains after that are the colitis in the application and use 1 of our the so for the application then what do we let the reproductively whatever after that I don't think that any devices the ones an educated in the other and after that if you the application is the year old that happened production will by default with 1 if I think so Our yet but this is so we've seen that way based integrate into race be a configuration points right and in general something curious as well is that embraced in general in general may be viewed what rare maybe maybe you find on the temple but in general the is the risk of base it's not the all it lemon question mark if production question mark not being the facies up we have some at raise using configuration points OK and when you generate them on unification the preliminary test the reproduction be whatever sets you know sensible defaults for that might and then readings just checked this cooperation right so is not that the production and you lose something is that simple action by you know that you did default generate labeled option has value that made that happen OK right so we run these ones in the overall we learn the rules and if we if we were running Akamai and then the coast of the command are OK so this is like the the most important set sequence of things that that we have to remember right

Inhaltliche Metadaten

Rails ships as a number of components, Active Record, Active Support, ..., largely independent of each other, but somehow something orchestrates them and presents a unified view of the system. Then we have config/boot.rb, config/application.rb... what do they do? Application initializers, environment configuration, what runs when? Understanding how that works becomes an inflection point in any Rails programmer that goes through it. You go from that cloudy idea of an initialization that sets things up for a certain definition of "things", to a well-understood process.