Joel Nylund
2008-Feb-01  15:29 UTC
[Facebooker-talk] proposed patch for fb_request_form_submit
Hi, according to the Facebook docs, you can add a uid to the  
fb_request_form_submit button which will pre select the user for the  
form.
So you can do:
<fb:request-form action="/my_tasks" method="POST"
invite="true"
type="MyApp" content="wants to invite you to xyz app">
<fb:request-form-submit uid="FRIENDID" />
</fb:request-form>
which will create a button that says "Send Fred MyApp Invitation"
# helpers.rb
Old code:
       # Create a submit button for an <fb:request-form>
       def fb_request_form_submit
         tag "fb:request-form-submit"
       end
New code:
    # Create a submit button for an <fb:request-form>
    # options - you can pass uid & label, see
http://wiki.developers.facebook.com/index.php/Fb:request-form-submit
  for details.
       def fb_request_form_submit(options={})
         tag ("fb:request-form-submit",options)
       end
Usage example:
   <% content_for("invite_message") do %>
     wants to blah blah blah. <%= fb_req_choice("Join XYZ  
ap",url_for(:action => "invite_signup")) %>
   <% end %>
   <%
fb_request_form("MyApp","invite_message",url_for(:action
=>
"invite_signup")) do %>
     <%= fb_request_form_submit({:uid => a_pre_determined_friend_id})%>
   <% end %>
Test - This works great for my app! (note im using 1.2.6) ,  I have no  
idea how to write a test for a helper, if someone wants to show me, I  
will do it.
thanks
Joel
David Clements
2008-Feb-01  17:45 UTC
[Facebooker-talk] proposed patch for fb_request_form_submit
Hey Joel,
If you look in rails_integration_test.rb you will see the test for
that helper method.
  def test_fb_request_form_submit
    assert_equal("<fb:request-form-submit />", at
h.fb_request_form_submit)
  end
You can add a couple of tests for the options you are adding.
And also, there should be a TODO in the documentation for that method.
 Can you please update it with your patch?
  # TODO: uid and label are options on this tag.
Thanks,
Dave
On Feb 1, 2008 8:29 AM, Joel Nylund <jnylund at yahoo.com>
wrote:> Hi, according to the Facebook docs, you can add a uid to the
> fb_request_form_submit button which will pre select the user for the
> form.
>
> So you can do:
>
> <fb:request-form action="/my_tasks" method="POST"
invite="true"
> type="MyApp" content="wants to invite you to xyz
app">
> <fb:request-form-submit uid="FRIENDID" />
> </fb:request-form>
>
> which will create a button that says "Send Fred MyApp Invitation"
>
> # helpers.rb
> Old code:
>        # Create a submit button for an <fb:request-form>
>        def fb_request_form_submit
>          tag "fb:request-form-submit"
>        end
>
> New code:
>     # Create a submit button for an <fb:request-form>
>     # options - you can pass uid & label, see
http://wiki.developers.facebook.com/index.php/Fb:request-form-submit
>   for details.
>        def fb_request_form_submit(options={})
>          tag ("fb:request-form-submit",options)
>        end
>
> Usage example:
>    <% content_for("invite_message") do %>
>      wants to blah blah blah. <%= fb_req_choice("Join XYZ
> ap",url_for(:action => "invite_signup")) %>
>    <% end %>
>    <%
fb_request_form("MyApp","invite_message",url_for(:action
=>
> "invite_signup")) do %>
>      <%= fb_request_form_submit({:uid =>
a_pre_determined_friend_id})%>
>    <% end %>
>
>
> Test - This works great for my app! (note im using 1.2.6) ,  I have no
> idea how to write a test for a helper, if someone wants to show me, I
> will do it.
>
> thanks
> Joel
>
>
> _______________________________________________
> Facebooker-talk mailing list
> Facebooker-talk at rubyforge.org
> http://rubyforge.org/mailman/listinfo/facebooker-talk
>
Joel Nylund
2008-Feb-04  21:59 UTC
[Facebooker-talk] proposed patch for fb_request_form_submit
Ok, here are the tests and updated rdoc
     # Create a submit button for an <fb:request-form>
       # If the request is for an individual user you can optionally
       # Provide the user and a label for the request button.
       # For example
			#   <% content_for("invite_user") do %>
			#     This gets sent in the invite. <%= fb_req_choice("Come join  
us!","new_invite_path") %>
			#   <% end %>
			#   <%
fb_request_form("Invite","invite_user","create_invite_path")
do %>
			#     Invite <%= fb_name(@facebook_user.friends.first.id)%> to the  
party<br />
			#     <%= fb_request_form_submit(@facebook_user.friends.first.id,  
"Invite %n") %>
			#   <% end %>
	    # <em>See:</em>
http://wiki.developers.facebook.com/index.php/Fb:request-form-submit
  for options
		   def fb_request_form_submit(options={})
          tag("fb:request-form-submit",options)
       end
*************************************************
Tests:
  def test_fb_request_form_submit_with_uid
     assert_equal("<fb:request-form-submit uid=\"123456789\" /
 >", at h.fb_request_form_submit({:uid => "123456789"}))
   end
   def test_fb_request_form_submit_with_label
      assert_equal("<fb:request-form-submit label=\"Send Invite to
Joel
\" />", at h.fb_request_form_submit({:label => "Send Invite
to Joel"}))
   end
   def test_fb_request_form_submit_with_uid_and_label
      assert_equal("<fb:request-form-submit label=\"Send Invite to
Joel
\" uid=\"123456789\" />", at
h.fb_request_form_submit({:uid =>
"123456789", :label => "Send Invite to Joel"}))
    end
thanks
Joel
On Feb 1, 2008, at 12:45 PM, David Clements wrote:
> Hey Joel,
>
> If you look in rails_integration_test.rb you will see the test for
> that helper method.
>
>  def test_fb_request_form_submit
>    assert_equal("<fb:request-form-submit / 
> >", at h.fb_request_form_submit)
>  end
>
> You can add a couple of tests for the options you are adding.
>
> And also, there should be a TODO in the documentation for that method.
> Can you please update it with your patch?
>
>  # TODO: uid and label are options on this tag.
>
>
> Thanks,
>
> Dave
>
>
> On Feb 1, 2008 8:29 AM, Joel Nylund <jnylund at yahoo.com> wrote:
>> Hi, according to the Facebook docs, you can add a uid to the
>> fb_request_form_submit button which will pre select the user for the
>> form.
>>
>> So you can do:
>>
>> <fb:request-form action="/my_tasks"
method="POST" invite="true"
>> type="MyApp" content="wants to invite you to xyz
app">
>> <fb:request-form-submit uid="FRIENDID" />
>> </fb:request-form>
>>
>> which will create a button that says "Send Fred MyApp
Invitation"
>>
>> # helpers.rb
>> Old code:
>>       # Create a submit button for an <fb:request-form>
>>       def fb_request_form_submit
>>         tag "fb:request-form-submit"
>>       end
>>
>> New code:
>>    # Create a submit button for an <fb:request-form>
>>    # options - you can pass uid & label, see
http://wiki.developers.facebook.com/index.php/Fb:request-form-submit
>>  for details.
>>       def fb_request_form_submit(options={})
>>         tag ("fb:request-form-submit",options)
>>       end
>>
>> Usage example:
>>   <% content_for("invite_message") do %>
>>     wants to blah blah blah. <%= fb_req_choice("Join XYZ
>> ap",url_for(:action => "invite_signup")) %>
>>   <% end %>
>>   <%
fb_request_form("MyApp","invite_message",url_for(:action
=>
>> "invite_signup")) do %>
>>     <%= fb_request_form_submit({:uid =>
a_pre_determined_friend_id})
>> %>
>>   <% end %>
>>
>>
>> Test - This works great for my app! (note im using 1.2.6) ,  I have  
>> no
>> idea how to write a test for a helper, if someone wants to show me, I
>> will do it.
>>
>> thanks
>> Joel
>>
>>
>> _______________________________________________
>> Facebooker-talk mailing list
>> Facebooker-talk at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/facebooker-talk
>>