On Tue, May 7, 2013 at 2:06 PM, Linus Pettersson
<[email protected]> wrote:
> Absolutely, that's a valid argument. However, if you need to do some
> customizations and start monkey patching a gem you may open it up for
> vulnerabilities as well, right? Plus, it would make your code messy when you
> have some code in your project and some in the gem.
>
> But sure, it is convient to have everything done and tested for you in gems
> like Devise.
>
> Any other thoughts on this subject?
>
>
>
> Den tisdagen den 7:e maj 2013 kl. 03:56:33 UTC+2 skrev tamouse:
>>
>> On Mon, May 6, 2013 at 12:38 PM, Linus Pettersson
>> <[email protected]> wrote:
>> > Hi!
>> >
>> > I watched this video the other day: http://vimeo.com/39498553
>> > where they argue that it may be a better idea to roll your own
>> > authentication solution using has_secure_password instead of using, for
>> > instance, Devise.
>> >
>> > I started a new project using Rails 4 today and need authentication. I'm
>> > thinking about creating my own using has_secure_password for learning
>> > purposes and also to make it more customizable (not sure what I actually
>> > need yet).
>> >
>> > Anyway, what are your thoughts on this subject? Do you usually use gems
>> > like
>> > Devise or just use your own solutions?
>>
>> Authentication and authorization are often vital functions; rolling my
>> own would be interesting as an exercise, but I would rather rely on
>> something that has seen thousands of uses across as many projects and
>> eyes. Implementing my own, I also have to create all the tests, and
>> the chance of me forgetting something in that case are great.

On Tue, May 7, 2013 at 2:06 PM, Linus Pettersson
<[email protected]> wrote:
> Absolutely, that's a valid argument. However, if you need to do some
> customizations and start monkey patching a gem you may open it up for
> vulnerabilities as well, right? Plus, it would make your code messy when you
> have some code in your project and some in the gem.

I wouldn't approach it this way. Since Devise provides the core
functions I need, I would wrap it up in a Class/Module that abstracts
the Devise parts while implementing my custom/application-specific
parts. Open classing (monkey patching) leaves one in a place where
upgrading Gems becomes exceedingly difficult, and causes confusion to
future maintainers, developers and testers when confronted with such
things.

> But sure, it is convient to have everything done and tested for you in gems
> like Devise.
>
> Any other thoughts on this subject?

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to