« Back to channel list

#RubyOnRails - 22 August 2018

« Back 1 day Forward 1 day »
[00:01:45] za1b1tsu: has joined #RubyOnRails
[00:13:45] weaksauce: has joined #RubyOnRails
[00:25:31] s2013: has joined #RubyOnRails
[00:33:34] Guest23176: has joined #RubyOnRails
[00:42:10] sevenseacat: has joined #RubyOnRails
[00:43:28] Guest23176: has joined #RubyOnRails
[00:49:13] orbyt_: has joined #RubyOnRails
[00:50:12] Dimik: has joined #RubyOnRails
[01:18:31] Tempesta: has joined #RubyOnRails
[01:24:13] faitswulff: has joined #RubyOnRails
[01:37:21] s2013: has joined #RubyOnRails
[01:48:35] fourcolors: has joined #RubyOnRails
[01:59:50] Saukk: has joined #RubyOnRails
[02:00:08] hahuang65: has joined #RubyOnRails
[02:08:14] Guest23176: has joined #RubyOnRails
[02:10:01] faitswulff: has joined #RubyOnRails
[02:14:17] saiyanprince: has joined #RubyOnRails
[02:15:32] saiyanprince: Hi, where is rubyonrails mostly used? what is rubyonrails for?
[02:15:51] sevenseacat: its a web development framework, used all over the world.
[02:16:55] saiyanprince: which area of web development is best for rubyonrails?
[02:17:16] saiyanprince: rubyonrails mvc
[02:20:58] saiyanprince: has left #RubyOnRails: ()
[02:24:12] fourcolors: has joined #RubyOnRails
[02:24:31] fragamus: has joined #RubyOnRails
[02:32:39] orbyt_: has joined #RubyOnRails
[02:33:45] darkhanb: has joined #RubyOnRails
[02:39:16] za1b1tsu: has joined #RubyOnRails
[02:48:14] Guest23176: has joined #RubyOnRails
[03:03:35] Guest23176: has joined #RubyOnRails
[03:05:19] akaiiro: has joined #RubyOnRails
[03:06:42] fourcolors: has joined #RubyOnRails
[03:10:47] braincrash: has joined #RubyOnRails
[03:18:25] Guest23176: has joined #RubyOnRails
[03:24:10] matcouto: has joined #RubyOnRails
[03:33:38] Guest23176: has joined #RubyOnRails
[03:47:24] akaiiro: has joined #RubyOnRails
[03:50:02] jane_booty_doe2: what would cause a before_action w/ unless: :devise_controller? to execute on devise controllers
[03:50:39] sevenseacat: got some code we can see?
[03:52:27] jane_booty_doe2: sevenseacat, which part would be most helpful?
[03:52:37] fourcolors: has joined #RubyOnRails
[03:52:46] sevenseacat: the code referencing the before action and something that shows it being run
[03:53:11] jane_booty_doe2: this is defined in the application controller http://termbin.com/b85l
[03:54:21] jane_booty_doe2: getting the puma logs now
[03:55:09] jane_booty_doe2: http://termbin.com/gsli
[03:55:37] sevenseacat: so where is it being called where it shouldnt be
[03:56:07] jane_booty_doe2: when i sign in it just redirects me back to users/sessions#new
[03:56:31] jane_booty_doe2: this started happening after a bundle update btw, but it might be unrelated
[03:56:31] sevenseacat: thats not what the logs say
[03:57:12] jane_booty_doe2: hmm let me get fresh logs again to confirm
[03:57:22] sevenseacat: I'd check out the error Can't verify CSRF token authenticity.
[03:58:12] sevenseacat: looks like you might have a bug in your Users::SessionsController#create, if its not setting the logged in user correctly
[03:58:42] jane_booty_doe2: it happens with the default controller as well, and the default form view from devise
[03:59:04] sevenseacat: it really doesn't.
[03:59:06] jane_booty_doe2: i tried to skip verify_authenticity_token in the session controller but it wasn't defined i guess
[03:59:18] jane_booty_doe2: it does, i tested it
[03:59:30] sevenseacat: using the default devise layout and view?
[03:59:49] jane_booty_doe2: converted to haml, but i doubt that matters
[04:00:20] sevenseacat: i'm quite sure that's incorrect.
[04:00:55] jane_booty_doe2: i'll test again
[04:00:56] faitswulff: has joined #RubyOnRails
[04:03:48] jane_booty_doe2: sevenseacat, pretty similar v
[04:03:49] jane_booty_doe2: https://pastebin.com/raw/ZXA4XZBn
[04:04:00] jane_booty_doe2: that's with this view https://pastebin.com/raw/sE2PcC0U
[04:04:23] sevenseacat: you're still using your own layout file, which likely has csrf_meta_tags removed.
[04:05:07] jane_booty_doe2: _head.html.haml has csrf_meta_tags and csp_meta_tag
[04:05:30] jane_booty_doe2: i can see the token in the markup
[04:09:19] jane_booty_doe2: i guess ill try switching to sorcery
[04:12:20] jane_booty_doe2: been considering it for awhile :P
[04:13:30] Guest23176: has joined #RubyOnRails
[04:13:54] jane_booty_doe2: sevenseacat, okay so
[04:13:58] jane_booty_doe2: if i remove that before_filter
[04:14:12] jane_booty_doe2: it renders the welcome page, but i'm not authenticated
[04:14:30] sevenseacat: [11:58:11] sevenseacat: looks like you might have a bug in your Users::SessionsController#create, if its not setting the logged in user correctly
[04:14:50] jane_booty_doe2: i'm talking about with the stock controller
[04:15:40] sevenseacat: so it might be the csrf issue then
[04:17:01] jane_booty_doe2: the meta tag's csrf-token is supposed to be different than the form's authenticity_token i assume
[04:17:04] fourcolors: has joined #RubyOnRails
[04:17:22] fourcolors: has joined #RubyOnRails
[04:22:00] jane_booty_doe2: still happens without protect_from_forgery
[04:22:18] jane_booty_doe2: the csrf error goes away but it still won't auth. so weird
[04:22:38] jane_booty_doe2: https://github.com/plataformatec/devise/issues/4085
[04:23:45] Guest23176: has joined #RubyOnRails
[04:27:22] za1b1tsu: has joined #RubyOnRails
[04:30:53] kapil___: has joined #RubyOnRails
[04:34:52] jane_booty_doe2: how is this possible
[04:38:14] jane_booty_doe2: reading devise's source code makes me want to eat a bullet
[04:39:30] jane_booty_doe2: http://termbin.com/ebm6
[04:39:54] jane_booty_doe2: before_action :authenticate_user! in WelcomeController
[04:40:08] jane_booty_doe2: devise controller, view, route, all stock. 401 unauthorized
[04:43:24] Guest23176: has joined #RubyOnRails
[04:46:19] za1b1tsu: has joined #RubyOnRails
[04:52:16] rootsudo: has joined #RubyOnRails
[04:53:00] za1b1tsu: has joined #RubyOnRails
[04:54:59] Guest23176: has joined #RubyOnRails
[05:11:26] Technodrome: has joined #RubyOnRails
[05:33:15] Guest23176: has joined #RubyOnRails
[05:33:29] ShekharReddy: has joined #RubyOnRails
[05:39:18] jane_booty_doe2: k sorcery sucks too
[05:39:32] jane_booty_doe2: clearance is great though. thank god
[05:40:07] sevenseacat: you love shitting on people's hard work don't you
[05:40:42] Puffball: has joined #RubyOnRails
[05:41:51] jane_booty_doe2: i give credit when it's due. e.g. thoughtbot :)
[05:42:07] fcser_: has joined #RubyOnRails
[05:42:09] jane_booty_doe2: and uhhh... fetlife....
[05:43:18] jane_booty_doe2: i think i learned rails from you btw
[05:43:41] jane_booty_doe2: a rails 3 or 4 book you wrote with other devs. maybe someone else tho
[05:43:42] Guest23176: has joined #RubyOnRails
[05:45:07] jane_booty_doe2: ha yep! https://github.com/sevenseacat/r4ia-examples-rails-5
[05:45:10] jane_booty_doe2: damn my memory is good
[05:45:44] sevenseacat: yeah, a rails 4 book I wrote with Radar :)
[05:45:59] jane_booty_doe2: lolwut. oh okay sorry dude
[05:47:57] jane_booty_doe2: that book blew my mind. went from trying to force CMSes like drupal and wordpress into framework to using bdd
[05:48:38] sevenseacat: glad you liked it!
[05:51:02] havenwood: has joined #RubyOnRails
[05:53:35] havenwood: has joined #RubyOnRails
[05:54:07] nemesit: has joined #RubyOnRails
[05:57:03] apeiros_: has joined #RubyOnRails
[05:59:04] sandstrom: has joined #RubyOnRails
[06:05:32] Puffball: has joined #RubyOnRails
[06:20:48] snickers: has joined #RubyOnRails
[06:21:15] armyriad: has joined #RubyOnRails
[06:23:34] Guest23176: has joined #RubyOnRails
[06:30:06] sevenseacat: Radar: I got the go-ahead to upgrade ruby in our app, in part to fix the bug I mentioned the other day 🎉
[06:30:57] Radar: It should be a pretty painless upgrade
[06:31:28] sevenseacat: here's hoping!
[06:35:45] Dbugger: has joined #RubyOnRails
[06:47:18] xtsee: has joined #RubyOnRails
[06:48:40] dionysus69: has joined #RubyOnRails
[07:03:11] nemesit: when adding a column to a table how do I get a form to pass that as a parameter?
[07:03:34] Guest23176: has joined #RubyOnRails
[07:03:38] sevenseacat: you edit the form to add the field
[07:03:42] nemesit: it shows up in params but not in modelname_params
[07:04:48] sevenseacat: are you permitting the param in your controller?
[07:05:37] nemesit: well I didn't need to before adding it
[07:06:36] sevenseacat: you might have to clarify what modelname_params is then
[07:06:50] nemesit: I ran g scaffold
[07:06:50] sevenseacat: because usually it's a controller method that permits params
[07:06:58] nemesit: everything worked
[07:07:14] sevenseacat: right, because it generated everything for you
[07:07:19] sevenseacat: now you need to learn how it all works
[07:07:28] sevenseacat: otherwise you won't be able to edit anything
[07:07:39] nemesit: I'd like to keep it simple
[07:08:01] sevenseacat: thats fine, but you still need to learn how everything you scaffolded works
[07:08:01] jane_booty_doe2: config.action_controller.permit_all_parameters = true
[07:08:05] jane_booty_doe2: simple and dangerous :)
[07:08:09] sevenseacat: don't do that.
[07:08:12] nemesit: like I want to add that new field like the auto generated ones
[07:08:27] sevenseacat: so understand how the autogenerated ones work
[07:08:35] sevenseacat: then adding another one is straightforward
[07:08:50] sevenseacat: what is modelname_params?
[07:09:36] ShekharReddy: is there a way to insert a record in a table through rails console if all i have is the output string when I print an object in rails console ??
[07:09:52] ShekharReddy: let me know if i have to reframe the question
[07:10:00] nemesit: sevenseacat the name of the scaffold thing
[07:10:23] nemesit: like car_params or whatever
[07:10:26] sevenseacat: nemesit: what is it defined as?
[07:11:00] nemesit: ActionController::Parameters
[07:11:09] sevenseacat: no, in your code
[07:11:27] nemesit: I didn't define it
[07:11:27] sevenseacat: you're going to need to look at your code here.
[07:11:34] sevenseacat: the autogenerated code did.
[07:12:06] nemesit: sevenseacat thanks found it
[07:13:44] Guest23176: has joined #RubyOnRails
[07:15:59] jane_booty_doe2: what's a good place to gauge interest on a new gem
[07:17:17] jane_booty_doe2: or just whether or not it's worthwhile
[07:17:43] sevenseacat: I think most gems are made because the author needs it, so therefore it would always be worthwhile
[07:19:09] jane_booty_doe2: well i made a massive service layer because i need it, but i just wanted to know if it was worth gem-ifying it
[07:19:49] jane_booty_doe2: a fairly mature python package already exists of it https://github.com/pkkid/python-plexapi
[07:22:48] DrYockel: has joined #RubyOnRails
[07:26:55] sandstrom: has joined #RubyOnRails
[07:27:38] nottwo_: has joined #RubyOnRails
[07:53:15] dionysus69: is it normal that rails runner spawns 2 processes? I use DISABLE_SPRING=1 too
[07:53:17] Guest23176: has joined #RubyOnRails
[08:09:57] Ergo: has joined #RubyOnRails
[08:11:40] mikecmpbll: has joined #RubyOnRails
[08:33:34] Guest23176: has joined #RubyOnRails
[08:36:05] nemesit: is it possible to render haml from a string?
[08:46:05] ragsagar: has joined #RubyOnRails
[08:47:03] uksio: has joined #RubyOnRails
[08:51:08] Technodrome: has joined #RubyOnRails
[08:53:41] Guest23176: has joined #RubyOnRails
[08:54:24] tbuehlmann: nemesit: yes. why do you want that, though?
[08:57:12] nemesit: tbuehlmann I want to solve a problem fast now and good later xD
[08:58:12] hahuang65: has joined #RubyOnRails
[08:58:28] tbuehlmann: https://coderwall.com/p/wat2yw/haml-engine-render-scope
[09:03:26] Guest23176: has joined #RubyOnRails
[09:04:21] jottr: has joined #RubyOnRails
[09:10:51] nemesit: tbuehlmann works amazingly
[09:12:34] tbuehlmann: now make it pretty
[09:13:32] ragsagar: has joined #RubyOnRails
[09:21:19] xall: has joined #RubyOnRails
[09:23:52] ragsagar: has joined #RubyOnRails
[09:31:57] sandstrom: has joined #RubyOnRails
[09:42:07] ragsagar: has joined #RubyOnRails
[09:53:12] sandstrom: has joined #RubyOnRails
[10:02:02] jottr: has joined #RubyOnRails
[10:08:23] za1b1tsu: has joined #RubyOnRails
[10:12:17] reber: has joined #RubyOnRails
[10:12:29] deathwishdave: has joined #RubyOnRails
[10:21:14] bijan_: has joined #RubyOnRails
[10:24:15] kapil___: has joined #RubyOnRails
[10:25:47] cr1xu5: has joined #RubyOnRails
[10:32:19] downwater: has joined #RubyOnRails
[10:36:11] cr1xu5: has joined #RubyOnRails
[10:39:13] lankanmon: has joined #RubyOnRails
[10:42:11] GodFather: has joined #RubyOnRails
[10:44:38] Puffball: has joined #RubyOnRails
[10:45:39] jane_booty_doe: has joined #RubyOnRails
[10:47:44] jane_booty_doe: something is really wrong with my app
[10:48:19] jane_booty_doe: all post requests cause clearance's current_user helper to become nil
[10:48:51] jane_booty_doe: all have "Can't verify CSRF token authenticity."
[11:02:09] mikecmpbll: has joined #RubyOnRails
[11:06:23] cr1xu5: has joined #RubyOnRails
[11:19:27] LambdaSource: has joined #RubyOnRails
[11:24:31] sandstrom: has joined #RubyOnRails
[11:25:35] lankanmon: In this: changeset.merge!({user_names: changeset['user_id'].map{|id| UserNameById.find(id)&.name }}) -- How should my method UserNameById look?
[11:34:59] bijan_: has joined #RubyOnRails
[11:39:54] jottr: has joined #RubyOnRails
[11:43:43] bijan_: has joined #RubyOnRails
[11:47:45] bijan__: has joined #RubyOnRails
[11:49:35] sandstrom: has joined #RubyOnRails
[11:52:18] bijan_: has joined #RubyOnRails
[11:57:42] jottr: has joined #RubyOnRails
[11:59:45] apparition: has joined #RubyOnRails
[12:00:08] bijan_: has joined #RubyOnRails
[12:00:20] nemesit: has joined #RubyOnRails
[12:05:01] bijan_: has joined #RubyOnRails
[12:09:19] bijan__: has joined #RubyOnRails
[12:13:19] bijan_: has joined #RubyOnRails
[12:13:37] SteenJobs: has joined #RubyOnRails
[12:18:01] bijan_: has joined #RubyOnRails
[12:19:03] faitswulff: has joined #RubyOnRails
[12:22:09] Technodrome: has joined #RubyOnRails
[12:22:19] bijan__: has joined #RubyOnRails
[12:25:01] ragsagar: has joined #RubyOnRails
[12:26:19] bijan_: has joined #RubyOnRails
[12:36:08] apeiros_: has joined #RubyOnRails
[12:36:25] LiftLeft2: has joined #RubyOnRails
[12:37:34] bijan_: has joined #RubyOnRails
[12:51:17] dionysus69: any ideas why that capistrano task is not restarting service but if I run that code in console it does?
[12:51:56] dionysus69: that capistrano task location is default, Rails.root/lib/capistrano/tasks/some_task.rake
[12:52:21] dionysus69: the systemd files are in Rails.root/lib/systemd/*.service
[12:53:14] bijan_: has joined #RubyOnRails
[13:02:17] SteenJobs: has joined #RubyOnRails
[13:02:26] mikecmpbll: has joined #RubyOnRails
[13:03:39] hdabrows: has joined #RubyOnRails
[13:03:59] bijan_: has joined #RubyOnRails
[13:04:41] Puffball: has joined #RubyOnRails
[13:04:51] deathwishdave: has joined #RubyOnRails
[13:05:09] dionysus70: has joined #RubyOnRails
[13:11:04] dionysus70: has joined #RubyOnRails
[13:13:47] bijan_: has joined #RubyOnRails
[13:17:49] bijan_: has joined #RubyOnRails
[13:27:11] [Butch]: has joined #RubyOnRails
[13:27:21] [Butch]: has left #RubyOnRails: ()
[13:28:39] faitswulff: has joined #RubyOnRails
[13:30:45] bijan_: has joined #RubyOnRails
[13:31:01] sevenseacat: has joined #RubyOnRails
[13:33:25] Technodrome: has joined #RubyOnRails
[13:38:37] za1b1tsu: has joined #RubyOnRails
[13:41:49] segy: has joined #RubyOnRails
[13:42:13] GodFather: has joined #RubyOnRails
[13:46:09] bijan_: has joined #RubyOnRails
[13:48:04] orbyt_: has joined #RubyOnRails
[13:48:30] ragsagar: has joined #RubyOnRails
[13:52:35] segy: has joined #RubyOnRails
[13:57:39] bijan_: has joined #RubyOnRails
[14:00:08] faitswulff: has joined #RubyOnRails
[14:07:54] bijan_: has joined #RubyOnRails
[14:08:49] lxsameer: has joined #RubyOnRails
[14:12:55] IanMalcolm: has joined #RubyOnRails
[14:15:06] bijan_: has joined #RubyOnRails
[14:27:11] dionysus69: https://gist.github.com/webzorg/22023d08e62065802ed00868c85ab302
[14:27:19] dionysus69: so I get this error while executing bash command via capistrano
[14:27:39] dionysus69: if I have bash syntax error it works fine but if I send it a proper bash command it explodes
[14:28:09] dionysus69: notice do echo on line 5 in incorrect.rake
[14:28:31] dionysus69: echo shouldn't be there, but it works, stops the service
[14:28:48] faitswulff: has joined #RubyOnRails
[14:35:06] shenghi: has joined #RubyOnRails
[14:39:03] faitswulff: has joined #RubyOnRails
[14:40:19] maxdoubt: has joined #RubyOnRails
[14:46:29] mauro1254: has joined #RubyOnRails
[14:54:20] maxdoubt: has joined #RubyOnRails
[14:57:11] faitswulff: has joined #RubyOnRails
[14:57:17] Tempesta: has joined #RubyOnRails
[15:00:15] deathwishdave: has joined #RubyOnRails
[15:16:25] jottr: has joined #RubyOnRails
[15:16:45] snickers: has joined #RubyOnRails
[15:25:08] bijan_: has joined #RubyOnRails
[15:27:52] troys: has joined #RubyOnRails
[15:33:02] faitswulff: has joined #RubyOnRails
[15:38:08] bijan_: has joined #RubyOnRails
[15:47:51] orbyt_: has joined #RubyOnRails
[15:50:44] bijan_: has joined #RubyOnRails
[15:51:47] pulgolino: has joined #RubyOnRails
[15:55:20] bijan_: has joined #RubyOnRails
[15:59:09] bijan__: has joined #RubyOnRails
[15:59:20] apeiros_: has joined #RubyOnRails
[16:02:02] mikecmpb_: has joined #RubyOnRails
[16:03:34] bijan_: has joined #RubyOnRails
[16:07:50] s2013: has joined #RubyOnRails
[16:10:30] cagomez: has joined #RubyOnRails
[16:13:43] deathwishdave: has joined #RubyOnRails
[16:14:21] blindMoe: has joined #RubyOnRails
[16:15:06] blindMoe: Can someone recommend a good way of passing data ( in this case query params ) down from a controller through multiple classes. It seems odd to be passing the query string params through method calls down 4 or 5 levels
[16:15:19] bijan_: has joined #RubyOnRails
[16:15:37] Technodrome: has joined #RubyOnRails
[16:18:14] darkhanb: has joined #RubyOnRails
[16:28:54] bijan_: has joined #RubyOnRails
[16:34:21] pipework: blindmoe: Extract what you need, pass that
[16:35:25] [Butch]: has joined #RubyOnRails
[16:36:08] bijan_: has joined #RubyOnRails
[16:38:22] orbyt_: has joined #RubyOnRails
[16:46:38] lomex: has joined #RubyOnRails
[16:51:56] big_reggie: has joined #RubyOnRails
[16:52:46] big_reggie: where shoulder logic for creating a through model instance go when creating a main model as part of an association from a controller?
[16:53:01] big_reggie: if i put it in the controller then the controller gets pretty fat
[16:53:25] big_reggie: if i put it in the main model associated with the join table then its sort of outside of the realm of what the main model should be concerned with
[16:53:34] eckhardt: has joined #RubyOnRails
[16:53:42] pipework: big_reggie: builds assiciations
[16:53:44] big_reggie: should i have some sort of creator layer in between?
[16:55:32] pipework: big_reggie: Depending on what sort of responsiblity and whether one class should have it or a new one should provide it is likely dependent on the reuability of the behaviour outside of the context that spawned its need
[16:58:07] big_reggie: pipework: yeah i mean its basically just a straightforward "create model and the associated join table instance" but the model also has just "create model without any associated join table instance" so its optional
[16:58:34] big_reggie: if i put it in the model id basically be adding a special method like "create_with_X" where X is the assocation
[16:58:47] big_reggie: feels a bit weird putting it in the model but
[16:59:03] big_reggie: im not sure if there is some common pattern for this type of thing
[16:59:41] fragamus: has joined #RubyOnRails
[17:00:06] pipework: big_reggie: It really depends on what your'e creating. A small little sometimes-used object or something complex or somehting you use a lot?
[17:00:19] faitswulff: has joined #RubyOnRails
[17:01:06] big_reggie: pipework: its one of the main objects.. not sure if ill need to call it a lot or not. I'm also using this project as a way to learn best-practices so I'd prefer to do it the "right way" even if I dont end up re-using the logic
[17:01:52] pipework: big_reggie: Does the params for that object come nested or as part of the params in the request for the top-level?
[17:02:45] big_reggie: pipework: top level
[17:03:01] pipework: If the params are 'wide' rather than 'deep', I'd suggest a class to handle that requests's params and behave as intended. If the request that comes in is more nicely formed to follow the depth, consider #build in the controller.
[17:03:02] big_reggie: i chose to hide the implementation details of the REST API
[17:03:52] big_reggie: pipework: yeah that makes sense, is there a name for that type of class?
[17:04:02] big_reggie: like a Builder class or something?
[17:04:32] pipework: big_reggie: This one seems to be more of a builder or a factory, but classes in ruby are factories anyways.
[17:05:05] big_reggie: pipework: cool, appreciate it
[17:05:22] pipework: To me, I'd name the class by the thing it is called to do, like a request handler for the request
[17:05:46] pipework: Inside that, consider using private constant classes for the self-descriptive class case.
[17:06:40] pipework: 100% of the time I re-use these objects in controllers , I wanna know what they were used for previously. So instead of reading all instances, I try to make these nice classes that describe their usage rather than their capability.
[17:07:12] GodFather: has joined #RubyOnRails
[17:08:18] s2013: has joined #RubyOnRails
[17:09:29] big_reggie: pipework: interesting
[17:09:45] big_reggie: it seems like intuitively it should be something like XBuilder
[17:09:52] big_reggie: like it should be completely independent of requests
[17:10:39] big_reggie: youre saying to tie it to request responsibility and then have subclasses for XBuilder, etc.? in order to help tie to the request functionality?
[17:11:33] IanMalcolm: has joined #RubyOnRails
[17:12:03] pipework: I wouldn't subclass. I'd take the request you're working on now, create a class for the code you'll write and call it <name>Handler, then inside that class for a specific behaviour would go the code that *may* be reusable between different specific behaviour classes.
[17:12:49] big_reggie: gotcha, cool approach
[17:12:51] big_reggie: pipeworks: thanks
[17:15:58] SteenJobs: has joined #RubyOnRails
[17:22:23] bijan_: has joined #RubyOnRails
[17:25:20] GodFather: has joined #RubyOnRails