[#55853] ruby 1.9.3 p448 breaks ABI — V咜 Ondruch <v.ondruch@...>

Hi,

13 messages 2013/07/08

[#55951] [ruby-trunk - Bug #8625][Open] IO#read(len, buf) shortens buf even if data is not read actually — "no6v (Nobuhiro IMAI)" <nov@...>

10 messages 2013/07/11

[#55976] [ruby-trunk - Feature #8629][Open] Method#parameters should include the default value — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

13 messages 2013/07/12

[#55985] [ruby-trunk - Feature #8631][Open] Add a new method to ERB to allow assigning the local variables from a hash — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

19 messages 2013/07/12

[#56004] [ruby-trunk - Feature #8636][Open] Documentation hosting on ruby-lang.org — "zzak (Zachary Scott)" <e@...>

18 messages 2013/07/15

[#56019] [ruby-trunk - Feature #8639][Open] Add Queue#each — "avdi (Avdi Grimm)" <avdi@...>

15 messages 2013/07/15

[#56027] [CommonRuby - Feature #8640][Open] Add Time#elapsed to return nanoseconds since creation — "tenderlovemaking (Aaron Patterson)" <aaron@...>

24 messages 2013/07/15

[#56041] [CommonRuby - Feature #8643][Open] Add Binding.from_hash — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

26 messages 2013/07/16

[#56087] [ruby-trunk - Feature #8658][Open] Process.clock_gettime — "akr (Akira Tanaka)" <akr@...>

23 messages 2013/07/19

[#56096] [CommonRuby - Feature #8661][Open] Add option to print backstrace in reverse order(stack frames first & error last) — "gary4gar (Gaurish Sharma)" <gary4gar@...>

18 messages 2013/07/20

[#56193] [ruby-trunk - Bug #8693][Open] lambda invoked by yield acts as a proc with respect to return — "rits (First Last)" <redmine@...>

33 messages 2013/07/26

[#56274] [ruby-trunk - Bug #8709][Open] Dir.glob should return sorted file list — "tommorris (Tom Morris)" <tom@...>

19 messages 2013/07/30

[ruby-core:56259] Re: [ruby-trunk - Feature #8629] Method#parameters should include the default value

From: Akira Matsuda <ronnie@...>
Date: 2013-07-29 14:21:53 UTC
List: ruby-core #56259
Rodrigo,

Here's my implementation of "params bindings to propose to the Rails web
framework", which might interest you.
https://github.com/asakusarb/action_args/blob/master/lib/action_args/params_handler.rb
Also, here's the craziest example of "other approaches", which might just
entertain you (I mean, you might not want to use it in your actual code).
https://speakerdeck.com/a_matsuda/ruby-2-dot-0-on-rails-in-production?slide=64
HTH


On Mon, Jul 29, 2013 at 9:50 PM, rosenfeld (Rodrigo Rosenfeld Rosas) <
rr.rosas@gmail.com> wrote:

>
> Issue #8629 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).
>
>
> Ok, thanks for considering. I'll try to think in other approaches to deal
> with params bindings to propose to the Rails web framework, but that won't
> be as elegant as having the binding rules extracted directly from the
> default values (since in those cases the default values wouldn't be a proc
> if the users read the documentation).
> ----------------------------------------
> Feature #8629: Method#parameters should include the default value
> https://bugs.ruby-lang.org/issues/8629#change-40750
>
> Author: rosenfeld (Rodrigo Rosenfeld Rosas)
> Status: Rejected
> Priority: Normal
> Assignee: matz (Yukihiro Matsumoto)
> Category: core
> Target version:
>
>
> def a_method arg1=1, now = Time.now, arg2 = arg1 + 1
> end
>
> method(:a_method).parameters == [[:opt, :arg1], [:opt, :now], [:opt,
> :arg2]]
>
> I'd prefer if it could return [[:opt, :arg1, 1], [:opt, :now, now_proc],
> [:opt, :arg2, arg2_proc]], and expect now_proc[] to be the current time and
> arg2_proc[] to raise an exception since arg1 is not defined.
>
> Rationale:
>
> Ruby doesn't support optional typing such as:
>
> def a_method Date date, Integer n = 0, String name = ''
> end
>
> Groovy does, and this allows Grails to perform some interesting stuff,
> like params binding in controller methods.
>
> If Ruby allowed the default values to be introspected, web frameworks
> would be able to achieve a similar binding feature. For example, they could
> use the default to decide upon how to bind the param. They could use the
> default_value.class or if the default value is nil it could be specified by
> providing the class itself. For instance:
>
> def an_action name: '', parent_name: String, age: Integer, date: Date.today
> end
>
> Of course, you'd need to set up the framework so that it knows how you
> intend parse dates and other special types from string, but this could make
> the developer life easier and safer against this kind of attack (like
> trying to instantiate a hash, etc).
>
> An alternative would be something like:
>
> def an_action params = {name: :string, age: :integer, date: :date}
> end
>
> You get the idea. Many APIs would be possible to be built if we're able to
> easily get access to the default values when inspecting a method.
>
> Could you please consider this idea?
>
>
> --
> http://bugs.ruby-lang.org/
>
>


-- 
Akira Matsuda<ronnie@dio.jp>

In This Thread