jsmestad-frankie 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.textile +81 -0
- data/VERSION +1 -1
- data/frankie.gemspec +4 -4
- data/lib/frankie.rb +5 -2
- metadata +4 -4
- data/README.rdoc +0 -79
data/README.textile
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
h1. Frankie
|
2
|
+
|
3
|
+
h2. Sinatra Meets Facebook(er)
|
4
|
+
|
5
|
+
Frankie is a Facebooker wrapper for Sinatra (http://www.sinatrarb.com)
|
6
|
+
|
7
|
+
Maintained by Justin Smestad (http://www.evalcode.com). This version is not backwards compatible with anything prior to Sinatra 0.9. Original version by Ron Evans has support for older versions of Sinatra and 'classic-style' applications.
|
8
|
+
|
9
|
+
Frankie is based on merb_facebooker by Chris Van Pelt.
|
10
|
+
|
11
|
+
h2. Sample Application
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'frankie'
|
15
|
+
|
16
|
+
module MyApp < Sinatra::Base
|
17
|
+
register Sinatra::Frankie
|
18
|
+
|
19
|
+
configure do
|
20
|
+
set_option :sessions, true
|
21
|
+
load_facebook_config File.dirname(__FILE_) + "/config/facebooker.yml", Sinatra::Application.environment
|
22
|
+
end
|
23
|
+
|
24
|
+
## facebooker helpers
|
25
|
+
before do
|
26
|
+
ensure_authenticated_to_facebook
|
27
|
+
ensure_application_is_installed_by_facebook_user
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
## the site
|
32
|
+
get '/' do
|
33
|
+
body "Hello #{session[:facebook_session].user.name} and welcome to frankie!"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
h2. Using Frankie
|
39
|
+
|
40
|
+
* Install the frankie gem (which will install both Sinatra and Facebooker if you do not already have them)
|
41
|
+
sudo gem install frankie
|
42
|
+
|
43
|
+
* Create the application directories for your new app
|
44
|
+
mkdir myapp
|
45
|
+
cd myapp
|
46
|
+
mkdir config
|
47
|
+
|
48
|
+
* Put your facebooker.yml file into the /lib/<application_name>/config directory, and set the values to your information. Here is a simple example of the file:
|
49
|
+
|
50
|
+
development:
|
51
|
+
api_key: apikeyhere
|
52
|
+
secret_key: secretkeyhere
|
53
|
+
canvas_page_name: yourcanvashere
|
54
|
+
callback_url: http://localhost:4567
|
55
|
+
test:
|
56
|
+
api_key: apikeyhere
|
57
|
+
secret_key: secretkeyhere
|
58
|
+
canvas_page_name: yourcanvashere
|
59
|
+
callback_url: http://localhost:4567
|
60
|
+
production:
|
61
|
+
api_key: apikeyhere
|
62
|
+
secret_key: secretkeyhere
|
63
|
+
canvas_page_name: yourcanvashere
|
64
|
+
callback_url: http://yourrealserver.com
|
65
|
+
|
66
|
+
|
67
|
+
* Make sure you have setup your Facebook application on the facebook site. Google "setup new facebook application" if you are unsure how to do this. I recommend starting with an IFrame application. A more advanced and cooler approach uses a tunneling script, which is included with Frankie. You do need to have "autossh" installed in order to use it, as well as a publicly addressable server. From a command prompt type tunnel <host> <remote_port> <local_port> like this:
|
68
|
+
|
69
|
+
tunnel app.myhost.com 10000 4567
|
70
|
+
|
71
|
+
You will also need to make sure your server's /etc/ssh/sshd_config contains the following line:
|
72
|
+
|
73
|
+
GatewayPorts clientspecified
|
74
|
+
|
75
|
+
Thanks to the many people like Evan Weaver, Blake Mizerany, and whoever else that have provided the code used in this tunneling script.
|
76
|
+
|
77
|
+
* Create your application, based on the sample above, and then run it:
|
78
|
+
ruby sample.rb
|
79
|
+
|
80
|
+
* Test your app by going to http://apps.facebook.com/yourappname
|
81
|
+
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/frankie.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{frankie}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.5.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ron Evans", "Justin Smestad"]
|
9
|
-
s.date = %q{2009-06-
|
9
|
+
s.date = %q{2009-06-26}
|
10
10
|
s.default_executable = %q{tunnel}
|
11
11
|
s.email = %q{justin.smestad@gmail.com}
|
12
12
|
s.executables = ["tunnel"]
|
13
13
|
s.extra_rdoc_files = [
|
14
14
|
"LICENSE",
|
15
|
-
"README.
|
15
|
+
"README.textile"
|
16
16
|
]
|
17
17
|
s.files = [
|
18
18
|
".DS_Store",
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
"CHANGELOG",
|
21
21
|
"LICENSE",
|
22
22
|
"Manifest",
|
23
|
-
"README.
|
23
|
+
"README.textile",
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"bin/tunnel",
|
data/lib/frankie.rb
CHANGED
@@ -180,7 +180,10 @@ module Sinatra
|
|
180
180
|
"http://apps.facebook.com/#{ENV['FACEBOOKER_RELATIVE_URL_ROOT']}/#{url}"
|
181
181
|
end
|
182
182
|
end
|
183
|
+
|
184
|
+
def self.registered(app)
|
185
|
+
app.register Loader
|
186
|
+
app.helpers Helpers
|
187
|
+
end
|
183
188
|
end
|
184
|
-
register Frankie::Loader
|
185
|
-
helpers Frankie::Helpers
|
186
189
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsmestad-frankie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ron Evans
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-06-
|
13
|
+
date: 2009-06-26 00:00:00 -07:00
|
14
14
|
default_executable: tunnel
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -41,14 +41,14 @@ extensions: []
|
|
41
41
|
|
42
42
|
extra_rdoc_files:
|
43
43
|
- LICENSE
|
44
|
-
- README.
|
44
|
+
- README.textile
|
45
45
|
files:
|
46
46
|
- .DS_Store
|
47
47
|
- .gitignore
|
48
48
|
- CHANGELOG
|
49
49
|
- LICENSE
|
50
50
|
- Manifest
|
51
|
-
- README.
|
51
|
+
- README.textile
|
52
52
|
- Rakefile
|
53
53
|
- VERSION
|
54
54
|
- bin/tunnel
|
data/README.rdoc
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
= Frankie
|
2
|
-
|
3
|
-
Frankie (http://facethesinatra.com) is a plugin for the Sinatra web framework (http://sinatrarb.com) that allows you to easily create a Facebook application by using the Facebooker gem.
|
4
|
-
|
5
|
-
Written by Ron Evans (http://www.deadprogrammersociety.com)
|
6
|
-
|
7
|
-
Based on merb_facebooker (http://github.com/vanpelt/merb_facebooker) by Chris Van Pelt, which was based on
|
8
|
-
the Rails classes in Facebooker (http://facebooker.rubyforge.org/) by Mike Mangino, Shane Vitarana, & Chad Fowler
|
9
|
-
|
10
|
-
2/20/2009 - Now updated to Sinatra 0.9 and facebooker thanks to mjfreshyfresh.
|
11
|
-
|
12
|
-
Thanks, everyone!
|
13
|
-
|
14
|
-
= Here is a very simple example application:
|
15
|
-
|
16
|
-
require 'rubygems'
|
17
|
-
require 'frankie'
|
18
|
-
|
19
|
-
configure do
|
20
|
-
set_option :sessions, true
|
21
|
-
load_facebook_config "./config/facebooker.yml", Sinatra.env
|
22
|
-
end
|
23
|
-
|
24
|
-
## facebooker helpers
|
25
|
-
before do
|
26
|
-
ensure_authenticated_to_facebook
|
27
|
-
ensure_application_is_installed_by_facebook_user
|
28
|
-
end
|
29
|
-
|
30
|
-
## the site
|
31
|
-
get '/' do
|
32
|
-
body "<h1>Hello #{session[:facebook_session].user.name} and welcome to frankie!</h1>"
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
= How to use frankie
|
37
|
-
- Install the frankie gem (which will install both Sinatra and Facebooker if you do not already have them)
|
38
|
-
sudo gem install frankie
|
39
|
-
|
40
|
-
- Create the application directories for your new app
|
41
|
-
mkdir myapp
|
42
|
-
cd myapp
|
43
|
-
mkdir config
|
44
|
-
|
45
|
-
- Put your facebooker.yml file into the /myapp/config directory, and set the values to your information. Here is a simple example of the file:
|
46
|
-
|
47
|
-
development:
|
48
|
-
api_key: apikeyhere
|
49
|
-
secret_key: secretkeyhere
|
50
|
-
canvas_page_name: yourcanvashere
|
51
|
-
callback_url: http://localhost:4567
|
52
|
-
test:
|
53
|
-
api_key: apikeyhere
|
54
|
-
secret_key: secretkeyhere
|
55
|
-
canvas_page_name: yourcanvashere
|
56
|
-
callback_url: http://localhost:4567
|
57
|
-
production:
|
58
|
-
api_key: apikeyhere
|
59
|
-
secret_key: secretkeyhere
|
60
|
-
canvas_page_name: yourcanvashere
|
61
|
-
callback_url: http://yourrealserver.com
|
62
|
-
|
63
|
-
|
64
|
-
- Make sure you have setup your Facebook application on the facebook site. Google "setup new facebook application" if you are unsure how to do this. I recommend starting with an IFrame application. A more advanced and cooler approach uses a tunneling script, which is included with Frankie. You do need to have "autossh" installed in order to use it, as well as a publicly addressable server. From a command prompt type tunnel <host> <remote_port> <local_port> like this:
|
65
|
-
|
66
|
-
tunnel app.myhost.com 10000 4567
|
67
|
-
|
68
|
-
You will also need to make sure your server's /etc/ssh/sshd_config contains the following line:
|
69
|
-
|
70
|
-
GatewayPorts clientspecified
|
71
|
-
|
72
|
-
Thanks to the many people like Evan Weaver, Blake Mizerany, and whoever else that have provided the code used in this tunneling script.
|
73
|
-
|
74
|
-
- Create your application, based on the sample above, and then run it:
|
75
|
-
ruby sample.rb
|
76
|
-
|
77
|
-
- Test your app by going to http://apps.facebook.com/yourappname
|
78
|
-
|
79
|
-
Have fun!
|