├── arrows
├── Facebook Application
│ ├── log
│ │ ├── server.log
│ │ ├── test.log
│ │ ├── development.log
│ │ └── production.log
│ ├── public
│ │ ├── favicon.ico
│ │ ├── images
│ │ │ └── rails.png
│ │ ├── javascripts
│ │ │ └── application.js
│ │ ├── robots.txt
│ │ ├── dispatch.cgi
│ │ ├── dispatch.rb
│ │ ├── dispatch.fcgi
│ │ ├── 422.html
│ │ ├── 404.html
│ │ └── 500.html
│ ├── vendor
│ │ └── plugins
│ │ │ └── facebooker
│ │ │ ├── CHANGELOG.txt
│ │ │ ├── generators
│ │ │ ├── controller
│ │ │ │ ├── templates
│ │ │ │ │ ├── helper.rb
│ │ │ │ │ ├── view.fbml.erb
│ │ │ │ │ ├── view.html.erb
│ │ │ │ │ ├── controller.rb
│ │ │ │ │ └── functional_test.rb
│ │ │ │ ├── USAGE
│ │ │ │ └── controller_generator.rb
│ │ │ ├── scaffold
│ │ │ │ ├── templates
│ │ │ │ │ ├── helper.rb
│ │ │ │ │ ├── layout.fbml.erb
│ │ │ │ │ ├── view_show.fbml.erb
│ │ │ │ │ ├── view_show.html.erb
│ │ │ │ │ ├── view_new.fbml.erb
│ │ │ │ │ ├── view_edit.fbml.erb
│ │ │ │ │ ├── view_new.html.erb
│ │ │ │ │ ├── view_edit.html.erb
│ │ │ │ │ ├── layout.html.erb
│ │ │ │ │ ├── view_index.fbml.erb
│ │ │ │ │ ├── view_index.html.erb
│ │ │ │ │ └── style.css
│ │ │ │ └── USAGE
│ │ │ └── publisher
│ │ │ │ ├── templates
│ │ │ │ ├── publisher.rb
│ │ │ │ └── create_facebook_templates.rb
│ │ │ │ └── publisher_generator.rb
│ │ │ ├── lib
│ │ │ ├── facebooker
│ │ │ │ ├── version.rb
│ │ │ │ ├── models
│ │ │ │ │ ├── info_section.rb
│ │ │ │ │ ├── location.rb
│ │ │ │ │ ├── cookie.rb
│ │ │ │ │ ├── photo.rb
│ │ │ │ │ ├── tag.rb
│ │ │ │ │ ├── education_info.rb
│ │ │ │ │ ├── work_info.rb
│ │ │ │ │ ├── affiliation.rb
│ │ │ │ │ ├── album.rb
│ │ │ │ │ ├── info_item.rb
│ │ │ │ │ ├── friend_list.rb
│ │ │ │ │ ├── notifications.rb
│ │ │ │ │ ├── event.rb
│ │ │ │ │ ├── page.rb
│ │ │ │ │ └── group.rb
│ │ │ │ ├── rails
│ │ │ │ │ ├── facebook_pretty_errors.rb
│ │ │ │ │ ├── facebook_asset_path.rb
│ │ │ │ │ ├── utilities.rb
│ │ │ │ │ ├── facebook_request_fix.rb
│ │ │ │ │ ├── facebook_url_rewriting.rb
│ │ │ │ │ ├── profile_publisher_extensions.rb
│ │ │ │ │ ├── facebook_session_handling.rb
│ │ │ │ │ ├── routing.rb
│ │ │ │ │ └── test_helpers.rb
│ │ │ │ ├── service.rb
│ │ │ │ ├── server_cache.rb
│ │ │ │ ├── admin.rb
│ │ │ │ ├── batch_request.rb
│ │ │ │ ├── data.rb
│ │ │ │ ├── adapters
│ │ │ │ │ ├── facebook_adapter.rb
│ │ │ │ │ └── bebo_adapter.rb
│ │ │ │ └── feed.rb
│ │ │ └── tasks
│ │ │ │ ├── facebooker.rake
│ │ │ │ └── tunnel.rake
│ │ │ ├── install.rb
│ │ │ ├── History.txt
│ │ │ ├── templates
│ │ │ └── layout.erb
│ │ │ ├── test
│ │ │ ├── event_test.rb
│ │ │ ├── fixtures
│ │ │ │ ├── multipart_post_body_with_only_parameters.txt
│ │ │ │ ├── multipart_post_body_with_single_file.txt
│ │ │ │ └── multipart_post_body_with_single_file_that_has_nil_key.txt
│ │ │ ├── facebook_data_test.rb
│ │ │ ├── facebook_cache_test.rb
│ │ │ ├── test_helper.rb
│ │ │ ├── http_multipart_post_test.rb
│ │ │ ├── batch_request_test.rb
│ │ │ └── model_test.rb
│ │ │ ├── examples
│ │ │ └── desktop_login.rb
│ │ │ ├── TODO.txt
│ │ │ ├── COPYING
│ │ │ ├── facebooker.yml.tpl
│ │ │ ├── README
│ │ │ ├── init.rb
│ │ │ ├── Rakefile
│ │ │ └── Manifest.txt
│ ├── script
│ │ ├── console
│ │ ├── destroy
│ │ ├── plugin
│ │ ├── runner
│ │ ├── server
│ │ ├── dbconsole
│ │ ├── generate
│ │ ├── process
│ │ │ ├── reaper
│ │ │ ├── spawner
│ │ │ └── inspector
│ │ ├── performance
│ │ │ ├── profiler
│ │ │ ├── request
│ │ │ └── benchmarker
│ │ └── about
│ ├── app
│ │ ├── helpers
│ │ │ └── application_helper.rb
│ │ └── controllers
│ │ │ └── application.rb
│ ├── doc
│ │ └── README_FOR_APP
│ ├── config
│ │ ├── initializers
│ │ │ ├── mime_types.rb
│ │ │ ├── inflections.rb
│ │ │ └── new_rails_defaults.rb
│ │ ├── database.yml
│ │ ├── environments
│ │ │ ├── development.rb
│ │ │ ├── production.rb
│ │ │ └── test.rb
│ │ ├── facebooker.yml
│ │ └── routes.rb
│ ├── Rakefile
│ └── test
│ │ └── test_helper.rb
├── Konfabulator Widget
│ ├── Build
│ │ └── emptyfile
│ ├── front.psd
│ └── ArrowKeyControl.widget
│ │ └── Contents
│ │ └── Images
│ │ ├── down.png
│ │ ├── play.png
│ │ ├── up.png
│ │ ├── about.png
│ │ └── front.png
├── Dashboard Widget
│ ├── ArrowKeyControl.wdgt
│ │ ├── WidgetResources
│ │ │ ├── .parsers
│ │ │ │ ├── .version
│ │ │ │ └── translationParser.js
│ │ │ ├── resize.png
│ │ │ ├── ibutton
│ │ │ │ ├── black_i.png
│ │ │ │ ├── white_i.png
│ │ │ │ ├── black_rollie.png
│ │ │ │ └── white_rollie.png
│ │ │ ├── button
│ │ │ │ ├── glassbuttonleft.png
│ │ │ │ ├── glassbuttonmiddle.png
│ │ │ │ ├── glassbuttonright.png
│ │ │ │ ├── glassbuttonleftclicked.png
│ │ │ │ ├── glassbuttonmiddleclicked.png
│ │ │ │ └── glassbuttonrightclicked.png
│ │ │ └── AppleClasses
│ │ │ │ └── Images
│ │ │ │ ├── slide_thumb.png
│ │ │ │ ├── slide_track_hmid.png
│ │ │ │ ├── slide_track_vmid.png
│ │ │ │ ├── slide_track_vtop.png
│ │ │ │ ├── scroll_thumb_hleft.png
│ │ │ │ ├── scroll_thumb_hmid.png
│ │ │ │ ├── scroll_thumb_hright.png
│ │ │ │ ├── scroll_thumb_vmid.png
│ │ │ │ ├── scroll_thumb_vtop.png
│ │ │ │ ├── scroll_track_hleft.png
│ │ │ │ ├── scroll_track_hmid.png
│ │ │ │ ├── scroll_track_hright.png
│ │ │ │ ├── scroll_track_vmid.png
│ │ │ │ ├── scroll_track_vtop.png
│ │ │ │ ├── slide_track_hleft.png
│ │ │ │ ├── slide_track_hright.png
│ │ │ │ ├── slide_track_vbottom.png
│ │ │ │ ├── scroll_thumb_vbottom.png
│ │ │ │ └── scroll_track_vbottom.png
│ │ ├── Icon.png
│ │ ├── Default.png
│ │ ├── OpenSans-Bold.ttf
│ │ ├── OpenSans-Regular.ttf
│ │ ├── Parts
│ │ │ └── Images
│ │ │ │ ├── back.png
│ │ │ │ ├── front.png
│ │ │ │ ├── play_left.png
│ │ │ │ ├── play_middle.png
│ │ │ │ ├── play_right.png
│ │ │ │ ├── play_left_clicked.png
│ │ │ │ ├── play_middle_clicked.png
│ │ │ │ └── play_right_clicked.png
│ │ ├── Images
│ │ │ └── front_time_used.png
│ │ ├── en.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── localizedStrings.js
│ │ ├── widget-impl.js
│ │ ├── Info.plist
│ │ └── ArrowKeyControl.html
│ ├── Icon.png
│ └── ArrowKeyControl.wdgtproj
│ │ ├── project
│ │ └── widget.wdgt
│ │ │ ├── Icon.png
│ │ │ ├── Default.png
│ │ │ ├── Parts
│ │ │ ├── Images
│ │ │ │ ├── back.png
│ │ │ │ ├── front.png
│ │ │ │ ├── play_left.png
│ │ │ │ ├── play_right.png
│ │ │ │ ├── play_middle.png
│ │ │ │ ├── play_left_clicked.png
│ │ │ │ ├── play_right_clicked.png
│ │ │ │ └── play_middle_clicked.png
│ │ │ ├── datasources.js
│ │ │ ├── InfoButton.js
│ │ │ ├── setup.js
│ │ │ ├── GlassButton.js
│ │ │ ├── Button.js
│ │ │ └── parts.js
│ │ │ ├── Images
│ │ │ └── front_time_used.png
│ │ │ ├── en.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── localizedStrings.js
│ │ │ └── Info.plist
│ │ └── projectInfo.plist
├── C
│ ├── .DS_Store
│ ├── configure
│ ├── Makefile
│ └── akc.6
├── Web Game
│ ├── Icon.png
│ ├── preview.png
│ ├── images
│ │ ├── sprite.png
│ │ └── src
│ │ │ ├── up.png
│ │ │ ├── back.png
│ │ │ ├── blank.png
│ │ │ ├── down.png
│ │ │ ├── front.png
│ │ │ ├── info.png
│ │ │ ├── left.png
│ │ │ ├── right.png
│ │ │ ├── wait.png
│ │ │ └── front_time_used.png
│ ├── fonts
│ │ ├── OpenSans-Bold.ttf
│ │ └── OpenSans-Regular.ttf
│ ├── game.js
│ ├── index.html
│ └── ArrowKeyControl.js
└── Rakefile
├── akc.jpg
├── original
├── Dashboard Widget
│ ├── KeyControl.wdgt
│ │ ├── WidgetResources
│ │ │ ├── .parsers
│ │ │ │ ├── .version
│ │ │ │ └── translationParser.js
│ │ │ ├── resize.png
│ │ │ ├── ibutton
│ │ │ │ ├── black_i.png
│ │ │ │ ├── white_i.png
│ │ │ │ ├── black_rollie.png
│ │ │ │ └── white_rollie.png
│ │ │ ├── button
│ │ │ │ ├── glassbuttonleft.png
│ │ │ │ ├── glassbuttonmiddle.png
│ │ │ │ ├── glassbuttonright.png
│ │ │ │ ├── glassbuttonleftclicked.png
│ │ │ │ ├── glassbuttonmiddleclicked.png
│ │ │ │ └── glassbuttonrightclicked.png
│ │ │ └── AppleClasses
│ │ │ │ └── Images
│ │ │ │ ├── slide_thumb.png
│ │ │ │ ├── scroll_thumb_hmid.png
│ │ │ │ ├── scroll_thumb_vmid.png
│ │ │ │ ├── scroll_thumb_vtop.png
│ │ │ │ ├── scroll_track_hmid.png
│ │ │ │ ├── scroll_track_vmid.png
│ │ │ │ ├── scroll_track_vtop.png
│ │ │ │ ├── slide_track_hleft.png
│ │ │ │ ├── slide_track_hmid.png
│ │ │ │ ├── slide_track_vmid.png
│ │ │ │ ├── slide_track_vtop.png
│ │ │ │ ├── scroll_thumb_hleft.png
│ │ │ │ ├── scroll_thumb_hright.png
│ │ │ │ ├── scroll_track_hleft.png
│ │ │ │ ├── scroll_track_hright.png
│ │ │ │ ├── slide_track_hright.png
│ │ │ │ ├── slide_track_vbottom.png
│ │ │ │ ├── scroll_thumb_vbottom.png
│ │ │ │ └── scroll_track_vbottom.png
│ │ ├── en.lproj
│ │ │ ├── localizedStrings.js
│ │ │ └── InfoPlist.strings
│ │ ├── Icon.png
│ │ ├── Default.png
│ │ ├── Images
│ │ │ ├── back.png
│ │ │ ├── front.png
│ │ │ ├── play_left.png
│ │ │ ├── play_middle.png
│ │ │ ├── play_right.png
│ │ │ ├── DevelopedWith.png
│ │ │ ├── play_left_clicked.png
│ │ │ ├── play_right_clicked.png
│ │ │ └── play_middle_clicked.png
│ │ ├── OpenSans-Bold.ttf
│ │ ├── OpenSans-Regular.ttf
│ │ ├── widget-impl.js
│ │ ├── Info.plist
│ │ ├── Parts
│ │ │ ├── setup.js
│ │ │ ├── Text.js
│ │ │ ├── InfoButton.js
│ │ │ └── GlassButton.js
│ │ └── KeyControl.html
│ ├── Icon.png
│ ├── .DS_Store
│ └── KeyControl.wdgtproj
│ │ └── projectInfo.plist
├── C
│ ├── .DS_Store
│ ├── configure
│ ├── kc.rb
│ ├── Makefile
│ ├── kc.6
│ └── kc-num.c
├── Web Game
│ ├── Icon.png
│ └── KeyControl.fla
└── Konfabulator Widget
│ ├── front.psd
│ └── KeyControl.widget
│ └── Contents
│ └── Images
│ ├── up.png
│ ├── down.png
│ ├── play.png
│ ├── about.png
│ └── front.png
├── .gitignore
├── arrows2
├── style.css
└── index.html
├── LICENSE
└── index.html
/arrows/Facebook Application/log/server.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/log/test.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/Build/emptyfile:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/log/development.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/log/production.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/CHANGELOG.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/akc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/akc.jpg
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/.parsers/.version:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/.parsers/.version:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | **/.DS_Store
3 | arrows/C/akc
4 | original/C/kc
5 | Thumbs.db
--------------------------------------------------------------------------------
/arrows2/style.css:
--------------------------------------------------------------------------------
1 | #game { width: 200px; height: 200px; }
2 | #score { font-size: 18px; }
--------------------------------------------------------------------------------
/arrows/C/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/C/.DS_Store
--------------------------------------------------------------------------------
/original/C/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/C/.DS_Store
--------------------------------------------------------------------------------
/arrows/Web Game/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/Icon.png
--------------------------------------------------------------------------------
/original/Web Game/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Web Game/Icon.png
--------------------------------------------------------------------------------
/arrows/Web Game/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/preview.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/Icon.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/sprite.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/up.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/Icon.png
--------------------------------------------------------------------------------
/original/Web Game/KeyControl.fla:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Web Game/KeyControl.fla
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/front.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/front.psd
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/back.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/blank.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/down.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/front.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/info.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/left.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/right.png
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/wait.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/.DS_Store
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/templates/helper.rb:
--------------------------------------------------------------------------------
1 | module <%= class_name %>Helper
2 | end
3 |
--------------------------------------------------------------------------------
/arrows/Web Game/fonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/fonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/original/Konfabulator Widget/front.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/front.psd
--------------------------------------------------------------------------------
/arrows/C/configure:
--------------------------------------------------------------------------------
1 | echo "To configure, edit Makefile and change PREFIX, BINDIR, and MANDIR as necessary (The defaults may work fine for you)."
--------------------------------------------------------------------------------
/original/C/configure:
--------------------------------------------------------------------------------
1 | echo "To configure, edit Makefile and change PREFIX, BINDIR, and MANDIR as necessary (The defaults may work fine for you)."
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/helper.rb:
--------------------------------------------------------------------------------
1 | module <%= controller_class_name %>Helper
2 | end
3 |
--------------------------------------------------------------------------------
/arrows/Web Game/fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/console:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/console'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/destroy:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/destroy'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/plugin:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/plugin'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/runner:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/runner'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/server:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/server'
4 |
--------------------------------------------------------------------------------
/arrows/Web Game/images/src/front_time_used.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Web Game/images/src/front_time_used.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/en.lproj/localizedStrings.js:
--------------------------------------------------------------------------------
1 | var localizedStrings = new Object;
2 |
3 | localizedStrings["Done"] = "Done";
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/dbconsole:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/dbconsole'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/generate:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | require 'commands/generate'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/images/rails.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Facebook Application/public/images/rails.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Icon.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Icon.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Default.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Default.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/process/reaper:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/process/reaper'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/process/spawner:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/process/spawner'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/process/inspector:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/process/inspector'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/templates/view.fbml.erb:
--------------------------------------------------------------------------------
1 |
<%= class_name %>#<%= action %>
2 | Find me in <%= path %>
3 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/templates/view.html.erb:
--------------------------------------------------------------------------------
1 | <%= class_name %>#<%= action %>
2 | Find me in <%= path %>
3 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/back.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/front.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/performance/profiler:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/performance/profiler'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/performance/request:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/performance/request'
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/publisher/templates/publisher.rb:
--------------------------------------------------------------------------------
1 | class <%= class_name %>Publisher < Facebooker::Rails::Publisher
2 |
3 | end
4 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/arrows/Facebook Application/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | # Methods added to this helper will be available to all templates in the application.
2 | module ApplicationHelper
3 | end
4 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/performance/benchmarker:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../../config/boot'
3 | require 'commands/performance/benchmarker'
4 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_left.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_middle.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_right.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/back.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/DevelopedWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/DevelopedWith.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/front.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/resize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/resize.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/en.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/original/Konfabulator Widget/KeyControl.widget/Contents/Images/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/KeyControl.widget/Contents/Images/up.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Images/front_time_used.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Images/front_time_used.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_left.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/resize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/resize.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/en.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_left_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_left_clicked.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_right_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_right_clicked.png
--------------------------------------------------------------------------------
/original/Konfabulator Widget/KeyControl.widget/Contents/Images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/KeyControl.widget/Contents/Images/down.png
--------------------------------------------------------------------------------
/original/Konfabulator Widget/KeyControl.widget/Contents/Images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/KeyControl.widget/Contents/Images/play.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_middle.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_right.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/script/about:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require File.dirname(__FILE__) + '/../config/boot'
3 | $LOAD_PATH.unshift "#{RAILTIES_PATH}/builtin/rails_info"
4 | require 'commands/about'
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/down.png
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/play.png
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/up.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Images/play_middle_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/Images/play_middle_clicked.png
--------------------------------------------------------------------------------
/original/Konfabulator Widget/KeyControl.widget/Contents/Images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/KeyControl.widget/Contents/Images/about.png
--------------------------------------------------------------------------------
/original/Konfabulator Widget/KeyControl.widget/Contents/Images/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Konfabulator Widget/KeyControl.widget/Contents/Images/front.png
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/about.png
--------------------------------------------------------------------------------
/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Konfabulator Widget/ArrowKeyControl.widget/Contents/Images/front.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_left_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_left_clicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Icon.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/javascripts/application.js:
--------------------------------------------------------------------------------
1 | // Place your application-specific JavaScript functions and classes here
2 | // This file is automatically included by javascript_include_tag :defaults
3 |
--------------------------------------------------------------------------------
/original/C/kc.rb:
--------------------------------------------------------------------------------
1 | $,=nil;p"\033[12h";cs='0'.upto('9')+'a'.upto'z';
2 | while(1) do
3 | c = cs[rand(36)]
4 | p c
5 |
6 | b = Time.now
7 |
8 |
9 |
10 |
11 |
12 | end
13 |
14 | p "\033[121"
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/black_i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/black_i.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/white_i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/white_i.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_middle_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_middle_clicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_right_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Parts/Images/play_right_clicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/black_i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/black_i.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/white_i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/white_i.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Default.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonleft.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/black_rollie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/black_rollie.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/white_rollie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/ibutton/white_rollie.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/black_rollie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/black_rollie.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/white_rollie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/ibutton/white_rollie.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonmiddle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonmiddle.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonright.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonleft.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonmiddle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonmiddle.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonright.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/back.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/front.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonleftclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonleftclicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonleftclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonleftclicked.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/layout.fbml.erb:
--------------------------------------------------------------------------------
1 | <%%= stylesheet_link_tag 'facebook_scaffold' %>
2 | <%%= facebook_messages %>
3 |
4 |
5 | <%%= yield %>
6 |
7 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_thumb.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonmiddleclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonmiddleclicked.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonrightclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/button/glassbuttonrightclicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_thumb.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonmiddleclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonmiddleclicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonrightclicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/button/glassbuttonrightclicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Images/front_time_used.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Images/front_time_used.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_left.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_right.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/en.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_middle.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/templates/controller.rb:
--------------------------------------------------------------------------------
1 | class <%= class_name %>Controller < ApplicationController
2 | <% for action in actions -%>
3 | def <%= action %>
4 | end
5 |
6 | <% end -%>
7 | end
8 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vtop.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vtop.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hleft.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vmid.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vtop.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vtop.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hleft.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hright.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hleft.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hright.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hright.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vbottom.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hleft.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_hright.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vtop.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hleft.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_hright.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vmid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vmid.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vtop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vtop.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hleft.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_hright.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/slide_track_vbottom.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_left_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_left_clicked.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_right_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_right_clicked.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/doc/README_FOR_APP:
--------------------------------------------------------------------------------
1 | Use this README file to introduce your application and point to useful places in the API for learning more.
2 | Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries.
3 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vbottom.png
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vbottom.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_thumb_vbottom.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vbottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/AppleClasses/Images/scroll_track_vbottom.png
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_middle_clicked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bloopletech/keycontrol/master/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Images/play_middle_clicked.png
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2 | #
3 | # To ban all spiders from the entire site uncomment the next two lines:
4 | # User-Agent: *
5 | # Disallow: /
6 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/version.rb:
--------------------------------------------------------------------------------
1 | module Facebooker #:nodoc:
2 | module VERSION #:nodoc:
3 | MAJOR = 0
4 | MINOR = 9
5 | TINY = 9
6 |
7 | STRING = [MAJOR, MINOR, TINY].join('.')
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 | # Mime::Type.register_alias "text/html", :iphone
6 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/info_section.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class InfoSection
3 | include Model
4 | attr_accessor :field, :items
5 |
6 | def to_json
7 | {:field => field, :items => items}.to_json
8 | end
9 | end
10 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/location.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | ##
3 | # Representation of Location used in all places where a Location is specified.
4 | class Location
5 | include Model
6 | attr_accessor :city, :zip, :country, :state
7 | end
8 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/cookie.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 |
4 | ##
5 | # A simple representation of a cookie.
6 | class Cookie
7 | include Model
8 | attr_accessor :uid, :name, :value, :expires, :path
9 | end
10 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/photo.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | class Photo
4 | include Model
5 | attr_accessor :pid, :aid, :owner, :title,
6 | :link, :caption, :created,
7 | :src, :src_big, :src_small
8 | end
9 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/tag.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | class Tag
4 | include Model
5 | attr_accessor :pid, :subject, :xcoord, :ycoord
6 |
7 | def coordinates
8 | [xcoord, ycoord]
9 | end
10 |
11 | end
12 | end
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/widget-impl.js:
--------------------------------------------------------------------------------
1 | var widget = {
2 | preferenceForKey: function() {},
3 | setPreferenceForKey: function() {},
4 | openURL: function() {},
5 | prepareForTransition: function() {},
6 | performTransition: function() {},
7 | identifier: 'akc'
8 | };
9 |
10 | window.widget = widget;
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/widget-impl.js:
--------------------------------------------------------------------------------
1 | var widget = {
2 | preferenceForKey: function() {},
3 | setPreferenceForKey: function() {},
4 | openURL: function() {},
5 | prepareForTransition: function() {},
6 | performTransition: function() {},
7 | identifier: 'akc'
8 | };
9 |
10 | window.widget = widget;
--------------------------------------------------------------------------------
/original/C/Makefile:
--------------------------------------------------------------------------------
1 | PREFIX=/usr
2 | BINDIR=$(PREFIX)/local/bin
3 | MANDIR=$(PREFIX)/share/man
4 |
5 | all:
6 | gcc -Wall -pedantic -std=c99 -o kc kc.c
7 |
8 | install:
9 | cp ./kc $(BINDIR)/
10 | cp ./kc.6 $(MANDIR)/man6/
11 |
12 | clean:
13 | rm ./kc
14 |
15 | uninstall:
16 | rm $(BINDIR)/kc
17 | rm $(MANDIR)/man6/kc.6
18 |
--------------------------------------------------------------------------------
/arrows/C/Makefile:
--------------------------------------------------------------------------------
1 | PREFIX=/usr
2 | BINDIR=$(PREFIX)/local/bin
3 | MANDIR=$(PREFIX)/share/man
4 |
5 | all:
6 | gcc -Wall -pedantic -std=c99 -lm -o akc akc.c
7 |
8 | install:
9 | cp ./akc $(BINDIR)/
10 | cp ./akc.6 $(MANDIR)/man6/
11 |
12 | clean:
13 | rm ./akc
14 |
15 | uninstall:
16 | rm $(BINDIR)/akc
17 | rm $(MANDIR)/man6/akc.6
18 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require(File.join(File.dirname(__FILE__), 'config', 'boot'))
5 |
6 | require 'rake'
7 | require 'rake/testtask'
8 | require 'rake/rdoctask'
9 |
10 | require 'tasks/rails'
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/education_info.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class EducationInfo
3 | class HighschoolInfo
4 | include Model
5 | attr_accessor :hs1_id, :hs2_id, :grad_year, :hs1_name, :hs2_name
6 | end
7 |
8 | include Model
9 | attr_accessor :concentrations, :name, :year, :degree
10 | end
11 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/work_info.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class WorkInfo
3 | include Model
4 | attr_accessor :end_date, :start_date, :company_name, :description, :position, :location
5 | def location=(location)
6 | @location = location.kind_of?(Hash) ? Location.from_hash(location) : location
7 | end
8 | end
9 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/affiliation.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | ##
4 | # Represents a user's affiliation, for example, which educational institutions
5 | # the user is associated with.
6 | class Affiliation
7 | include Model
8 | attr_accessor :name, :status, :type, :year, :nid
9 | end
10 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/album.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | ##
4 | # A simple representation of a photo album.
5 | class Album
6 | include Model
7 | attr_accessor :aid, :cover_pid, :owner, :name, :created,
8 | :modified, :description, :location, :link, :size
9 |
10 | end
11 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/info_item.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class InfoItem
3 | include Model
4 | attr_accessor :label, :image, :description, :link, :sublabel
5 |
6 | def to_json
7 | {:label => label, :image => image, :description => description, :link => link, :sublabel => sublabel}.to_json
8 | end
9 | end
10 | end
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/en.lproj/localizedStrings.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 | var localizedStrings = {
8 | " ": "h",
9 | "Done": "Done"
10 | };
11 |
12 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_show.fbml.erb:
--------------------------------------------------------------------------------
1 | <% for attribute in attributes -%>
2 |
3 | <%= attribute.column.human_name %>:
4 | <%%=h @<%= singular_name %>.<%= attribute.name %> %>
5 |
6 |
7 | <% end -%>
8 |
9 | <%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
10 | <%%= link_to 'Back', <%= plural_name %>_path %>
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_show.html.erb:
--------------------------------------------------------------------------------
1 | <% for attribute in attributes -%>
2 |
3 | <%= attribute.column.human_name %>:
4 | <%%=h @<%= singular_name %>.<%= attribute.name %> %>
5 |
6 |
7 | <% end -%>
8 |
9 | <%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
10 | <%%= link_to 'Back', <%= plural_name %>_path %>
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/publisher/templates/create_facebook_templates.rb:
--------------------------------------------------------------------------------
1 | class CreateFacebookTemplates < ActiveRecord::Migration
2 | def self.up
3 | create_table :facebook_templates, :force => true do |t|
4 | t.string :bundle_id,:template_name
5 | t.timestamps
6 | end
7 | end
8 |
9 | def self.down
10 | drop_table :facebook_templates
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/en.lproj/localizedStrings.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 | var localizedStrings = {
8 | " ": "h",
9 | "Done": "Done"
10 | };
11 |
12 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/friend_list.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | ##
4 | # A simple representation of a photo album.
5 | class FriendList
6 | include Model
7 | attr_accessor :flid, :name
8 |
9 | # We need this to be an integer, so do the conversion
10 | def flid=(f)
11 | @flid= ( f.nil? ? nil : f.to_i)
12 | end
13 | end
14 | end
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/datasources.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 | var dashcodeDataSources = {
8 | "dataSource": { "Class": "DC.AjaxController" }
9 | };
10 |
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/templates/functional_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 | require File.dirname(__FILE__)+'/../../vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb'
3 |
4 | class <%= class_name %>ControllerTest < ActionController::TestCase
5 | include Facebooker::Rails::TestHelpers
6 |
7 | # Replace this with your real tests.
8 | def test_truth
9 | assert true
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_new.fbml.erb:
--------------------------------------------------------------------------------
1 | New <%= singular_name %>
2 |
3 | <%% facebook_form_for(@<%= singular_name %>) do |f| %>
4 | <%%= f.error_messages %>
5 |
6 | <% for attribute in attributes -%>
7 | <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
8 | <% end -%>
9 | <%%= f.buttons "Create" %>
10 | <%% end %>
11 |
12 | <%%= link_to 'Back', <%= plural_name %>_path %>
13 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new inflection rules using the following format
4 | # (all these examples are active by default):
5 | # ActiveSupport::Inflector.inflections do |inflect|
6 | # inflect.plural /^(ox)$/i, '\1en'
7 | # inflect.singular /^(ox)en/i, '\1'
8 | # inflect.irregular 'person', 'people'
9 | # inflect.uncountable %w( fish sheep )
10 | # end
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_edit.fbml.erb:
--------------------------------------------------------------------------------
1 | Editing <%= singular_name %>
2 |
3 | <%% facebook_form_for(@<%= singular_name %>) do |f| %>
4 | <%%= f.error_messages %>
5 |
6 | <% for attribute in attributes -%>
7 | <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
8 | <% end -%>
9 | <%%= f.buttons "Update" %>
10 | <%% end %>
11 |
12 | <%%= link_to 'Show', @<%= singular_name %> %> |
13 | <%%= link_to 'Back', <%= plural_name %>_path %>
14 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/facebook_pretty_errors.rb:
--------------------------------------------------------------------------------
1 | if RAILS_ENV=="development"
2 | class ActionController::Base
3 | def rescues_path_with_facebooker(template_name)
4 | t="#{RAILS_ROOT}/vendor/plugins/facebooker/templates/#{template_name}.erb"
5 | File.exist?(t) ? t : rescues_path_without_facebooker(template_name)
6 | end
7 |
8 | alias_method_chain :rescues_path,:facebooker
9 |
10 | def response_code_for_rescue(exception)
11 | 200
12 | end
13 | end
14 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_new.html.erb:
--------------------------------------------------------------------------------
1 | New <%= singular_name %>
2 |
3 | <%% form_for(@<%= singular_name %>) do |f| %>
4 | <%%= f.error_messages %>
5 |
6 | <% for attribute in attributes -%>
7 |
8 | <%%= f.label :<%= attribute.name %> %>
9 | <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
10 |
11 | <% end -%>
12 |
13 | <%%= f.submit "Create" %>
14 |
15 | <%% end %>
16 |
17 | <%%= link_to 'Back', <%= plural_name %>_path %>
18 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/install.rb:
--------------------------------------------------------------------------------
1 | require 'fileutils'
2 | require 'rubygems'
3 | facebook_config = File.join(RAILS_ROOT,"config","facebooker.yml")
4 | facebook_js = File.join(RAILS_ROOT,"public","javascripts",'facebooker.js')
5 | FileUtils.cp File.join(File.dirname(__FILE__) , 'facebooker.yml.tpl'), facebook_config unless File.exist?(facebook_config)
6 | FileUtils.cp File.join(File.dirname(__FILE__) , 'javascripts','facebooker.js'), facebook_js unless File.exist?(facebook_js)
7 | puts IO.read(File.join(File.dirname(__FILE__), 'README'))
8 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/History.txt:
--------------------------------------------------------------------------------
1 | === x.x.x / 2008-xx-xx
2 |
3 | * fixed typo in set app properties parser [Andrew Grim, shane]
4 | * Removed actor_id param from templatized feed [shane]
5 | * Added admin.get_allocation [shane]
6 | * Added data.get_cookies and data.set_cookie [shane]
7 | * Added admin.get_app_properties and admin.set_app_properties [shane]
8 |
9 | === 0.9.9 / 2008-09-08
10 |
11 | * Re-package as gem after reworking for new API
12 |
13 |
14 | === 0.9.5 / 2008-02-13
15 |
16 | * Next release of documentation
17 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/dispatch.cgi:
--------------------------------------------------------------------------------
1 | #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
2 |
3 | require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
4 |
5 | # If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
6 | # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
7 | require "dispatcher"
8 |
9 | ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
10 | Dispatcher.dispatch
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/dispatch.rb:
--------------------------------------------------------------------------------
1 | #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
2 |
3 | require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
4 |
5 | # If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
6 | # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
7 | require "dispatcher"
8 |
9 | ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
10 | Dispatcher.dispatch
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_edit.html.erb:
--------------------------------------------------------------------------------
1 | Editing <%= singular_name %>
2 |
3 | <%% form_for(@<%= singular_name %>) do |f| %>
4 | <%%= f.error_messages %>
5 |
6 | <% for attribute in attributes -%>
7 |
8 | <%%= f.label :<%= attribute.name %> %>
9 | <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
10 |
11 | <% end -%>
12 |
13 | <%%= f.submit "Update" %>
14 |
15 | <%% end %>
16 |
17 | <%%= link_to 'Show', @<%= singular_name %> %> |
18 | <%%= link_to 'Back', <%= plural_name %>_path %>
19 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/templates/layout.erb:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 | <%= @contents %>
23 |
24 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/database.yml:
--------------------------------------------------------------------------------
1 | # SQLite version 3.x
2 | # gem install sqlite3-ruby (not necessary on OS X Leopard)
3 | development:
4 | adapter: sqlite3
5 | database: db/development.sqlite3
6 | timeout: 5000
7 |
8 | # Warning: The database defined as "test" will be erased and
9 | # re-generated from your development database when you run "rake".
10 | # Do not set this db to the same as development or production.
11 | test:
12 | adapter: sqlite3
13 | database: db/test.sqlite3
14 | timeout: 5000
15 |
16 | production:
17 | adapter: sqlite3
18 | database: db/production.sqlite3
19 | timeout: 5000
20 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/layout.html.erb:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | <%= controller_class_name %>: <%%= controller.action_name %>
8 | <%%= stylesheet_link_tag 'scaffold' %>
9 |
10 |
11 |
12 | <%%= flash[:notice] %>
13 |
14 | <%%= yield %>
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/event_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 |
3 | class EventTest< Test::Unit::TestCase
4 | def test_attendance_will_query_for_event_when_asked_for_full_event_object
5 | session = flexmock("a session object")
6 | eid = 123
7 | attendance = Facebooker::Event::Attendance.new
8 | attendance.eid = eid
9 | attendance.session = session
10 | event = Facebooker::Event.new
11 | event.eid = eid
12 | session.should_receive(:post).once.with('facebook.events.get', :eids => [eid]).and_return([{:eid => eid}])
13 | assert_equal(123, attendance.event.eid)
14 | end
15 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/examples/desktop_login.rb:
--------------------------------------------------------------------------------
1 | $: << File.join(File.dirname(__FILE__), "..", 'lib')
2 | require 'facebooker'
3 | load "~/.facebooker" rescue fail("You'll need to specify API_KEY and SECRET_KEY to run this example. One way to do that would be to put them in ~/.facebooker")
4 | session = Facebooker::Session::Desktop.create(API_KEY, SECRET_KEY)
5 | puts session.login_url
6 | gets
7 |
8 | session.user.friends!.each do |user|
9 | puts "#{user.id}:#{user.name}"
10 | end
11 | # This time all the data is there because friends! has already retrieved it.
12 | session.user.friends.each do |user|
13 | puts "#{user.id}:#{user.name}"
14 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/tasks/facebooker.rake:
--------------------------------------------------------------------------------
1 | require 'fileutils'
2 |
3 | namespace :facebooker do
4 |
5 | desc "Create a basic facebooker.yml configuration file"
6 | task :setup => :environment do
7 | facebook_config = File.join(RAILS_ROOT,"config","facebooker.yml")
8 | unless File.exist?(facebook_config)
9 | FileUtils.cp File.join(RAILS_ROOT,"vendor", "plugins", "facebooker", "facebooker.yml.tpl"), facebook_config
10 | puts "Configuration created in #{RAILS_ROOT}/config/facebooker.yml"
11 | else
12 | puts "#{RAILS_ROOT}/config/facebooker.yml already exists"
13 | end
14 | end
15 |
16 | end
17 |
18 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/TODO.txt:
--------------------------------------------------------------------------------
1 | [ ] Remove facebook prefix from resource routes, making them worth with facebook and regular Rails controllers
2 | [ ] Use fb_sig_request_method to make facebook routes more Rails-like
3 | [ ] Refactor facebook form builder so erbout won't be deeply nested, causing erubis to break
4 | [ ] Support missing parameters on methods---most notably authentication-related parameters such as next and canvas
5 | [ ] Finish FQL Querying
6 | [ ] Refactor FQL Querying
7 | [ ] Transform incoming data into appropriate classes (Integers, Dates, etc.)
8 |
9 | [x] Specify fields wanted when getting user info (defaults to all now) [shane]
10 | [x] Create facebooker.yml config file and merge with tunnel.yml [shane]
11 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/notifications.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class Notifications
3 | include Model
4 | attr_accessor :messages, :group_invites, :pokes, :friend_requests, :event_invites, :shares
5 |
6 | [:Messages, :Pokes, :Shares].each do |notification_type|
7 | const_set(notification_type, Class.new do
8 | include Model
9 | attr_accessor :unread, :most_recent
10 | end)
11 | attribute_name = "#{notification_type.to_s.downcase}"
12 | define_method("#{attribute_name}=") do |value|
13 | instance_variable_set("@#{attribute_name}", value.kind_of?(Hash) ? Notifications.const_get(notification_type).from_hash(value) : value)
14 | end
15 | end
16 | end
17 | end
--------------------------------------------------------------------------------
/arrows2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | AKC2
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/publisher/publisher_generator.rb:
--------------------------------------------------------------------------------
1 | class PublisherGenerator < Rails::Generator::NamedBase
2 | def manifest
3 | record do |m|
4 | m.directory "app/models"
5 | m.template "publisher.rb", "app/models/#{file_name}_publisher.rb"
6 | migration_file_name="create_facebook_templates"
7 | # unless m.migration_exists?(migration_file_name)
8 | # THis should work, but it doesn't. So we re-implement it instead
9 | if Dir.glob(File.join(RAILS_ROOT,"db","migrate","[0-9]*_*.rb")).grep(/[0-9]+_create_facebook_templates.rb$/).blank?
10 | m.migration_template "create_facebook_templates.rb", "db/migrate", :migration_file_name=>migration_file_name
11 | end
12 | end
13 | end
14 |
15 |
16 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/facebook_asset_path.rb:
--------------------------------------------------------------------------------
1 | # module ActionView
2 | # module Helpers
3 | # module AssetTagHelper
4 | # def compute_public_path_with_facebooker(*args)
5 | # public_path=compute_public_path_without_facebooker(*args)
6 | # if public_path.starts_with?(ActionController::Base.asset_host)
7 | # str=ActionController::Base.asset_host
8 | # str += "/" unless str.ends_with?("/")
9 | # public_path.gsub(/#{Regexp.escape(ActionController::Base.asset_host)}#{@controller.request.relative_url_root}\//,str)
10 | # else
11 | # public_path
12 | # end
13 | # end
14 | #
15 | # alias_method_chain :compute_public_path, :facebooker
16 | # end
17 | # end
18 | # end
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/initializers/new_rails_defaults.rb:
--------------------------------------------------------------------------------
1 | # These settings change the behavior of Rails 2 apps and will be defaults
2 | # for Rails 3. You can remove this initializer when Rails 3 is released.
3 |
4 | if defined?(ActiveRecord)
5 | # Include Active Record class name as root for JSON serialized output.
6 | ActiveRecord::Base.include_root_in_json = true
7 |
8 | # Store the full class name (including module namespace) in STI type column.
9 | ActiveRecord::Base.store_full_sti_class = true
10 | end
11 |
12 | # Use ISO 8601 format for JSON serialized times and dates.
13 | ActiveSupport.use_standard_json_time_format = true
14 |
15 | # Don't escape HTML entities in JSON, leave that for the #json_escape helper.
16 | # if you're including raw json in an HTML page.
17 | ActiveSupport.escape_html_entities_in_json = false
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/utilities.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | module Rails
3 | class Utilities
4 | class << self
5 | def refresh_all_images(session)
6 | Dir.glob(File.join(RAILS_ROOT,"public","images","*.{png,jpg,gif}")).each do |img|
7 | refresh_image(session,img)
8 | end
9 | end
10 |
11 | def refresh_image(session,full_path)
12 | basename=File.basename(full_path)
13 | base_path=ActionController::Base.asset_host
14 | base_path += "/" unless base_path.ends_with?("/")
15 | image_path=base_path+"images/#{basename}"
16 | puts "refreshing: #{image_path}"
17 | session.server_cache.refresh_img_src(image_path)
18 | end
19 | end
20 | end
21 | end
22 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/app/controllers/application.rb:
--------------------------------------------------------------------------------
1 | # Filters added to this controller apply to all controllers in the application.
2 | # Likewise, all the methods added will be available for all controllers.
3 |
4 | class ApplicationController < ActionController::Base
5 | helper :all # include all helpers, all the time
6 |
7 | # See ActionController::RequestForgeryProtection for details
8 | # Uncomment the :secret if you're not using the cookie session store
9 | protect_from_forgery # :secret => '185552520df057dcf211528f689f4c2e'
10 |
11 | # See ActionController::Base for details
12 | # Uncomment this to filter the contents of submitted sensitive data parameters
13 | # from your application log (in this case, all fields with names like "password").
14 | # filter_parameter_logging :password
15 |
16 | set_facebook_session
17 | end
18 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | # Settings specified here will take precedence over those in config/environment.rb
2 |
3 | # In the development environment your application's code is reloaded on
4 | # every request. This slows down response time but is perfect for development
5 | # since you don't have to restart the webserver when you make code changes.
6 | config.cache_classes = false
7 |
8 | # Log error messages when you accidentally call methods on nil.
9 | config.whiny_nils = true
10 |
11 | # Show full error reports and disable caching
12 | config.action_controller.consider_all_requests_local = true
13 | config.action_view.debug_rjs = true
14 | config.action_controller.perform_caching = false
15 |
16 | # Don't care if the mailer can't send
17 | config.action_mailer.raise_delivery_errors = false
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_index.fbml.erb:
--------------------------------------------------------------------------------
1 | Listing <%= plural_name %>
2 |
3 |
4 |
5 | <% for attribute in attributes -%>
6 | <%= attribute.column.human_name %>
7 | <% end -%>
8 |
9 |
10 | <%% for <%= singular_name %> in @<%= plural_name %> %>
11 |
12 | <% for attribute in attributes -%>
13 | <%%=h <%= singular_name %>.<%= attribute.name %> %>
14 | <% end -%>
15 | <%%= link_to 'Show', <%= singular_name %> %>
16 | <%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %>
17 | <%%= button_to 'Destroy', <%= singular_name %>, :method => :delete %>
18 |
19 | <%% end %>
20 |
21 |
22 |
23 |
24 | <%%= link_to 'New <%= singular_name %>', new_<%= singular_name %>_path %>
25 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/service.rb:
--------------------------------------------------------------------------------
1 | require 'net/http'
2 | require 'facebooker/parser'
3 | module Facebooker
4 | class Service
5 | def initialize(api_base, api_path, api_key)
6 | @api_base = api_base
7 | @api_path = api_path
8 | @api_key = api_key
9 | end
10 |
11 | # TODO: support ssl
12 | def post(params)
13 | attempt = 0
14 | Parser.parse(params[:method], Net::HTTP.post_form(url, params))
15 | rescue Errno::ECONNRESET, EOFError
16 | if attempt == 0
17 | attempt += 1
18 | retry
19 | end
20 | end
21 |
22 | def post_file(params)
23 | Parser.parse(params[:method], Net::HTTP.post_multipart_form(url, params))
24 | end
25 |
26 | private
27 | def url
28 | URI.parse('http://'+ @api_base + @api_path)
29 | end
30 | end
31 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/view_index.html.erb:
--------------------------------------------------------------------------------
1 | Listing <%= plural_name %>
2 |
3 |
4 |
5 | <% for attribute in attributes -%>
6 | <%= attribute.column.human_name %>
7 | <% end -%>
8 |
9 |
10 | <%% for <%= singular_name %> in @<%= plural_name %> %>
11 |
12 | <% for attribute in attributes -%>
13 | <%%=h <%= singular_name %>.<%= attribute.name %> %>
14 | <% end -%>
15 | <%%= link_to 'Show', <%= singular_name %> %>
16 | <%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %>
17 | <%%= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %>
18 |
19 | <%% end %>
20 |
21 |
22 |
23 |
24 | <%%= link_to 'New <%= singular_name %>', new_<%= singular_name %>_path %>
25 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/server_cache.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class ServerCache
3 | def initialize(session)
4 | @session = session
5 | end
6 |
7 | #
8 | # Stores an FBML reference on the server for use
9 | # across multiple users in FBML
10 | def set_ref_handle(handle_name, fbml_source)
11 | (@session.post 'facebook.fbml.setRefHandle', {:handle => handle_name, :fbml => fbml_source},false) == '1'
12 | end
13 |
14 | ##
15 | # Fetches and re-caches the content stored at the given URL, for use in a fb:ref FBML tag.
16 | def refresh_ref_url(url)
17 | (@session.post 'facebook.fbml.refreshRefUrl', {:url => url},false) == '1'
18 | end
19 |
20 | def refresh_img_src(url)
21 | (@session.post 'facebook.fbml.refreshImgSrc', {:url => url},false) == '1'
22 | end
23 | end
24 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/facebook_request_fix.rb:
--------------------------------------------------------------------------------
1 | module ::ActionController
2 | class AbstractRequest
3 | def request_method_with_facebooker
4 | if parameters[:fb_sig_request_method]=="GET" and parameters[:_method].blank?
5 | parameters[:_method]="GET"
6 | end
7 | request_method_without_facebooker
8 | end
9 |
10 | if new.methods.include?("request_method")
11 | alias_method_chain :request_method, :facebooker
12 | end
13 |
14 | def xml_http_request_with_facebooker?
15 | parameters["fb_sig_is_mockajax"] == "1" ||
16 | parameters["fb_sig_is_ajax"] == "1" ||
17 | xml_http_request_without_facebooker?
18 | end
19 | alias_method_chain :xml_http_request?, :facebooker
20 | # we have to re-alias xhr? since it was pointing to the old method
21 | alias xhr? :xml_http_request?
22 |
23 | end
24 | end
--------------------------------------------------------------------------------
/arrows/Rakefile:
--------------------------------------------------------------------------------
1 | task :default => [:check_scoring_versions]
2 |
3 | task :check_scoring_versions do
4 | last_version = 0
5 | files = { './C/akc.c' => 0, './Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/KeyControl.js' => 0, './Konfabulator Widget/ArrowKeyControl.widget/Contents/ArrowKeyControl.kon' => 0 }
6 | files.each_pair do |fn, ver|
7 | fnr = File.expand_path(fn)
8 | unless File.exists?(fnr)
9 | puts "Missing file #{fn}"
10 | next
11 | end
12 |
13 | File.read(fnr) =~ /scoring version (\d+)$/
14 |
15 | unless $1
16 | puts "File #{fn} missing scoring version"
17 | next
18 | end
19 |
20 | files[fn] = $1.to_i
21 | end
22 |
23 | current_ver_fn, current_ver_ver = files.sort { |(ak, av), (bk, bv)| bv <=> av }.first
24 | puts "Current version is #{current_ver_ver}"
25 | files.delete_if { |k, v| v == current_ver_ver || v == 0 }
26 | files.each_pair do |k, v|
27 | puts "File #{k} has wrong version #{v}"
28 | end
29 | end
30 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AllowNetworkAccess
6 |
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleDisplayName
10 | KeyControl
11 | CFBundleIdentifier
12 | net.bloople.widget.KeyControl
13 | CFBundleName
14 | KeyControl
15 | CFBundleShortVersionString
16 | 1.1
17 | CFBundleVersion
18 | 1.1
19 | CloseBoxInsetX
20 | 15
21 | CloseBoxInsetY
22 | 15
23 | Height
24 | 147
25 | MainHTML
26 | KeyControl.html
27 | Width
28 | 180
29 |
30 |
31 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AllowNetworkAccess
6 |
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleDisplayName
10 | ArrowKeyControl
11 | CFBundleIdentifier
12 | net.bloople.widget.ArrowKeyControl
13 | CFBundleName
14 | ArrowKeyControl
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1.0
19 | CloseBoxInsetX
20 | 15
21 | CloseBoxInsetY
22 | 15
23 | Height
24 | 180
25 | MainHTML
26 | ArrowKeyControl.html
27 | Width
28 | 200
29 |
30 |
31 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AllowNetworkAccess
6 |
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleDisplayName
10 | KeyControl
11 | CFBundleIdentifier
12 | net.bloople.widget.ArrowKeyControl
13 | CFBundleName
14 | KeyControl
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1.0
19 | CloseBoxInsetX
20 | 15
21 | CloseBoxInsetY
22 | 15
23 | Height
24 | 180
25 | MainHTML
26 | ArrowKeyControl.html
27 | Width
28 | 200
29 |
30 |
31 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/dispatch.fcgi:
--------------------------------------------------------------------------------
1 | #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
2 | #
3 | # You may specify the path to the FastCGI crash log (a log of unhandled
4 | # exceptions which forced the FastCGI instance to exit, great for debugging)
5 | # and the number of requests to process before running garbage collection.
6 | #
7 | # By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
8 | # and the GC period is nil (turned off). A reasonable number of requests
9 | # could range from 10-100 depending on the memory footprint of your app.
10 | #
11 | # Example:
12 | # # Default log path, normal GC behavior.
13 | # RailsFCGIHandler.process!
14 | #
15 | # # Default log path, 50 requests between GC.
16 | # RailsFCGIHandler.process! nil, 50
17 | #
18 | # # Custom log path, normal GC behavior.
19 | # RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
20 | #
21 | require File.dirname(__FILE__) + "/../config/environment"
22 | require 'fcgi_handler'
23 |
24 | RailsFCGIHandler.process!
25 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/environments/production.rb:
--------------------------------------------------------------------------------
1 | # Settings specified here will take precedence over those in config/environment.rb
2 |
3 | # The production environment is meant for finished, "live" apps.
4 | # Code is not reloaded between requests
5 | config.cache_classes = true
6 |
7 | # Use a different logger for distributed setups
8 | # config.logger = SyslogLogger.new
9 |
10 | # Full error reports are disabled and caching is turned on
11 | config.action_controller.consider_all_requests_local = false
12 | config.action_controller.perform_caching = true
13 | config.action_view.cache_template_loading = true
14 |
15 | # Use a different cache store in production
16 | # config.cache_store = :mem_cache_store
17 |
18 | # Enable serving of images, stylesheets, and javascripts from an asset server
19 | # config.action_controller.asset_host = "http://assets.example.com"
20 |
21 | # Disable delivery errors, bad email addresses will be ignored
22 | # config.action_mailer.raise_delivery_errors = false
23 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/422.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 | The change you wanted was rejected (422)
9 |
21 |
22 |
23 |
24 |
25 |
26 |
The change you wanted was rejected.
27 |
Maybe you tried to change something you didn't have access to.
28 |
29 |
30 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Parts/setup.js:
--------------------------------------------------------------------------------
1 | // This file was generated by Dashcode from Apple Inc.
2 | // DO NOT EDIT - This file is maintained automatically by Dashcode.
3 | function setupParts() {
4 | if (setupParts.called) return;
5 | setupParts.called = true;
6 | CreateInfoButton('info', { frontID: 'front', foregroundStyle: 'white', backgroundStyle: 'black', onclick: 'showBack' });
7 | CreateGlassButton('done', { text: 'Done', onclick: 'showFront' });
8 | CreateText('score', { text: 'Have Fun!' });
9 | CreateText('biginfo', { text: 'Game Over' });
10 | CreateText('up', { text: unescape('%u2B06') });
11 | CreateText('down', { text: unescape('%u2B07') });
12 | CreateGlassButton('glassbutton', { onclick: 'gotoSite', text: 'Website' });
13 | CreateText('userDesc', { text: 'User:' });
14 | CreateText('passDesc', { text: 'Pass:' });
15 | CreateButton('play', { text: 'Play', onclick: 'playGame', rightImageWidth: 5, leftImageWidth: 5 });
16 | CreateText('out', { });
17 | }
18 | window.addEventListener('load', setupParts, false);
19 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/404.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 | The page you were looking for doesn't exist (404)
9 |
21 |
22 |
23 |
24 |
25 |
26 |
The page you were looking for doesn't exist.
27 |
You may have mistyped the address or the page may have moved.
28 |
29 |
30 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/public/500.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 | We're sorry, but something went wrong (500)
9 |
21 |
22 |
23 |
24 |
25 |
26 |
We're sorry, but something went wrong.
27 |
We've been notified about this issue and we'll take a look at it shortly.
28 |
29 |
30 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/environments/test.rb:
--------------------------------------------------------------------------------
1 | # Settings specified here will take precedence over those in config/environment.rb
2 |
3 | # The test environment is used exclusively to run your application's
4 | # test suite. You never need to work with it otherwise. Remember that
5 | # your test database is "scratch space" for the test suite and is wiped
6 | # and recreated between test runs. Don't rely on the data there!
7 | config.cache_classes = true
8 |
9 | # Log error messages when you accidentally call methods on nil.
10 | config.whiny_nils = true
11 |
12 | # Show full error reports and disable caching
13 | config.action_controller.consider_all_requests_local = true
14 | config.action_controller.perform_caching = false
15 |
16 | # Disable request forgery protection in test environment
17 | config.action_controller.allow_forgery_protection = false
18 |
19 | # Tell Action Mailer not to deliver emails to the real world.
20 | # The :test delivery method accumulates sent emails in the
21 | # ActionMailer::Base.deliveries array.
22 | config.action_mailer.delivery_method = :test
23 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/event.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | class Event
4 |
5 | ##
6 | # The relationship between a Facebook user and an Event to which he or she has been
7 | # invited and may or may not be attending (based on #rsvp_status)
8 | class Attendance
9 | include Model
10 | attr_accessor :eid, :uid, :rsvp_status
11 |
12 | ##
13 | # Get the full, populated Event object which this Attendance is associated with.
14 | # First access will query the Facebook API (facebook.events.get). Subsequent
15 | # calls are retrieved from in-memory cache.
16 | def event
17 | @event ||= Event.from_hash(session.post('facebook.events.get', :eids => [eid]).first)
18 | end
19 |
20 | #TODO: implement user() method
21 | end
22 |
23 | include Model
24 | attr_accessor :eid, :pic, :pic_small, :pic_big, :name, :creator, :update_time, :description, :tagline, :venue, :host, :event_type, :nid, :location, :end_time, :start_time, :event_subtype
25 | end
26 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/page.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | class Page
4 |
5 | class Genre
6 | include Model
7 | FIELDS = [ :dance, :party, :relax, :talk, :think, :workout, :sing, :intimate, :raunchy, :headphones ]
8 | attr_accessor *FIELDS
9 |
10 | def initialize(*args)
11 | super
12 |
13 | # convert '1'/'0' to true/false
14 | FIELDS.each do |field|
15 | self.send("#{field}=", self.send(field) == '1')
16 | end
17 | end
18 | end
19 |
20 | include Model
21 | attr_accessor :page_id, :name, :pic_small, :pic_big, :pic_square, :pic_large, :type, :type, :website, :location, :hours, :band_members, :bio, :hometown, :genre, :record_label, :influences, :has_added_app, :founded, :company_overview, :mission, :products, :release_date, :starring, :written_by, :directed_by, :produced_by, :studio, :awards, :plot_outline, :network, :season, :schedule
22 |
23 | def genre=(value)
24 | @genre = value.kind_of?(Hash) ? Genre.from_hash(value) : value
25 | end
26 | end
27 | end
28 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/InfoButton.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 |
8 | function CreateInfoButton(elementOrID, spec)
9 | {
10 | var flipElement = elementOrID;
11 | if (elementOrID.nodeType != Node.ELEMENT_NODE) {
12 | flipElement = document.getElementById(elementOrID);
13 | }
14 | if (!flipElement.loaded) {
15 | flipElement.loaded = true;
16 | while (flipElement.firstChild) {
17 | flipElement.removeChild(flipElement.firstChild);
18 | }
19 |
20 | var onclick = spec.onclick || null;
21 | try { onclick = eval(onclick); } catch (e) { onclick = null; }
22 |
23 | flipElement.object = new AppleInfoButton(flipElement, document.getElementById(spec.frontID), spec.foregroundStyle, spec.backgroundStyle, onclick);
24 | flipElement.object.element = flipElement;
25 | }
26 |
27 | return flipElement.object;
28 | }
29 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_only_parameters.txt:
--------------------------------------------------------------------------------
1 | --MichaelNiessnerIsSuperDuperAwesome
2 | Content-Disposition: form-data; name="aid"
3 |
4 | 940915667462717
5 | --MichaelNiessnerIsSuperDuperAwesome
6 | Content-Disposition: form-data; name="api_key"
7 |
8 | 77a52842357422fadd912a2600e6e53c
9 | --MichaelNiessnerIsSuperDuperAwesome
10 | Content-Disposition: form-data; name="call_id"
11 |
12 | 1172623588.023010
13 | --MichaelNiessnerIsSuperDuperAwesome
14 | Content-Disposition: form-data; name="caption"
15 |
16 | Under the sunset
17 | --MichaelNiessnerIsSuperDuperAwesome
18 | Content-Disposition: form-data; name="method"
19 |
20 | facebook.photos.upload
21 | --MichaelNiessnerIsSuperDuperAwesome
22 | Content-Disposition: form-data; name="session_key"
23 |
24 | 489727d0ab2efc6e8003018c-i2LLkn8BDb2s.
25 | --MichaelNiessnerIsSuperDuperAwesome
26 | Content-Disposition: form-data; name="sig"
27 |
28 | dfa724b8a5cd97d9df4baf2b60d3484c
29 | --MichaelNiessnerIsSuperDuperAwesome
30 | Content-Disposition: form-data; name="v"
31 |
32 | 1.0
33 | --MichaelNiessnerIsSuperDuperAwesome--
34 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2008-2009 Brenton Fletcher (http://i.bloople.net i@bloople.net)
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/admin.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class Admin
3 | def initialize(session)
4 | @session = session
5 | end
6 |
7 | # ** BETA ***
8 | # +properties+: Hash of properties you want to set
9 | def set_app_properties(properties)
10 | properties = properties.respond_to?(:to_json) ? properties.to_json : properties
11 | (@session.post 'facebook.admin.setAppProperties', :properties => properties) == '1'
12 | end
13 |
14 | # ** BETA ***
15 | # +properties+: Hash of properties you want to view.
16 | def get_app_properties(*properties)
17 | json = @session.post('facebook.admin.getAppProperties', :properties => properties.to_json)
18 | hash = JSON.parse(CGI.unescapeHTML(json))
19 | @properties = ApplicationProperties.from_hash(hash)
20 | end
21 |
22 | # Integration points include..
23 | # :notifications_per_day, :requests_per_day, :emails_per_day, :email_disable_message_location
24 | def get_allocation(integration_point)
25 | @session.post('facebook.admin.getAllocation', :integration_point_name => integration_point.to_s).to_i
26 | end
27 | end
28 | end
29 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/COPYING:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2007 Chad Fowler
3 | #
4 | # Permission is hereby granted, free of charge, to any person obtaining a copy of
5 | # this software and associated documentation files (the "Software"), to deal in the
6 | # Software without restriction, including without limitation the rights to use,
7 | # copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
8 | # Software, and to permit persons to whom the Software is furnished to do so,
9 | # subject to the following conditions:
10 | #
11 | # The above copyright notice and this permission notice shall be included in all
12 | # copies or substantial portions of the Software.
13 | #
14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 | # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 | # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 | # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 | # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/setup.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 | var dashcodePartSpecs = {
8 | "biginfo": { "text": "Game Over", "view": "DC.Text" },
9 | "done": { "creationFunction": "CreateGlassButton", "onclick": "showFront", "text": "Done", "view": "DC.View" },
10 | "glassbutton": { "creationFunction": "CreateGlassButton", "onclick": "gotoSite", "text": "Website", "view": "DC.View" },
11 | "info": { "backgroundStyle": "white", "creationFunction": "CreateInfoButton", "foregroundStyle": "white", "frontID": "front", "onclick": "showBack", "view": "DC.View" },
12 | "out": { "view": "DC.Text" },
13 | "passDesc": { "text": "Password:", "view": "DC.Text" },
14 | "play": { "creationFunction": "CreateButton", "leftImageWidth": 5, "onclick": "playGame", "rightImageWidth": 5, "text": "Play", "view": "DC.View" },
15 | "score": { "text": "Have fun!", "view": "DC.Text" },
16 | "userDesc": { "text": "Username:", "view": "DC.Text" }
17 | };
18 |
19 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/facebooker.yml.tpl:
--------------------------------------------------------------------------------
1 | # The api key, secret key, and canvas page name are required to get started
2 | # Tunnel configuration is only needed if you are going to use the facebooker:tunnel Rake tasks
3 | # Your callback url in Facebook should be set to http://public_host:public_port
4 | # To develop for the new profile design, add the following key..
5 | # api: new
6 | # remove the key or set it to anything else to use the old facebook design.
7 | # This should only be necessary until the final version of the new profile is released.
8 |
9 | development:
10 | api_key:
11 | secret_key:
12 | canvas_page_name:
13 | callback_url:
14 | tunnel:
15 | public_host_username:
16 | public_host:
17 | public_port: 4007
18 | local_port: 3000
19 |
20 | test:
21 | api_key:
22 | secret_key:
23 | canvas_page_name:
24 | callback_url:
25 | tunnel:
26 | public_host_username:
27 | public_host:
28 | public_port: 4007
29 | local_port: 3000
30 |
31 | production:
32 | api_key:
33 | secret_key:
34 | canvas_page_name:
35 | callback_url:
36 | tunnel:
37 | public_host_username:
38 | public_host:
39 | public_port: 4007
40 | local_port: 3000
41 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/GlassButton.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 |
8 | function CreateGlassButton(elementOrID, spec)
9 | {
10 | var buttonElement = elementOrID;
11 | if (elementOrID.nodeType != Node.ELEMENT_NODE) {
12 | buttonElement = document.getElementById(elementOrID);
13 | }
14 |
15 | if (!buttonElement.loaded) {
16 | buttonElement.loaded = true;
17 | while (buttonElement.firstChild) {
18 | buttonElement.removeChild(buttonElement.firstChild);
19 | }
20 |
21 | var text = spec.text || '';
22 | if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
23 |
24 | var onclick = spec.onclick || null;
25 | try { onclick = eval(onclick); } catch (e) { onclick = null; }
26 |
27 | buttonElement.object = new AppleGlassButton(buttonElement, text, onclick);
28 | buttonElement.object.element = buttonElement;
29 | buttonElement.object.setEnabled(!spec.disabled);
30 | }
31 |
32 | return buttonElement.object;
33 | }
34 |
--------------------------------------------------------------------------------
/original/C/kc.6:
--------------------------------------------------------------------------------
1 | .\" Process this file with
2 | .\" groff -man -Tascii foo.1
3 | .\"
4 | .TH KC 6 "JANUARY 2008" KeyControl "User Manuals"
5 | .SH NAME
6 | kc \- KeyControl
7 | .SH SYNOPSIS
8 | .B kc
9 | .SH DESCRIPTION
10 | .B KeyControl
11 | is a reaction testing game that tests your ability to type quickly.
12 | KeyControl does this by presenting a character on the screen. You then have
13 | to type this character on your keyboard a quickly as possible. If you
14 | enter the correct character, your score is increased; enter an incorrect
15 | character and your score drops. Once you've entered the character, a new
16 | character is shown and the process repeats. After each character, the time
17 | you have to enter the next character is decreased (i.e. the game gets
18 | harder the longer you play it). When you enter a character too slowly,
19 | the game ends and your final score is displayed.
20 |
21 | Note: You don't need to use the shift key when playing; e.g. if the games
22 | asks for ^, then you can type 6, no shift.
23 | .SH BUGS
24 | The game uses vt100 terminal commands and may not work on a vt100 incompatible terminal.
25 | The game assumes a standard PC keyboard layout for the non-alphanumeric keys; some
26 | foreign keyboard layouts may map these keys differently.
27 | .SH AUTHOR
28 | Brenton Fletcher
29 |
30 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/facebooker.yml:
--------------------------------------------------------------------------------
1 | # The api key, secret key, and canvas page name are required to get started
2 | # Tunnel configuration is only needed if you are going to use the facebooker:tunnel Rake tasks
3 | # Your callback url in Facebook should be set to http://public_host:public_port
4 | # To develop for the new profile design, add the following key..
5 | # api: new
6 | # remove the key or set it to anything else to use the old facebook design.
7 | # This should only be necessary until the final version of the new profile is released.
8 |
9 | development:
10 | api_key: 05b4cb3f4d8eda02f83b313253e115a8
11 | secret_key: f38e99820fd1c4f69911a30924052ebe
12 | canvas_page_name: http://apps.facebook.com/keycontrol/
13 | callback_url: http://bloople.ath.cx/
14 | tunnel:
15 | public_host_username:
16 | public_host:
17 | public_port: 4007
18 | local_port: 3000
19 |
20 | test:
21 | api_key:
22 | secret_key:
23 | canvas_page_name:
24 | callback_url:
25 | tunnel:
26 | public_host_username:
27 | public_host:
28 | public_port: 4007
29 | local_port: 3000
30 |
31 | production:
32 | api_key:
33 | secret_key:
34 | canvas_page_name:
35 | callback_url:
36 | tunnel:
37 | public_host_username:
38 | public_host:
39 | public_port: 4007
40 | local_port: 3000
41 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file.txt:
--------------------------------------------------------------------------------
1 | --MichaelNiessnerIsSuperDuperAwesome
2 | Content-Disposition: form-data; name="aid"
3 |
4 | 940915667462717
5 | --MichaelNiessnerIsSuperDuperAwesome
6 | Content-Disposition: form-data; name="api_key"
7 |
8 | 77a52842357422fadd912a2600e6e53c
9 | --MichaelNiessnerIsSuperDuperAwesome
10 | Content-Disposition: form-data; name="call_id"
11 |
12 | 1172623588.023010
13 | --MichaelNiessnerIsSuperDuperAwesome
14 | Content-Disposition: form-data; name="caption"
15 |
16 | Under the sunset
17 | --MichaelNiessnerIsSuperDuperAwesome
18 | Content-Disposition: form-data; name="method"
19 |
20 | facebook.photos.upload
21 | --MichaelNiessnerIsSuperDuperAwesome
22 | Content-Disposition: form-data; name="session_key"
23 |
24 | 489727d0ab2efc6e8003018c-i2LLkn8BDb2s.
25 | --MichaelNiessnerIsSuperDuperAwesome
26 | Content-Disposition: form-data; name="sig"
27 |
28 | dfa724b8a5cd97d9df4baf2b60d3484c
29 | --MichaelNiessnerIsSuperDuperAwesome
30 | Content-Disposition: form-data; name="v"
31 |
32 | 1.0
33 | --MichaelNiessnerIsSuperDuperAwesome
34 | Content-Disposition: form-data; name="file"; filename="somefilename.jpg"
35 | Content-Type: image/jpg
36 |
37 | [Raw file data here]
38 | --MichaelNiessnerIsSuperDuperAwesome--
39 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt:
--------------------------------------------------------------------------------
1 | --MichaelNiessnerIsSuperDuperAwesome
2 | Content-Disposition: form-data; name="aid"
3 |
4 | 940915667462717
5 | --MichaelNiessnerIsSuperDuperAwesome
6 | Content-Disposition: form-data; name="api_key"
7 |
8 | 77a52842357422fadd912a2600e6e53c
9 | --MichaelNiessnerIsSuperDuperAwesome
10 | Content-Disposition: form-data; name="call_id"
11 |
12 | 1172623588.023010
13 | --MichaelNiessnerIsSuperDuperAwesome
14 | Content-Disposition: form-data; name="caption"
15 |
16 | Under the sunset
17 | --MichaelNiessnerIsSuperDuperAwesome
18 | Content-Disposition: form-data; name="method"
19 |
20 | facebook.photos.upload
21 | --MichaelNiessnerIsSuperDuperAwesome
22 | Content-Disposition: form-data; name="session_key"
23 |
24 | 489727d0ab2efc6e8003018c-i2LLkn8BDb2s.
25 | --MichaelNiessnerIsSuperDuperAwesome
26 | Content-Disposition: form-data; name="sig"
27 |
28 | dfa724b8a5cd97d9df4baf2b60d3484c
29 | --MichaelNiessnerIsSuperDuperAwesome
30 | Content-Disposition: form-data; name="v"
31 |
32 | 1.0
33 | --MichaelNiessnerIsSuperDuperAwesome
34 | Content-Disposition: form-data; filename="somefilename.jpg"
35 | Content-Type: image/jpg
36 |
37 | [Raw file data here]
38 | --MichaelNiessnerIsSuperDuperAwesome--
39 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/batch_request.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class BatchRequest
3 | instance_methods.each { |m| undef_method m unless m =~ /(^__|^nil\?$|^send$|proxy_|^respond_to\?$|^new$)/ }
4 | attr_reader :uri
5 | attr_reader :method
6 | class UnexecutedRequest < StandardError; end
7 | def initialize(params,proc)
8 | @method=params[:method]
9 | @uri=params.map{|k,v| "#{k}=#{CGI.escape(v.to_s)}"}.join("&")
10 | @proc=proc
11 | end
12 |
13 | def result=(result_object)
14 | @result = @proc.nil? ? result_object : @proc.call(result_object)
15 | end
16 |
17 | def exception_raised=(ex)
18 | @exception=ex
19 | end
20 |
21 | def exception_raised?
22 | @exception.nil? ? false : raise(@exception)
23 | end
24 |
25 | def respond_to?(name)
26 | super || @result.respond_to?(name)
27 | end
28 |
29 | def ===(other)
30 | other === @result
31 | end
32 |
33 |
34 | def method_missing(name,*args,&proc)
35 | if @exception
36 | raise @exception
37 | elsif @result.nil?
38 | raise UnexecutedRequest.new("You must execute the batch before accessing the result: #{@uri}")
39 | else
40 | @result.send(name,*args,&proc)
41 | end
42 | end
43 | end
44 | end
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgtproj/projectInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AvailableProducts
6 |
7 | Widget
8 |
9 | AppIconImageSettings
10 | image-theme: 1; image-shape: 3; image-opacity: 1.00; image-top-color: 0.6095,0.6095,0.6095; image-bottom-color: 0.1946,0.1946,0.1946; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.3467,0.3467,0.3467; image-border-width: 1; shine-on: 1; shine-strength: 0.00; shine-alpha-level: 0.73; shine-height: 0.61; glass-arc-height: 0.10; shadow-include-shadow: 1; shadow-blur: 9.00; shadow-offset: -1.00,-6.00; shadow-color: 0.0000,0.0000,0.0000,0.3333;
11 | CYBackwardCompatibleExport
12 |
13 | MainCSS
14 | KeyControl.css
15 | MainJS
16 | KeyControl.js
17 | ProductDir
18 | widget.wdgt
19 | UseCustomAppIcon
20 |
21 | UseCustomDefaultImage
22 |
23 |
24 |
25 | CYProjectFormatVersion
26 | 40
27 | IsInCodeGeneratorMode
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/arrows/C/akc.6:
--------------------------------------------------------------------------------
1 | .\" Process this file with
2 | .\" groff -man -Tascii foo.1
3 | .\"
4 | .TH AKC 6 "SEPTEMBER 2009" ArrowKeyControl "User Manuals"
5 | .SH NAME
6 | akc \- ArrowKeyControl
7 | .SH SYNOPSIS
8 | .B akc
9 | .SH DESCRIPTION
10 | .B ArrowKeyControl
11 | is a reaction testing game that tests your speed and concentration.
12 | ArrowKeyControl does this by displaying an arrow; the arrow corresponds
13 | to one of the arrow keys on the keyboard. You have to type arrow
14 | displayed (which could be the up, down, left, or right arrow keys). As
15 | soon as you type a key, the arrow changes (sometimes to the same arrow
16 | as before!) and you go again. You have 1 second to hit the first key,
17 | and every time you hit a key, the time allowed to ht the next key decreases.
18 | The game continues like this as long as you press each key fast enough;
19 | too slow and the game ends. The faster you type the correct keys, the
20 | more you score; enter a wrong key and the game ends.
21 |
22 | The game waits 1 second after being started to show the first arrow; this
23 | is to give you time to prepare and move your hand to the arrow keys.
24 |
25 | .SH BUGS
26 | The game uses vt100 terminal commands and may not work on a vt100 incompatible terminal.
27 | An Unicode (UTF-8) supporting terminal is required, and the game requires valid glyphs
28 | for the triangle arrows in your terminal font to work.
29 | .SH AUTHOR
30 | Brenton Fletcher
31 |
32 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/projectInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AvailableProducts
6 |
7 | Widget
8 |
9 | AppIconImageSettings
10 | image-theme: 0; image-shape: 3; image-opacity: 1.00; image-top-color: 0.113138683,0.142335773,0.777372241,1; image-bottom-color: 0.609499991,0.609499991,0.609499991,1; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.295613021,0.295613021,0.295613021,1; image-border-width: 1; shine-on: 1; shine-strength: 0.13; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.10; embossed-on: 0; embossed-depth: 0; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 1; shadow-offset: -1.00,-6.00; shadow-color: 0,0,0,0.3333;
11 | CYBackwardCompatibleExport
12 |
13 | MainCSS
14 | ArrowKeyControl.css
15 | MainJS
16 | ArrowKeyControl.js
17 | ProductDir
18 | widget.wdgt
19 | UseCustomAppIcon
20 |
21 | UseCustomDefaultImage
22 |
23 |
24 |
25 | CYProjectFormatVersion
26 | 40
27 | IsInCodeGeneratorMode
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/arrows/Web Game/game.js:
--------------------------------------------------------------------------------
1 | function Game() {
2 | this.DIRECTIONS = ["left", "up", "right", "down"];
3 | }
4 |
5 | Game.prototype.start = function() {
6 | this.allowedTime = 1000;
7 | this.score = 0;
8 | this.streak = 0;
9 | this.startTime = null;
10 | this.direction = null;
11 | }
12 |
13 | Game.prototype.nextDirection = function() {
14 | var next = this.direction;
15 | while(next == this.direction) next = this.DIRECTIONS[Math.floor(Math.random() * this.DIRECTIONS.length)];
16 | return next;
17 | //return this.DIRECTIONS[Math.floor(Math.random() * this.DIRECTIONS.length)];
18 | }
19 |
20 | Game.prototype.timeUsed = function() {
21 | return (Date.now() - this.startTime) / (this.allowedTime + 0.0);
22 | }
23 |
24 | Game.prototype.roundStarted = function() {
25 | this.direction = this.nextDirection();
26 | this.startTime = Date.now();
27 | return this.direction;
28 | }
29 |
30 | Game.prototype.roundEnded = function(playerDirection) {
31 | var diff = Date.now() - this.startTime;
32 | var correct = playerDirection == this.direction;
33 |
34 | //console.log(this.streak + "," + diff + "," + this.allowedTime);
35 |
36 | if(diff < 50 || diff > this.allowedTime || !correct) return true;
37 |
38 | this.streak++;
39 | var delta = (this.allowedTime - diff) + (this.streak * 100);
40 | if(diff <= (this.allowedTime * 0.3)) delta *= 2;
41 | this.score += delta;
42 | if((this.streak % 10 == 0) && (this.allowedTime > 300)) this.allowedTime -= 35;
43 |
44 | return false;
45 | }
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb:
--------------------------------------------------------------------------------
1 | module ::ActionController
2 | class AbstractRequest
3 | def relative_url_root
4 | Facebooker.path_prefix
5 | end
6 | end
7 |
8 | class Base
9 | def self.relative_url_root
10 | Facebooker.path_prefix
11 | end
12 | end
13 |
14 | class UrlRewriter
15 | RESERVED_OPTIONS << :canvas
16 | def link_to_new_canvas?
17 | @request.parameters["fb_sig_in_new_facebook"] == "1"
18 | end
19 | def link_to_canvas?(params, options)
20 | option_override = options[:canvas]
21 | return false if option_override == false # important to check for false. nil should use default behavior
22 | option_override || @request.parameters["fb_sig_in_canvas"] == "1" || @request.parameters[:fb_sig_in_canvas] == "1"
23 | end
24 |
25 | def rewrite_url_with_facebooker(*args)
26 | options = args.first.is_a?(Hash) ? args.first : args.last
27 | is_link_to_canvas = link_to_canvas?(@request.request_parameters, options)
28 | if is_link_to_canvas && !options.has_key?(:host)
29 | options[:host] = Facebooker.canvas_server_base
30 | end
31 | options.delete(:canvas)
32 | Facebooker.request_for_canvas(is_link_to_canvas) do
33 | rewrite_url_without_facebooker(*args)
34 | end
35 | end
36 |
37 | alias_method_chain :rewrite_url, :facebooker
38 | end
39 | end
40 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/USAGE:
--------------------------------------------------------------------------------
1 | Description:
2 | Scaffolds an entire resource, from model and migration to controller and
3 | views, along with a full test suite. The resource is ready to use as a
4 | starting point for your restful, resource-oriented application.
5 |
6 | Pass the name of the model, either CamelCased or under_scored, as the first
7 | argument, and an optional list of attribute pairs.
8 |
9 | Attribute pairs are column_name:sql_type arguments specifying the
10 | model's attributes. Timestamps are added by default, so you don't have to
11 | specify them by hand as 'created_at:datetime updated_at:datetime'.
12 |
13 | You don't have to think up every attribute up front, but it helps to
14 | sketch out a few so you can start working with the resource immediately.
15 |
16 | For example, `scaffold post title:string body:text published:boolean`
17 | gives you a model with those three attributes, a controller that handles
18 | the create/show/update/destroy, forms to create and edit your posts, and
19 | an index that lists them all, as well as a map.resources :posts
20 | declaration in config/routes.rb.
21 |
22 | Also, it creates Facebook view templates and functional tests.
23 |
24 | Examples:
25 | `./script/generate scaffold post` # no attributes, view will be anemic
26 | `./script/generate scaffold post title:string body:text published:boolean`
27 | `./script/generate scaffold purchase order_id:integer amount:decimal`
28 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/models/group.rb:
--------------------------------------------------------------------------------
1 | require 'facebooker/model'
2 | module Facebooker
3 | class Group
4 | ##
5 | # The model of a user's relationship to a group. Users can occupy different positions within a group (e.g. 'owner')
6 | class Membership
7 | include Model
8 | attr_accessor :position, :gid, :uid
9 | end
10 | include Model
11 | attr_accessor :pic, :pic_small, :pic_big, :name, :creator, :recent_news, :gid, :update_time, :group_subtype, :group_type, :website, :office, :description, :venue, :nid
12 |
13 |
14 | ##
15 | # Get the full list of members as populated User objects. First time fetches group members via Facebook API call.
16 | # Subsequent calls return cached values.
17 | # This is a convenience method for getting all of the Membership instances and instantiating User instances for each Membership.
18 | def members
19 | @members ||= memberships.map do |membership|
20 | User.new(membership.uid, session)
21 | end
22 | end
23 |
24 | ##
25 | # Get a list of Membership instances associated with this Group. First call retrieves the Membership instances via a Facebook
26 | # API call. Subsequent calls are retrieved from in-memory cache.
27 | def memberships
28 | @memberships ||= session.post('facebook.groups.getMembers', :gid => gid).map do |hash|
29 | Membership.from_hash(hash) do |membership|
30 | membership.gid = gid
31 | end
32 | end
33 | end
34 | end
35 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/scaffold/templates/style.css:
--------------------------------------------------------------------------------
1 | body { background-color: #fff; color: #333; }
2 |
3 | body, p, ol, ul, td {
4 | font-family: verdana, arial, helvetica, sans-serif;
5 | font-size: 13px;
6 | line-height: 18px;
7 | }
8 |
9 | pre {
10 | background-color: #eee;
11 | padding: 10px;
12 | font-size: 11px;
13 | }
14 |
15 | a { color: #000; }
16 | a:visited { color: #666; }
17 | a:hover { color: #fff; background-color:#000; }
18 |
19 | .fieldWithErrors {
20 | padding: 2px;
21 | background-color: red;
22 | display: table;
23 | }
24 |
25 | #errorExplanation {
26 | width: 400px;
27 | border: 2px solid red;
28 | padding: 7px;
29 | padding-bottom: 12px;
30 | margin-bottom: 20px;
31 | background-color: #f0f0f0;
32 | }
33 |
34 | #errorExplanation h2 {
35 | text-align: left;
36 | font-weight: bold;
37 | padding: 5px 5px 5px 15px;
38 | font-size: 12px;
39 | margin: -7px;
40 | background-color: #c00;
41 | color: #fff;
42 | }
43 |
44 | #errorExplanation p {
45 | color: #333;
46 | margin-bottom: 0;
47 | padding: 5px;
48 | }
49 |
50 | #errorExplanation ul li {
51 | font-size: 12px;
52 | list-style: square;
53 | }
54 |
55 | div.uploadStatus {
56 | margin: 5px;
57 | }
58 |
59 | div.progressBar {
60 | margin: 5px;
61 | }
62 |
63 | div.progressBar div.border {
64 | background-color: #fff;
65 | border: 1px solid gray;
66 | width: 100%;
67 | }
68 |
69 | div.progressBar div.background {
70 | background-color: #333;
71 | height: 18px;
72 | width: 0%;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/data.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class Data
3 | def initialize(session)
4 | @session = session
5 | end
6 |
7 | ##
8 | # ** BETA ***
9 | # Sets a cookie on Facebook
10 | # +user+ The user for whom this cookie needs to be set.
11 | # +name+ Name of the cookie
12 | # +value+ Value of the cookie
13 | # Optional:
14 | # +expires+ Time when the cookie should expire. If not specified, the cookie never expires.
15 | # +path+ Path relative to the application's callback URL, with which the cookie should be associated. (default value is /?
16 | def set_cookie(user, name, value, expires=nil, path=nil)
17 | @session.post('facebook.data.setCookie',
18 | :uid => User.cast_to_facebook_id(user),
19 | :name => name,
20 | :value => value,
21 | :expires => expires,
22 | :path => path) {|response| response == '1'}
23 | end
24 |
25 | ##
26 | # ** BETA ***
27 | # Gets a cookie stored on Facebook
28 | # +user+ The user from whom to get the cookies.
29 | # Optional:
30 | # +name+ The name of the cookie. If not specified, all the cookies for the given user get returned.
31 | def get_cookies(user, name=nil)
32 | @cookies = @session.post(
33 | 'facebook.data.getCookies', :uid => User.cast_to_facebook_id(user), :name => name) do |response|
34 | response.map do |hash|
35 | Cookie.from_hash(hash)
36 | end
37 | end
38 | end
39 | end
40 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/adapters/facebook_adapter.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 |
3 |
4 | class FacebookAdapter < AdapterBase
5 |
6 | def canvas_server_base
7 | FacebookAdapter.new_api? ? "apps.new.facebook.com" : "apps.facebook.com"
8 | end
9 |
10 | def api_server_base
11 | FacebookAdapter.new_api? ? "api.new.facebook.com" : "api.facebook.com"
12 | end
13 |
14 | def www_server_base_url
15 | FacebookAdapter.new_api? ? "www.new.facebook.com" : "www.facebook.com"
16 | end
17 |
18 | def api_rest_path
19 | "/restserver.php"
20 | end
21 |
22 | def api_key
23 | ENV['FACEBOOK_API_KEY'] || super
24 | end
25 |
26 | def secret_key
27 | ENV['FACEBOOK_SECRET_KEY'] || super
28 | end
29 |
30 | def is_for?(application_context)
31 | application_context == :facebook
32 | end
33 |
34 |
35 |
36 | def login_url_base
37 | "http://#{www_server_base_url}/login.php?api_key=#{api_key}&v=1.0"
38 | end
39 |
40 | def install_url_base
41 | "http://#{www_server_base_url}/install.php?api_key=#{api_key}&v=1.0"
42 | end
43 |
44 | end
45 |
46 | class FacebookNewAdapter < FacebookAdapter
47 | def canvas_server_base
48 | "apps.new.facebook.com"
49 | end
50 |
51 | def api_server_base
52 | "api.new.facebook.com"
53 | end
54 |
55 | def www_server_base_url
56 | "www.new.facebook.com"
57 | end
58 | end
59 | end
60 |
61 |
62 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/USAGE:
--------------------------------------------------------------------------------
1 | Description:
2 | Stubs out a new controller and its views. Pass the controller name, either
3 | CamelCased or under_scored, and a list of views as arguments.
4 |
5 | To create a controller within a module, specify the controller name as a
6 | path like 'parent_module/controller_name'.
7 |
8 | This generates a controller class in app/controllers, view templates in
9 | app/views/controller_name, a helper class in app/helpers, and a functional
10 | test suite in test/functional.
11 |
12 | Also, it generates fbml view templates.
13 |
14 | Example:
15 | `./script/generate controller CreditCard open debit credit close`
16 |
17 | Credit card controller with URLs like /credit_card/debit.
18 | Controller: app/controllers/credit_card_controller.rb
19 | Views: app/views/credit_card/debit.html.erb [...],
20 | app/views/credit_card/debit.fbml.erb [...]
21 | Helper: app/helpers/credit_card_helper.rb
22 | Test: test/functional/credit_card_controller_test.rb
23 |
24 | Modules Example:
25 | `./script/generate controller 'admin/credit_card' suspend late_fee`
26 |
27 | Credit card admin controller with URLs /admin/credit_card/suspend.
28 | Controller: app/controllers/admin/credit_card_controller.rb
29 | Views: app/views/admin/credit_card/debit.html.erb [...],
30 | app/views/admin/credit_card/debit.fbml.erb [...]
31 | Helper: app/helpers/admin/credit_card_helper.rb
32 | Test: test/functional/admin/credit_card_controller_test.rb
33 |
34 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/generators/controller/controller_generator.rb:
--------------------------------------------------------------------------------
1 | class ControllerGenerator < Rails::Generator::NamedBase
2 | def manifest
3 | record do |m|
4 | # Check for class naming collisions.
5 | m.class_collisions class_path, "#{class_name}Controller", "#{class_name}ControllerTest", "#{class_name}Helper"
6 |
7 | # Controller, helper, views, and test directories.
8 | m.directory File.join('app/controllers', class_path)
9 | m.directory File.join('app/helpers', class_path)
10 | m.directory File.join('app/views', class_path, file_name)
11 | m.directory File.join('test/functional', class_path)
12 |
13 | # Controller class, functional test, and helper class.
14 | m.template 'controller.rb',
15 | File.join('app/controllers',
16 | class_path,
17 | "#{file_name}_controller.rb")
18 |
19 | m.template 'functional_test.rb',
20 | File.join('test/functional',
21 | class_path,
22 | "#{file_name}_controller_test.rb")
23 |
24 | m.template 'helper.rb',
25 | File.join('app/helpers',
26 | class_path,
27 | "#{file_name}_helper.rb")
28 |
29 | # View template for each action.
30 | actions.each do |action|
31 | html_path = File.join('app/views', class_path, file_name, "#{action}.html.erb")
32 | m.template 'view.html.erb', html_path,
33 | :assigns => { :action => action, :path => html_path }
34 | fbml_path = File.join('app/views', class_path, file_name, "#{action}.fbml.erb")
35 | m.template 'view.fbml.erb', fbml_path,
36 | :assigns => { :action => action, :path => fbml_path }
37 | end
38 | end
39 | end
40 | end
41 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/profile_publisher_extensions.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | module Rails
3 | module ProfilePublisherExtensions
4 |
5 | ##
6 | # returns true if Facebook is requesting the interface for a profile publisher
7 | def wants_interface?
8 | params[:method] == "publisher_getInterface"
9 | end
10 |
11 | ##
12 | # render the interface for a publisher.
13 | # fbml is the content in string form. Use render_to_string to get the content from a template
14 | # publish_enabled controlls whether the post form is active by default. If it isn't, you'll need to use fbjs to activate it
15 | # comment_enabled controls whether to include a comment box
16 | def render_publisher_interface(fbml,publish_enabled=true,comment_enabled=false)
17 | render :json=>{:content=>{:fbml=>fbml,:publishEnabled=>publish_enabled,:commentEnabled=>comment_enabled},
18 | :method=>"publisher_getInterface"}
19 | end
20 |
21 | # render an error while publishing the template
22 | # This can be used for validation errors
23 | def render_publisher_error(title,body)
24 | render :json=>{:errorCode=>1,:errorTitle=>title,:errorMessage=>body}.to_json
25 | end
26 |
27 | # render the response for a feed. This takes a user_action object like those returned from the Rails Publisher
28 | # For instance, AttackPublisher.create_attack(@attack)
29 | # The template must have been registered previously
30 | def render_publisher_response(user_action)
31 | render :json=>{:content=> {
32 | :feed=>{
33 | :template_id=>user_action.template_id,
34 | :template_data=>user_action.data
35 | }
36 | },
37 | :method=>"publisher_getFeedStory"
38 | }
39 | end
40 | end
41 | end
42 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/facebook_session_handling.rb:
--------------------------------------------------------------------------------
1 | module ActionController
2 | class CgiRequest
3 | alias :initialize_aliased_by_facebooker :initialize
4 |
5 | def initialize(cgi, session_options = {})
6 | initialize_aliased_by_facebooker(cgi, session_options)
7 | @cgi.instance_variable_set("@request_params", request_parameters.merge(query_parameters))
8 | end
9 |
10 | DEFAULT_SESSION_OPTIONS[:cookie_only] = false
11 | end
12 | end
13 |
14 | class CGI
15 | class Session
16 | private
17 | alias :initialize_aliased_by_facebooker :initialize
18 | attr_reader :request, :initialization_options
19 |
20 | def initialize(request, option={})
21 | @request = request
22 | @initialization_options = option
23 | option['session_id'] = set_session_id
24 | initialize_aliased_by_facebooker(request, option)
25 | end
26 |
27 | def set_session_id
28 | if session_key_should_be_set_with_facebook_session_key?
29 | request_parameters[facebook_session_key]
30 | else
31 | request_parameters[session_key]
32 | end
33 | end
34 |
35 | def request_parameters
36 | request.instance_variable_get("@request_params")
37 | end
38 |
39 | def session_key_should_be_set_with_facebook_session_key?
40 | request_parameters[session_key].blank? && !request_parameters[facebook_session_key].blank?
41 | end
42 |
43 | def session_key
44 | initialization_options['session_key'] || '_session_id'
45 | end
46 |
47 | def facebook_session_key
48 | 'fb_sig_session_key'
49 | end
50 |
51 | alias :create_new_id_aliased_by_facebooker :create_new_id
52 |
53 | def create_new_id
54 | @new_session = true
55 | @session_id || create_new_id_aliased_by_facebooker
56 | end
57 | end
58 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | ENV["RAILS_ENV"] = "test"
2 | require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3 | require 'test_help'
4 |
5 | class Test::Unit::TestCase
6 | # Transactional fixtures accelerate your tests by wrapping each test method
7 | # in a transaction that's rolled back on completion. This ensures that the
8 | # test database remains unchanged so your fixtures don't have to be reloaded
9 | # between every test method. Fewer database queries means faster tests.
10 | #
11 | # Read Mike Clark's excellent walkthrough at
12 | # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
13 | #
14 | # Every Active Record database supports transactions except MyISAM tables
15 | # in MySQL. Turn off transactional fixtures in this case; however, if you
16 | # don't care one way or the other, switching from MyISAM to InnoDB tables
17 | # is recommended.
18 | #
19 | # The only drawback to using transactional fixtures is when you actually
20 | # need to test transactions. Since your test is bracketed by a transaction,
21 | # any transactions started in your code will be automatically rolled back.
22 | self.use_transactional_fixtures = true
23 |
24 | # Instantiated fixtures are slow, but give you @david where otherwise you
25 | # would need people(:david). If you don't want to migrate your existing
26 | # test cases which use the @david style and don't mind the speed hit (each
27 | # instantiated fixtures translates to a database query per test method),
28 | # then set this back to true.
29 | self.use_instantiated_fixtures = false
30 |
31 | # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
32 | #
33 | # Note: You'll currently still have to declare fixtures explicitly in integration tests
34 | # -- they do not yet inherit this setting
35 | fixtures :all
36 |
37 | # Add more helper methods to be used by all tests here...
38 | end
39 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/facebook_data_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 |
3 | class FacebookDataTest < Test::Unit::TestCase
4 | def setup
5 | @session = Facebooker::Session.create('apikey', 'secretkey')
6 | end
7 |
8 | def test_can_ask_facebook_to_set_a_cookies
9 | expect_http_posts_with_responses(example_set_cookie_xml)
10 | assert(@session.data.set_cookie(12345, 'name', 'value'))
11 | end
12 |
13 | def test_can_ask_facebook_to_get_cookies
14 | expect_http_posts_with_responses(example_get_cookies_xml)
15 | assert(@session.data.get_cookies(12345))
16 | end
17 |
18 | def test_can_get_cookies_for_user
19 | mock_http = establish_session
20 | mock_http.should_receive(:post_form).and_return(example_get_cookies_xml).once.ordered(:posts)
21 | cookies = @session.data.get_cookies(508508326)
22 | assert_equal 'Foo', cookies.first.name
23 | assert_equal 'Bar', cookies.first.value
24 | end
25 |
26 | private
27 | def example_set_cookie_xml
28 | <<-XML
29 |
30 | 1
32 | XML
33 | end
34 |
35 | def example_get_cookies_xml
36 | <<-XML
37 |
38 |
40 |
41 | 508508326
42 | Foo
43 | Bar
44 | 0
45 | /tmp/
46 |
47 |
48 | XML
49 | end
50 | end
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | KeyControl & ArrowKeyControl
6 |
41 |
42 | KeyControl
43 |
49 |
50 | ArrowKeyControl
51 |
57 |
63 |
69 |
70 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/tasks/tunnel.rake:
--------------------------------------------------------------------------------
1 | namespace :facebooker do
2 |
3 | namespace :tunnel do
4 | # Courtesy of Christopher Haupt
5 | # http://www.BuildingWebApps.com
6 | # http://www.LearningRails.com
7 | desc "Create a reverse ssh tunnel from a public server to a private development server."
8 | task :start => [ :environment, :config ] do
9 | puts @notification
10 | exec @ssh_command
11 | end
12 |
13 | desc "Create a reverse ssh tunnel in the background. Requires ssh keys to be setup."
14 | task :background_start => [ :environment, :config ] do
15 | puts @notification
16 | exec "#{@ssh_command} > /dev/null 2>&1 &"
17 | end
18 |
19 | # Adapted from Evan Weaver: http://blog.evanweaver.com/articles/2007/07/13/developing-a-facebook-app-locally/
20 | desc "Check if reverse tunnel is running"
21 | task :status => [ :environment, :config ] do
22 | if `ssh #{@public_host} -l #{@public_host_username} netstat -an |
23 | egrep "tcp.*:#{@public_port}.*LISTEN" | wc`.to_i > 0
24 | puts "Seems ok"
25 | else
26 | puts "Down"
27 | end
28 | end
29 |
30 | task :config => :environment do
31 | facebook_config = File.dirname(__FILE__) + '/../../../../../config/facebooker.yml'
32 | FACEBOOKER = YAML.load_file(facebook_config)[RAILS_ENV]
33 | @public_host_username = FACEBOOKER['tunnel']['public_host_username']
34 | @public_host = FACEBOOKER['tunnel']['public_host']
35 | @public_port = FACEBOOKER['tunnel']['public_port']
36 | @local_port = FACEBOOKER['tunnel']['local_port']
37 | @ssh_port = FACEBOOKER['tunnel']['ssh_port'] || 22
38 | @notification = "Starting tunnel #{@public_host}:#{@public_port} to 0.0.0.0:#{@local_port}"
39 | @notification << " using SSH port #{@ssh_port}" unless @ssh_port == 22
40 | @ssh_command = "ssh -v -p #{@ssh_port} -nNT4 -R *:#{@public_port}:localhost:#{@local_port} #{@public_host_username}@#{@public_host}"
41 | end
42 | end
43 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/README:
--------------------------------------------------------------------------------
1 | Copyright (c) 2007 Chad Fowler, Patrick Ewing
2 |
3 | = Facebooker
4 |
5 | Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://developer.facebook.com]. Its goals are:
6 |
7 | * Idiomatic Ruby
8 | * No dependencies outside of the Ruby standard library (This is true with Rails 2.1. Previous Rails versions require the JSON gem)
9 | * Concrete classes and methods modeling the Facebook data, so it's easy for a Rubyist to understand what's available
10 | * Well tested
11 |
12 | = Installing (Non Rails)
13 |
14 | The best way is:
15 |
16 | gem install facebooker
17 |
18 | If, for some reason, you can't/won't use RubyGems, you can do:
19 |
20 | (sudo) ruby setup.rb
21 |
22 | = Installing (Rails)
23 |
24 | Facebooker can be installed as a Rails plugin by:
25 |
26 | script/plugin install git://github.com/mmangino/facebooker.git
27 |
28 | If you don't have git, the plugin can be downloaded from http://github.com/mmangino/facebooker/tarball/master
29 |
30 | Once the plugin is installed, you will need to configure your Facebook app in config/facebooker.yml.
31 |
32 | Your application users will need to have added the application in facebook to access all of facebooker's features. You enforce this by adding
33 |
34 | ensure_application_is_installed_by_facebook_user
35 |
36 | to your application controller.
37 |
38 |
39 | == Work in Progress
40 |
41 | I'm not saying it meets its goals fully yet. Please help. I'm especially interested in feedback and criticism re: Ruby style and design and testing. RCov has the library (at the time of this writing) at 100% coverage. I take that with a grain of salt, but it's a good start.
42 |
43 | == Contribute
44 |
45 | Please visit the {RubyForge project page}[http://rubyforge.org/projects/facebooker] to get the latest source via svn, write some tests, add/fix features, and submit a patch via the tracker. If you submit a good patch, it's likely that I'll add you to the project for commit access if you want to be added.
46 |
47 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/config/routes.rb:
--------------------------------------------------------------------------------
1 | ActionController::Routing::Routes.draw do |map|
2 | # The priority is based upon order of creation: first created -> highest priority.
3 |
4 | # Sample of regular route:
5 | # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
6 | # Keep in mind you can assign values other than :controller and :action
7 |
8 | # Sample of named route:
9 | # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
10 | # This route can be invoked with purchase_url(:id => product.id)
11 |
12 | # Sample resource route (maps HTTP verbs to controller actions automatically):
13 | # map.resources :products
14 |
15 | # Sample resource route with options:
16 | # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
17 |
18 | # Sample resource route with sub-resources:
19 | # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
20 |
21 | # Sample resource route with more complex sub-resources
22 | # map.resources :products do |products|
23 | # products.resources :comments
24 | # products.resources :sales, :collection => { :recent => :get }
25 | # end
26 |
27 | # Sample resource route within a namespace:
28 | # map.namespace :admin do |admin|
29 | # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
30 | # admin.resources :products
31 | # end
32 |
33 | # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
34 | # map.root :controller => "welcome"
35 |
36 | # See how all your routes lay out with "rake routes"
37 |
38 | # Install the default routes as the lowest priority.
39 | # Note: These default routes make all actions in every controller accessible via GET requests. You should
40 | # consider removing the them or commenting them out if you're using named routes and resources.
41 | map.connect ':controller/:action/:id'
42 | map.connect ':controller/:action/:id.:format'
43 | end
44 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/init.rb:
--------------------------------------------------------------------------------
1 | # Added support to the Facebooker.yml file for switching to the new profile design..
2 | # Config parsing needs to happen before files are required.
3 | facebook_config = "#{RAILS_ROOT}/config/facebooker.yml"
4 |
5 | require 'facebooker'
6 | FACEBOOKER = Facebooker.load_configuration(facebook_config)
7 |
8 | require 'net/http_multipart_post'
9 | require 'facebooker/rails/controller'
10 | require 'facebooker/rails/facebook_url_rewriting'
11 | require 'facebooker/rails/facebook_session_handling'
12 | require 'facebooker/rails/facebook_asset_path'
13 | require 'facebooker/rails/facebook_request_fix'
14 | require 'facebooker/rails/routing'
15 | require 'facebooker/rails/facebook_pretty_errors' rescue nil
16 | module ::ActionController
17 | class Base
18 | def self.inherited_with_facebooker(subclass)
19 | inherited_without_facebooker(subclass)
20 | if subclass.to_s == "ApplicationController"
21 | subclass.send(:include,Facebooker::Rails::Controller)
22 | subclass.helper Facebooker::Rails::Helpers
23 | end
24 | end
25 | class << self
26 | alias_method_chain :inherited, :facebooker
27 | end
28 | end
29 | end
30 |
31 | class ActionController::Routing::Route
32 | def recognition_conditions_with_facebooker
33 | defaults = recognition_conditions_without_facebooker
34 | defaults << " env[:canvas] == conditions[:canvas] " if conditions[:canvas]
35 | defaults
36 | end
37 | alias_method_chain :recognition_conditions, :facebooker
38 | end
39 |
40 | # We turn off route optimization to make named routes use our code for figuring out if they should go to the session
41 | # If this fails, it means we're on rails 1.2, we can ignore it
42 | begin
43 | ActionController::Base::optimise_named_routes = false
44 | rescue NoMethodError=>e
45 | nil
46 | end
47 |
48 | # pull :canvas=> into env in routing to allow for conditions
49 | ActionController::Routing::RouteSet.send :include, Facebooker::Rails::Routing::RouteSetExtensions
50 | ActionController::Routing::RouteSet::Mapper.send :include, Facebooker::Rails::Routing::MapperExtensions
51 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/facebook_cache_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 |
3 | class FacebookCacheTest < Test::Unit::TestCase
4 | def setup
5 | @session = Facebooker::Session.create('apikey', 'secretkey')
6 | end
7 |
8 | def test_can_ask_facebook_to_store_fbml_in_a_named_reference
9 | expect_http_posts_with_responses(example_set_ref_handle_xml)
10 | assert(@session.server_cache.set_ref_handle('a_handle_name', 'Some FBML '))
11 | end
12 |
13 | def test_can_ask_facebook_to_recache_content_stored_from_a_given_url
14 | expect_http_posts_with_responses(example_refresh_ref_url_xml)
15 | assert(@session.server_cache.refresh_ref_url('http://localhost/roflmao'))
16 | end
17 |
18 | def test_can_ask_facebook_to_recache_an_img
19 | expect_http_posts_with_responses(example_refresh_img_xml)
20 | assert(@session.server_cache.refresh_img_src('http://localhost/roflmao.jpg'))
21 | end
22 |
23 | private
24 | def example_set_ref_handle_xml
25 | <<-XML
26 |
27 | 1
28 | XML
29 | end
30 |
31 | def example_refresh_ref_url_xml
32 | <<-XML
33 |
34 | 1
35 | XML
36 | end
37 | def example_refresh_img_xml
38 | <<-XML
39 |
40 | 1
41 | XML
42 | end
43 | end
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/ArrowKeyControl.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
Internet Scoring
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/original/C/kc-num.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | #define OUT(x) fputs((x), stdout)
12 |
13 | struct termios saved_attributes;
14 |
15 | void reset_term(void)
16 | {
17 | tcsetattr(STDIN_FILENO, TCSANOW, &saved_attributes);
18 | }
19 |
20 |
21 | int main(int argc, char** argv)
22 | {
23 | if(!isatty(STDIN_FILENO)) return 1;
24 |
25 | struct stat finfo;
26 | stat(argv[0], &finfo);
27 |
28 | tcgetattr(STDIN_FILENO, &saved_attributes);
29 | atexit(reset_term);
30 |
31 | struct termios tattr;
32 | tcgetattr(STDIN_FILENO, &tattr);
33 |
34 | tattr.c_lflag &= ~(ICANON | ECHO | IEXTEN);
35 | tattr.c_iflag &= ~(ICRNL | ISTRIP | CSIZE | PARENB) | CS8;
36 | tattr.c_cc[VMIN] = 0;
37 | tattr.c_cc[VTIME] = 100;
38 |
39 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
40 |
41 | setvbuf(stdout, NULL, _IONBF, 1);
42 |
43 | srand(time(NULL));
44 |
45 | OUT("\033[?25l");
46 |
47 | int score = 0;
48 | int correctTime = 1500000;
49 | char buffer[] = "\0\0\0\0\0";
50 |
51 | while(1)
52 | {
53 | char out = (rand() % 10) + 48;
54 | putchar(out);
55 |
56 | struct timeval before;
57 | gettimeofday(&before, NULL);
58 |
59 | int count = read(STDIN_FILENO, buffer, 4);
60 |
61 | struct timeval after;
62 | gettimeofday(&after, NULL);
63 |
64 | long long int diff = ((after.tv_sec * 1000000) + after.tv_usec) - ((before.tv_sec * 1000000) + before.tv_usec);
65 |
66 | if(diff > correctTime)
67 | {
68 | int submitScore = score ^ finfo.st_size;
69 |
70 | printf("\033[1D%i %i\n\033[?25h", score, submitScore);
71 | return 0;
72 | }
73 | if((count > 1) || (buffer[0] == out))
74 | {
75 | OUT(" X\033[3D");
76 | score -= 100;
77 | }
78 | else
79 | {
80 | score += floor(pow(1.05, 1000 - (diff / 1000.0)));
81 | OUT(" \033[3D");
82 | }
83 |
84 | if(correctTime > 252) correctTime = floor(correctTime * 0.99);
85 | }
86 | }
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | require 'test/unit'
2 | require 'rubygems'
3 | require 'flexmock/test_unit'
4 | require 'mocha'
5 |
6 | require File.dirname(__FILE__)+'/../lib/facebooker/rails/test_helpers'
7 |
8 | $: << File.join(File.dirname(__FILE__), '..', 'lib')
9 |
10 | rails_root = File.join(File.dirname(__FILE__),'..','..')
11 | if defined? RAILS_ROOT
12 | RAILS_ROOT.replace(rails_root)
13 | else
14 | RAILS_ROOT = rails_root
15 | end
16 |
17 | require 'facebooker'
18 |
19 | class Test::Unit::TestCase
20 | include Facebooker::Rails::TestHelpers
21 |
22 | private
23 |
24 | def expect_http_posts_with_responses(*responses_xml)
25 | mock_http = establish_session
26 | responses_xml.each do |xml_string|
27 | mock_http.should_receive(:post_form).and_return(xml_string).once.ordered(:posts)
28 | end
29 | end
30 |
31 | def establish_session(session = @session)
32 | mock = flexmock(Net::HTTP).should_receive(:post_form).and_return(example_auth_token_xml).once.ordered(:posts)
33 | mock.should_receive(:post_form).and_return(example_get_session_xml).once.ordered(:posts)
34 | session.secure!
35 | mock
36 | end
37 |
38 | def example_auth_token_xml
39 | <<-XML
40 |
41 |
44 | 3e4a22bb2f5ed75114b0fc9995ea85f1
45 |
46 | XML
47 | end
48 |
49 | def example_get_session_xml
50 | <<-XML
51 |
52 |
53 | 5f34e11bfb97c762e439e6a5-8055
54 | 8055
55 | 1173309298
56 | ohairoflamao12345
57 |
58 | XML
59 | end
60 | end
61 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/Button.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost.
6 | */
7 |
8 | function CreateButton(elementOrID, spec)
9 | {
10 | var buttonElement = elementOrID;
11 | if (elementOrID.nodeType != Node.ELEMENT_NODE) {
12 | buttonElement = document.getElementById(elementOrID);
13 | }
14 |
15 | if (!buttonElement.loaded) {
16 | buttonElement.loaded = true;
17 | while (buttonElement.firstChild) {
18 | buttonElement.removeChild(buttonElement.firstChild);
19 | }
20 |
21 | var text = spec.text || '';
22 | if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
23 |
24 | var leftImageWidth = spec.leftImageWidth || 0;
25 | var rightImageWidth = spec.rightImageWidth || 0;
26 | // when cloning template, get size from original
27 | var styleElement = buttonElement;
28 | if (spec.originalID) {
29 | styleElement = document.getElementById(spec.originalID);
30 | }
31 | var imagePrefix = "Parts/Images/" + styleElement.id + "_";
32 | var width = dashcode.getElementWidth(styleElement) || 20;
33 | var height = dashcode.getElementHeight(styleElement) || 20;
34 |
35 | var onclick = spec.onclick || null;
36 | try { onclick = eval(onclick); } catch (e) { onclick = null; }
37 |
38 | buttonElement.object = new AppleButton(buttonElement, text, height, imagePrefix + "left.png", imagePrefix + "left_clicked.png", leftImageWidth, imagePrefix + "middle.png", imagePrefix + "middle_clicked.png", imagePrefix + "right.png", imagePrefix + "right_clicked.png", rightImageWidth, onclick);
39 | buttonElement.object.element = buttonElement;
40 | buttonElement.object._container.childNodes[2].style.width = rightImageWidth + "px";
41 | buttonElement.object.setEnabled(!spec.disabled);
42 | buttonElement.object.textElement.style.width = (width - (leftImageWidth + rightImageWidth)) + "px";
43 | }
44 |
45 | return buttonElement.object;
46 | }
47 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/http_multipart_post_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 | require 'rubygems'
3 | require 'flexmock/test_unit'
4 | require 'net/http_multipart_post'
5 |
6 | class HttpMulitpartPostTest < Test::Unit::TestCase
7 | def setup
8 | super
9 | end
10 |
11 | def fixture(string)
12 | File.open(File.dirname(__FILE__) + "/fixtures/#{string}.txt").read
13 | end
14 |
15 | def test_multipart_post_with_only_parameters
16 | params = add_sample_facebook_params({})
17 | post = Net::HTTP::MultipartPost.new("uri", params)
18 | assert_equal fixture("multipart_post_body_with_only_parameters"), post.send(:body)
19 | end
20 |
21 | def test_multipart_post_with_a_single_file
22 | params = add_sample_facebook_params({})
23 | params[:file] = Net::HTTP::MultipartPostFile.new
24 | params[:file].filename = "somefilename.jpg"
25 | params[:file].content_type = "image/jpg"
26 | params[:file].data = "[Raw file data here]"
27 | post = Net::HTTP::MultipartPost.new("uri", params)
28 | assert_equal fixture("multipart_post_body_with_single_file"), post.send(:body)
29 | end
30 |
31 | def test_multipart_post_with_a_single_file_parameter_that_has_nil_key
32 | params = add_sample_facebook_params({})
33 | params[nil] = Net::HTTP::MultipartPostFile.new("somefilename.jpg", "image/jpg", "[Raw file data here]")
34 | post = Net::HTTP::MultipartPost.new("uri", params)
35 | assert_equal fixture("multipart_post_body_with_single_file_that_has_nil_key"), post.send(:body)
36 | end
37 |
38 | def test_multipart_post_should_have_correct_content_type
39 | post = Net::HTTP::MultipartPost.new("uri", {})
40 | assert post.send(:content_type) =~ /multipart\/form-data; boundary=/
41 | end
42 |
43 | def add_sample_facebook_params(hash)
44 | hash[:method] = "facebook.photos.upload"
45 | hash[:v] = "1.0"
46 | hash[:api_key] = "77a52842357422fadd912a2600e6e53c"
47 | hash[:session_key] = "489727d0ab2efc6e8003018c-i2LLkn8BDb2s."
48 | hash[:call_id] = "1172623588.023010"
49 | hash[:caption] = "Under the sunset"
50 | hash[:aid] = "940915667462717"
51 | hash[:sig] = "dfa724b8a5cd97d9df4baf2b60d3484c"
52 | hash
53 | end
54 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/adapters/bebo_adapter.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | class BeboAdapter < AdapterBase
3 |
4 | def canvas_server_base
5 | "apps.bebo.com"
6 | end
7 |
8 | def api_server_base
9 | 'apps.bebo.com'
10 | end
11 |
12 | def api_rest_path
13 | "/restserver.php"
14 | end
15 |
16 | def is_for?(application_context)
17 | application_context == :bebo
18 | end
19 |
20 | def www_server_base_url
21 | "www.bebo.com"
22 | end
23 |
24 |
25 | def login_url_base
26 | "http://#{www_server_base_url}/SignIn.jsp?ApiKey=#{api_key}&v=1.0"
27 | end
28 |
29 | def install_url_base
30 | "http://#{www_server_base_url}/c/apps/add?ApiKey=#{api_key}&v=1.0"
31 | end
32 | end
33 | end
34 |
35 | # Things that don't actually work as expected in BEBO
36 | Facebooker::PublishTemplatizedAction
37 | module Facebooker
38 | class User
39 | def set_profile_fbml_with_bebo_adapter(profile_fbml, mobile_fbml, profile_action_fbml, profile_main = nil)
40 | if(Facebooker.is_for?(:bebo))
41 | self.session.post('facebook.profile.setFBML', :uid => @id, :markup => profile_fbml)
42 | else
43 | set_profile_fbml_without_bebo_adapter(profile_fbml,mobile_fbml, profile_action_fbml, profile_main)
44 | end
45 | end
46 | alias_method_chain :set_profile_fbml, :bebo_adapter
47 |
48 | private
49 |
50 | BEBO_FIELDS = FIELDS - [:meeting_sex, :wall_count, :meeting_for]
51 | def collect(fields)
52 | if(Facebooker.is_for?(:bebo) )
53 | BEBO_FIELDS.reject{|field_name| !fields.empty? && !fields.include?(field_name)}.join(',')
54 | else
55 | FIELDS.reject{|field_name| !fields.empty? && !fields.include?(field_name)}.join(',')
56 | end
57 | end
58 | end
59 |
60 |
61 | class PublishTemplatizedAction < Parser#:nodoc:
62 | class <= 1.0.0']
20 | end
21 |
22 | require 'rcov/rcovtask'
23 |
24 | namespace :test do
25 | namespace :coverage do
26 | desc "Delete aggregate coverage data."
27 | task(:clean) { rm_f "coverage.data" }
28 | end
29 | desc 'Aggregate code coverage for unit, functional and integration tests'
30 | Rcov::RcovTask.new(:coverage) do |t|
31 | t.libs << "test"
32 | t.test_files = FileList["test/*.rb"]
33 | t.output_dir = "coverage/"
34 | t.verbose = true
35 | end
36 | end
37 | # vim: syntax=Ruby
38 | #
39 | #
40 | # require File.dirname(__FILE__) + '/vendor/gardener/lib/gardener'
41 | #
42 | # require 'facebooker'
43 | #
44 | # namespace :doc do
45 | # task :readme do
46 | # puts "Readme"
47 | # end
48 | # end
49 | #
50 | # Gardener.configure do
51 | # gem_spec do |spec|
52 | # spec.name = 'facebooker'
53 | # spec.version = Gem::Version.new(Facebooker::VERSION::STRING)
54 | # spec.summary = "Pure, idiomatic Ruby wrapper for the Facebook REST API."
55 | # spec.email = 'chad@infoether.com'
56 | # spec.author = ['Chad Fowler', 'Patrick Ewing','Mike Mangino','Shane Vitarana']
57 | # spec.extra_rdoc_files = %w(COPYING)
58 | # spec.rdoc_options = ['--title', "Gardener",
59 | # '--main', 'README',
60 | # '--line-numbers', '--inline-source']
61 | # end
62 | # end
63 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Parts/Text.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright © 2006-2007 Apple Inc. All Rights Reserved.
3 |
4 | IMPORTANT: This Apple software ("Apple Software") is supplied to you in consideration of your agreement to the following terms. Your use, installation and/or redistribution of this Apple Software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, or redistribute this Apple Software.
5 |
6 | Provided you comply with all of the following terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in the Apple Software, to use, reproduce, and redistribute the Apple Software for the sole purpose of creating Dashboard widgets for Mac OS X. If you redistribute the Apple Software, you must retain this entire notice in all such redistributions.
7 |
8 | You may not use the name, trademarks, service marks or logos of Apple to endorse or promote products that include the Apple Software without the prior written permission of Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your products that incorporate the Apple Software or by other works in which the Apple Software may be incorporated.
9 |
10 | The Apple Software is provided on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
11 |
12 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13 | */
14 |
15 | function CreateText(textID, spec)
16 | {
17 | var text = spec.text || '';
18 | if (window.getLocalizedString) text = getLocalizedString(text);
19 |
20 | document.getElementById(textID).innerText = text;
21 | }
22 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/batch_request_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 | class BatchRequestTest < Test::Unit::TestCase
3 |
4 | def setup
5 | @proc_called=false
6 | @batch_request=Facebooker::BatchRequest.new({:params=>true},nil)
7 | end
8 |
9 | def test_can_set_result
10 |
11 | end
12 |
13 | def test_can_set_result_with_proc_and_have_proc_called
14 | p=Proc.new {@proc_called=true}
15 |
16 | @batch_request=Facebooker::BatchRequest.new({:params=>true},p)
17 | @batch_request.result="Mike"
18 | assert @proc_called
19 | end
20 | def test_can_set_result_with_proc_and_use_proc_result
21 | p=Proc.new {@proc_called=true}
22 |
23 | @batch_request=Facebooker::BatchRequest.new({:params=>true},p)
24 | @batch_request.result="Mike"
25 | assert @batch_request
26 | end
27 |
28 | def test_proxies_methods
29 | @batch_request.result="Mike"
30 | assert @batch_request == "Mike"
31 | end
32 |
33 | def test_threequal_works
34 | @batch_request.result="Mike"
35 | assert @batch_request === String
36 | end
37 |
38 | def test_can_set_exception_and_check_it
39 | @batch_request.exception_raised=ArgumentError.new
40 | assert_raises(ArgumentError) {
41 | @batch_request.exception_raised?
42 | }
43 | end
44 | def test_can_set_exception_and_have_it_raised_on_access
45 | @batch_request.exception_raised=ArgumentError.new
46 | assert_raises(ArgumentError) {
47 | @batch_request == true
48 | }
49 | end
50 | def test_exception_raised_false_when_no_exception
51 | @batch_request.result="Mike"
52 | assert ! @batch_request.exception_raised?
53 | end
54 |
55 | # def test_case_works
56 | # @batch_request.result="Mike"
57 | # case @batch_request
58 | # when String
59 | # else
60 | # fail("case failed")
61 | # end
62 | #
63 | # end
64 |
65 | def test_calling_method_without_result_raises_exception
66 | assert_raises(Facebooker::BatchRequest::UnexecutedRequest) {
67 | @batch_request.to_s
68 | }
69 | end
70 |
71 | def test_respond_to
72 | @batch_request.result=[]
73 | assert @batch_request.respond_to?(:empty?)
74 | end
75 |
76 | def test_calling_method_after_exception_re_raises_exception
77 | @batch_request.result="String"
78 | assert_raises(NoMethodError) {
79 | @batch_request.fake
80 | }
81 | end
82 | end
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/WidgetResources/.parsers/translationParser.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2005, Apple Computer, Inc. All rights reserved.
3 | NOTE: Use of this source code is subject to the terms of the Software
4 | License Agreement for Mac OS X, which accompanies the code. Your use
5 | of this source code signifies your agreement to such license terms and
6 | conditions. Except as expressly granted in the Software License Agreement
7 | for Mac OS X, no other copyright, patent, or other intellectual property
8 | license or right is granted, either expressly or by implication, by Apple.
9 | */
10 |
11 |
12 | function performXMLRequest (encodedText, encodingType, translationType, callback)
13 | {
14 |
15 | var xml_request = new XMLHttpRequest();
16 |
17 | var postData = "id=sherlock&charset=";
18 | postData = postData + encodingType + "&api=1&lp=";
19 | postData = postData + translationType;
20 | postData = postData + "&text=" + encodedText;
21 |
22 | xml_request.onload = function(e) {xml_loaded(e, xml_request, requestID++, callback);}
23 | xml_request.onerror = function() {callback(null,"");}
24 |
25 | //http://w4.systranlinks.com/trans
26 | xml_request.open("POST", "http://wu.apple.com/trans");
27 | xml_request.overrideMimeType("text/xml");
28 | xml_request.setRequestHeader("Cache-Control", "no-cache");
29 | xml_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
30 |
31 | xml_request.send(postData);
32 |
33 | return xml_request;
34 |
35 | }
36 |
37 | function xml_loaded (e, xml_request, id, callback)
38 | {
39 | if (!isXMLRequestLastOneSent(xml_request))
40 | return;
41 |
42 | if ( xml_request.responseText ) {
43 | var response = xml_request.responseText;
44 | var termIdx = response.indexOf("!");
45 |
46 | if ( id < receiveID ) {
47 | debug("old request: " + id);
48 | return;
49 | }
50 |
51 | receiveID = id;
52 | response = response.substr(termIdx+9,response.length-9-termIdx);
53 | termIdx = response.indexOf("]");
54 | response = response.substr(0,termIdx);
55 |
56 | callback(response, null);
57 | }
58 | else
59 | callback(null, "");
60 |
61 | clearLastXMLRequest();
62 | }
63 |
64 | function findChild (element, nodeName)
65 | {
66 | var child;
67 | for (child = element.firstChild; child != null; child = child.nextSibling)
68 | {
69 | if (child.nodeName == nodeName)
70 | return child;
71 | }
72 |
73 | return null;
74 | }
75 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgt/WidgetResources/.parsers/translationParser.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2005, Apple Computer, Inc. All rights reserved.
3 | NOTE: Use of this source code is subject to the terms of the Software
4 | License Agreement for Mac OS X, which accompanies the code. Your use
5 | of this source code signifies your agreement to such license terms and
6 | conditions. Except as expressly granted in the Software License Agreement
7 | for Mac OS X, no other copyright, patent, or other intellectual property
8 | license or right is granted, either expressly or by implication, by Apple.
9 | */
10 |
11 |
12 | function performXMLRequest (encodedText, encodingType, translationType, callback)
13 | {
14 |
15 | var xml_request = new XMLHttpRequest();
16 |
17 | var postData = "id=sherlock&charset=";
18 | postData = postData + encodingType + "&api=1&lp=";
19 | postData = postData + translationType;
20 | postData = postData + "&text=" + encodedText;
21 |
22 | xml_request.onload = function(e) {xml_loaded(e, xml_request, requestID++, callback);}
23 | xml_request.onerror = function() {callback(null,"");}
24 |
25 | //http://w4.systranlinks.com/trans
26 | xml_request.open("POST", "http://wu.apple.com/trans");
27 | xml_request.overrideMimeType("text/xml");
28 | xml_request.setRequestHeader("Cache-Control", "no-cache");
29 | xml_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
30 |
31 | xml_request.send(postData);
32 |
33 | return xml_request;
34 |
35 | }
36 |
37 | function xml_loaded (e, xml_request, id, callback)
38 | {
39 | if (!isXMLRequestLastOneSent(xml_request))
40 | return;
41 |
42 | if ( xml_request.responseText ) {
43 | var response = xml_request.responseText;
44 | var termIdx = response.indexOf("!");
45 |
46 | if ( id < receiveID ) {
47 | debug("old request: " + id);
48 | return;
49 | }
50 |
51 | receiveID = id;
52 | response = response.substr(termIdx+9,response.length-9-termIdx);
53 | termIdx = response.indexOf("]");
54 | response = response.substr(0,termIdx);
55 |
56 | callback(response, null);
57 | }
58 | else
59 | callback(null, "");
60 |
61 | clearLastXMLRequest();
62 | }
63 |
64 | function findChild (element, nodeName)
65 | {
66 | var child;
67 | for (child = element.firstChild; child != null; child = child.nextSibling)
68 | {
69 | if (child.nodeName == nodeName)
70 | return child;
71 | }
72 |
73 | return null;
74 | }
75 |
--------------------------------------------------------------------------------
/arrows/Web Game/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ArrowKeyControl
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
23 |
24 |
28 |
29 |
30 | Game Over!
31 | Score:
32 | Rank:
33 | Combo Streak:
34 |
35 |
Play
36 |
37 |
38 |
57 |
58 |
ArrowKeyControl is a reaction testing game that tests your speed and concentration.
59 |
You have to type what you see: up, down, left, or right arrow. Get it wrong and it's game over.
60 |
You have 1 second to hit the first key, and every time you hit a key, the time allowed to hit the next key
61 | decreases. The game continues like this as long as you press each key fast enough;
62 | too slow and the game ends.
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/KeyControl.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
Internet Scoring
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Parts/InfoButton.js:
--------------------------------------------------------------------------------
1 | /*
2 | © Copyright 2006-2007 Apple Inc. All rights reserved.
3 |
4 | IMPORTANT: This Apple software ("Apple Software") is supplied to you in consideration of your agreement to the following terms. Your use, installation and/or redistribution of this Apple Software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, or redistribute this Apple Software.
5 |
6 | Provided you comply with all of the following terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in the Apple Software, to use, reproduce, and redistribute the Apple Software for the sole purpose of creating Dashboard widgets for Mac OS X. If you redistribute the Apple Software, you must retain this entire notice in all such redistributions.
7 |
8 | You may not use the name, trademarks, service marks or logos of Apple to endorse or promote products that include the Apple Software without the prior written permission of Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your products that incorporate the Apple Software or by other works in which the Apple Software may be incorporated.
9 |
10 | The Apple Software is provided on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
11 |
12 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13 | */
14 |
15 | function CreateInfoButton(flipperID, spec)
16 | {
17 | var flipElement = document.getElementById(flipperID);
18 |
19 | if (!flipElement.loaded) {
20 | flipElement.loaded = true;
21 |
22 | var onclick = spec.onclick || null;
23 | try { onclick = eval(onclick); } catch (e) { onclick = null; }
24 |
25 | flipElement.object = new AppleInfoButton(flipElement, document.getElementById(spec.frontID), spec.foregroundStyle, spec.backgroundStyle, onclick);
26 | }
27 |
28 | return flipElement.object;
29 | }
30 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/Manifest.txt:
--------------------------------------------------------------------------------
1 | CHANGELOG.txt
2 | COPYING
3 | History.txt
4 | Manifest.txt
5 | README
6 | README.txt
7 | Rakefile
8 | TODO.txt
9 | facebooker.yml.tpl
10 | generators/publisher/publisher_generator.rb
11 | generators/publisher/templates/publisher.rb
12 | init.rb
13 | install.rb
14 | lib/facebooker/adapters/adapter_base.rb
15 | lib/facebooker/adapters/bebo_adapter.rb
16 | lib/facebooker/adapters/facebook_adapter.rb
17 | lib/facebooker/admin.rb
18 | lib/facebooker/batch_request.rb
19 | lib/facebooker/data.rb
20 | lib/facebooker/feed.rb
21 | lib/facebooker/model.rb
22 | lib/facebooker/models/affiliation.rb
23 | lib/facebooker/models/album.rb
24 | lib/facebooker/models/applicationproperties.rb
25 | lib/facebooker/models/cookie.rb
26 | lib/facebooker/models/education_info.rb
27 | lib/facebooker/models/event.rb
28 | lib/facebooker/models/friend_list.rb
29 | lib/facebooker/models/group.rb
30 | lib/facebooker/models/info_item.rb
31 | lib/facebooker/models/info_section.rb
32 | lib/facebooker/models/location.rb
33 | lib/facebooker/models/notifications.rb
34 | lib/facebooker/models/page.rb
35 | lib/facebooker/models/photo.rb
36 | lib/facebooker/models/tag.rb
37 | lib/facebooker/models/user.rb
38 | lib/facebooker/models/work_info.rb
39 | lib/facebooker/parser.rb
40 | lib/facebooker/rails/controller.rb
41 | lib/facebooker/rails/facebook_asset_path.rb
42 | lib/facebooker/rails/facebook_form_builder.rb
43 | lib/facebooker/rails/facebook_pretty_errors.rb
44 | lib/facebooker/rails/facebook_request_fix.rb
45 | lib/facebooker/rails/facebook_session_handling.rb
46 | lib/facebooker/rails/facebook_url_rewriting.rb
47 | lib/facebooker/rails/helpers.rb
48 | lib/facebooker/rails/profile_publisher_extensions.rb
49 | lib/facebooker/rails/publisher.rb
50 | lib/facebooker/rails/routing.rb
51 | lib/facebooker/rails/test_helpers.rb
52 | lib/facebooker/rails/utilities.rb
53 | lib/facebooker/server_cache.rb
54 | lib/facebooker/service.rb
55 | lib/facebooker/session.rb
56 | lib/facebooker/version.rb
57 | lib/facebooker.rb
58 | lib/net/http_multipart_post.rb
59 | lib/tasks/facebooker.rake
60 | lib/tasks/tunnel.rake
61 | setup.rb
62 | test/batch_request_test.rb
63 | test/event_test.rb
64 | test/facebook_admin_test.rb
65 | test/facebook_cache_test.rb
66 | test/facebook_data_test.rb
67 | test/facebooker_test.rb
68 | test/fixtures/multipart_post_body_with_only_parameters.txt
69 | test/fixtures/multipart_post_body_with_single_file.txt
70 | test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt
71 | test/http_multipart_post_test.rb
72 | test/model_test.rb
73 | test/publisher_test.rb
74 | test/rails_integration_test.rb
75 | test/session_test.rb
76 | test/test_helper.rb
77 | test/user_test.rb
78 |
--------------------------------------------------------------------------------
/arrows/Web Game/ArrowKeyControl.js:
--------------------------------------------------------------------------------
1 | function preference(key, value) {
2 | key = "akc-" + key;
3 |
4 | if(arguments.length == 2) {
5 | localStorage[key] = value;
6 | }
7 | else {
8 | return localStorage[key];
9 | }
10 | }
11 |
12 | function showBack(event) {
13 | $("#username").value = preference('username');
14 | $("#crypt").value = preference('crypt');
15 | $("#netScoring").checked = preference('netScoring') != "false";
16 |
17 | $("#front").style.display = "none";
18 | $("#back").style.display = "block";
19 | }
20 |
21 | function showFront(event) {
22 | $("#front").style.display = "block";
23 | $("#back").style.display = "none";
24 |
25 | preference('username', $("#username").value);
26 | preference('crypt', $("#crypt").value);
27 | preference('netScoring', $("#netScoring").checked ? "true" : "false");
28 | }
29 |
30 | var $;
31 | var ajax = null;
32 |
33 | function uploadScore(score) {
34 | if(ajax == null) {
35 | ajax = new XMLHttpRequest();
36 | ajax.overrideMimeType("text/plain");
37 | }
38 |
39 | var ns = preference("netScoring");
40 | if(ns == undefined || ns == "true") {
41 | ajax.onreadystatechange = function(http) {
42 | if((ajax.readyState == 4) && (ajax.responseText.length > 1)) {
43 | var parts = ajax.responseText.split("|");
44 | if(parts[0] == "1") preference("netScoring", "false");
45 | window.open(parts[1]);
46 | }
47 | };
48 |
49 | ajax.open("GET", "http://akc.bloople.net/add/dashboard/10/" + preference("username") + "/" + preference("crypt") + "/" + score
50 | + "?" + Math.random());
51 | ajax.send(" ");
52 | }
53 | }
54 |
55 | function randomCrypt(count) {
56 | var out = "";
57 | var randChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
58 | for(var i = 0; i < count; i++) out += randChars.charAt(Math.floor(Math.random() * randChars.length + 1) - 1);
59 | return out;
60 | }
61 |
62 | function initPreferences() {
63 | if((typeof preference('crypt')) == 'undefined' || (typeof preference('username')) == 'undefined') {
64 | preference('crypt', randomCrypt(20));
65 | preference('username', 'Anonymous-' + randomCrypt(6));
66 | }
67 | }
68 |
69 | function init() {
70 | $ = document.querySelector.bind(document);
71 |
72 | var engine = new Engine(uploadScore);
73 |
74 | window.addEventListener("keydown", function(event) {
75 | engine.onKeyDown(event);
76 | })
77 |
78 | $("body").addEventListener("click", function(e) {
79 | if(e.target.matches(".play")) engine.start();
80 | else if(e.target.matches("#settings")) showBack;
81 | else if(e.target.matches("#done")) showFront;
82 | })
83 |
84 | initPreferences();
85 | }
86 |
87 | document.addEventListener("DOMContentLoaded", init);
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/routing.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | module Rails
3 | module Routing
4 | module RouteSetExtensions
5 | def self.included(base)
6 | base.alias_method_chain :extract_request_environment, :facebooker
7 | end
8 |
9 | def extract_request_environment_with_facebooker(request)
10 | env = extract_request_environment_without_facebooker(request)
11 | env.merge :canvas => (request.parameters[:fb_sig_in_canvas]=="1")
12 | end
13 | end
14 | module MapperExtensions
15 |
16 | # Generates pseudo-resource routes. Since everything is a POST, routes can't be identified
17 | # using HTTP verbs. Therefore, the action is appended to the beginning of each named route,
18 | # except for index.
19 | #
20 | # Example:
21 | # map.facebook_resources :profiles
22 | #
23 | # Generates the following routes:
24 | #
25 | # new_profile POST /profiles/new {:controller=>"profiles", :action=>"new"}
26 | # profiles POST /profiles/index {:controller=>"profiles", :action=>"index"}
27 | # show_profile POST /profiles/:id/show {:controller=>"profiles", :action=>"show"}
28 | # create_profile POST /profiles/create {:controller=>"profiles", :action=>"create"}
29 | # edit_profile POST /profiles/:id/edit {:controller=>"profiles", :action=>"edit"}
30 | # update_profile POST /profiles/:id/update {:controller=>"profiles", :action=>"update"}
31 | # destroy_profile POST /profiles/:id/destroy {:controller=>"profiles", :action=>"destroy"}
32 | #
33 | def facebook_resources(name_sym)
34 | name = name_sym.to_s
35 |
36 | with_options :controller => name, :conditions => { :method => :post } do |map|
37 | map.named_route("new_#{name.singularize}", "#{name}/new", :action => 'new')
38 | map.named_route(name, "#{name}/index", :action => 'index')
39 | map.named_route("show_#{name.singularize}", "#{name}/:id/show", :action => 'show', :id => /\d+/)
40 | map.named_route("create_#{name.singularize}", "#{name}/create", :action => 'create')
41 | map.named_route("edit_#{name.singularize}", "#{name}/:id/edit", :action => 'edit', :id => /\d+/)
42 | map.named_route("update_#{name.singularize}", "#{name}/:id/update", :action => 'update', :id => /\d+/)
43 | map.named_route("destroy_#{name.singularize}", "#{name}/:id/destroy", :action => 'destroy', :id => /\d+/)
44 | end
45 | end
46 | end
47 | end
48 | end
49 | end
--------------------------------------------------------------------------------
/original/Dashboard Widget/KeyControl.wdgt/Parts/GlassButton.js:
--------------------------------------------------------------------------------
1 | /*
2 | © Copyright 2006-2007 Apple Inc. All rights reserved.
3 |
4 | IMPORTANT: This Apple software ("Apple Software") is supplied to you in consideration of your agreement to the following terms. Your use, installation and/or redistribution of this Apple Software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, or redistribute this Apple Software.
5 |
6 | Provided you comply with all of the following terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in the Apple Software, to use, reproduce, and redistribute the Apple Software for the sole purpose of creating Dashboard widgets for Mac OS X. If you redistribute the Apple Software, you must retain this entire notice in all such redistributions.
7 |
8 | You may not use the name, trademarks, service marks or logos of Apple to endorse or promote products that include the Apple Software without the prior written permission of Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your products that incorporate the Apple Software or by other works in which the Apple Software may be incorporated.
9 |
10 | The Apple Software is provided on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
11 |
12 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13 | */
14 |
15 | function CreateGlassButton(buttonID, spec)
16 | {
17 | var buttonElement = document.getElementById(buttonID);
18 |
19 | if (!buttonElement.loaded) {
20 | buttonElement.loaded = true;
21 |
22 | var text = spec.text || '';
23 | if (window.getLocalizedString) text = getLocalizedString(text);
24 |
25 | var onclick = spec.onclick || null;
26 | try { onclick = eval(onclick); } catch (e) { onclick = null; }
27 |
28 | buttonElement.object = new AppleGlassButton(buttonElement, text, onclick);
29 | buttonElement.object.setEnabled(!spec.disabled);
30 | }
31 |
32 | return buttonElement.object;
33 | }
34 |
--------------------------------------------------------------------------------
/arrows/Dashboard Widget/ArrowKeyControl.wdgtproj/project/widget.wdgt/Parts/parts.js:
--------------------------------------------------------------------------------
1 | /*
2 | This file was generated by Dashcode and is covered by the
3 | license.txt included in the project. You may edit this file,
4 | however it is recommended to first turn off the Dashcode
5 | code generator otherwise the changes will be lost. This file
6 | is for files included by Dashcode directly. It will be replaced
7 | with an optimized version at deploy time.
8 | */
9 | var dashcodePartSupport = {
10 | "core": ["Parts/core/utilities.js", "Parts/core/core/base.js", "Parts/core/core/array-additions.js", "Parts/core/core/array-additions-ie.js", "Parts/core/core/set.js", "Parts/core/core/oop.js", "Parts/core/core/function-additions.js", "Parts/core/core/object-additions.js", "Parts/core/core/regex-additions.js", "Parts/core/core/local.js", "Parts/core/core/Error.js", "Parts/core/core/kvo.js", "Parts/core/core/Bindable.js", "Parts/core/core/SortDescriptor.js", "Parts/core/core/transformers.js", "Parts/core/core/Binding.js", "Parts/core/core/kvo-array.js", "Parts/core/core/kvo-array-operators.js", "Parts/core/core/model.js", "Parts/core/core/string-additions.js", "Parts/core/net/Deferred.js", "Parts/core/net/XHR.js", "Parts/core/controllers/Controller.js", "Parts/core/controllers/SelectionProxy.js", "Parts/core/controllers/ObjectController.js", "Parts/core/controllers/ArrayController.js", "Parts/core/controllers/AjaxController.js", "Parts/core/controllers/ModeledXMLProxy.js", "Parts/core/dom/element.js", "Parts/core/dom/event.js", "Parts/core/dom/element-ie.js", "Parts/core/dom/event-ie.js", "Parts/core/views/view-parts.js", "Parts/core/views/view-core.js", "Parts/core/views/Responder.js", "Parts/core/views/View.js", "Parts/core/views/ViewController.js", "Parts/core/views/ImageView.js", "Parts/core/views/ImageLayout.js", "Parts/core/views/DashcodePart.js", "Parts/core/views/FormControl.js", "Parts/core/views/TextField.js", "Parts/core/views/ListView.js", "Parts/core/views/SelectField.js", "Parts/core/views/ToggleButton.js", "Parts/core/views/SearchField.js", "Parts/core/views/Slider.js", "Parts/core/views/EventLoop.js", "Parts/core/views/Page.js", "Parts/core/views/Media.js", "Parts/core/views/Video.js", "Parts/core/views/VideoLayout.js", "Parts/core/views/VideoLegacy.js"],
11 | "scripts": ["Parts/setup.js", "Parts/datasources.js", "Parts/GlassButton.js", "Parts/InfoButton.js", "Parts/Button.js"]
12 | };
13 |
14 | (function() {
15 | var scripts = dashcodePartSupport['core'];
16 |
17 | scripts = scripts.concat(dashcodePartSupport['scripts']);
18 |
19 | for(var index in scripts) {
20 | var path = scripts[index];
21 | var scriptTag = '';
22 |
23 | document.write( scriptTag );
24 | }
25 |
26 | })();
27 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/test/model_test.rb:
--------------------------------------------------------------------------------
1 | require File.dirname(__FILE__) + '/test_helper.rb'
2 | require 'rubygems'
3 | require 'flexmock/test_unit'
4 |
5 | class TestFacebooker < Test::Unit::TestCase
6 |
7 | class ComplexThing
8 | include Facebooker::Model
9 | attr_accessor :weight, :height
10 | end
11 |
12 | class Thing
13 | include Facebooker::Model
14 | attr_accessor :name, :job
15 | hash_settable_accessor :complex_thing, ComplexThing
16 | hash_settable_list_accessor :list_of_complex_things, ComplexThing
17 | end
18 |
19 | class PopulatingThing
20 | include Facebooker::Model
21 | populating_attr_accessor :first_name
22 | end
23 |
24 | def test_can_instantiate_an_object_with_a_hash
25 | h = {:name => "Blob", :job => "Monster"}
26 | assert_equal("Blob", Thing.from_hash(h).name)
27 | end
28 |
29 | def test_if_no_hash_is_given_to_model_constructor_no_attributes_are_set
30 | assert_nothing_raised {
31 | t = Thing.new
32 | assert_nil(t.name)
33 | }
34 | end
35 |
36 | def test_can_declare_hash_settable_attributes
37 | t = Thing.new({})
38 | t.complex_thing = {:weight => 123, :height => 5.4}
39 | assert_equal(123, t.complex_thing.weight)
40 | t.complex_thing = ComplexThing.new(:weight => 321)
41 | assert_equal(321, t.complex_thing.weight)
42 | end
43 |
44 | def test_can_declare_attributes_which_are_settable_via_a_list_of_hashes
45 | t = Thing.new
46 | t.list_of_complex_things = [{:weight => 444, :height => 123.0}, {:weight => 222, :height => 321.1}]
47 | assert_equal("123.0, 321.1", t.list_of_complex_things.map{|ct| ct.height.to_s}.sort.join(', '))
48 | t.list_of_complex_things = [ComplexThing.new(:weight => 555), ComplexThing.new(:weight => 111)]
49 | assert_equal("111, 555", t.list_of_complex_things.map{|ct| ct.weight.to_s}.sort.join(', '))
50 | end
51 |
52 | def test_if_you_try_to_use_a_models_session_without_initializing_it_first_you_get_a_descriptive_error
53 | t = Thing.new
54 | assert_raises(Facebooker::Model::UnboundSessionException) {
55 | t.session
56 | }
57 | end
58 |
59 | def test_populating_reader_will_call_populate_if_model_was_not_previously_populated
60 | t = PopulatingThing.new
61 | flexmock(t).should_receive(:populate).once
62 | t.first_name
63 | end
64 |
65 | def test_populating_reader_will_not_call_populate_if_model_was_previously_populated
66 | t = PopulatingThing.new
67 | flexmock(t).should_receive(:populated?).and_return(true)
68 | flexmock(t).should_receive(:populate).never
69 | t.first_name
70 | end
71 |
72 | def test_attempting_to_access_a_populating_reader_will_raise_an_exception_if_populate_was_not_defined
73 | t = PopulatingThing.new
74 | assert_raises(NotImplementedError) {
75 | t.first_name
76 | }
77 | end
78 | end
79 |
80 |
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/feed.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | module Feed
3 | METHODS = {'Action' => 'facebook.feed.publishActionOfUser', 'Story' => 'facebook.feed.publishStoryToUser',
4 | 'TemplatizedAction' => 'facebook.feed.publishTemplatizedAction' }
5 |
6 | class ActionBase
7 | 1.upto(4) do |num|
8 | attr_accessor "image_#{num}"
9 | attr_accessor "image_#{num}_link"
10 | end
11 |
12 | def add_image(image,link=nil)
13 | 1.upto(4) do |num|
14 | if send("image_#{num}").blank?
15 | send("image_#{num}=",image)
16 | send("image_#{num}_link=",link) unless link.nil?
17 | return num
18 | end
19 | end
20 | end
21 |
22 |
23 | protected
24 | def image_params
25 | image_hash = {}
26 | 1.upto(4) do |num|
27 | image_attribute = "image_#{num}"
28 | image_link_attribute = image_attribute + "_link"
29 | self.__send__(image_attribute) ? image_hash[image_attribute] = self.__send__(image_attribute) : nil
30 | self.__send__(image_link_attribute) ? image_hash[image_link_attribute] = self.__send__(image_link_attribute) : nil
31 | end
32 | image_hash
33 | end
34 | end
35 |
36 | ##
37 | # Representation of a templatized action to be published into a user's news feed
38 | class TemplatizedAction < ActionBase
39 | attr_accessor :page_actor_id, :title_template, :title_data, :body_template, :body_data, :body_general, :target_ids
40 |
41 | def to_params
42 | raise "Must set title_template" if self.title_template.nil?
43 | { :page_actor_id => page_actor_id,
44 | :title_template => title_template,
45 | :title_data => convert_json(title_data),
46 | :body_template => body_template,
47 | :body_data => convert_json(body_data),
48 | :body_general => body_general,
49 | :target_ids => target_ids }.merge image_params
50 | end
51 |
52 | def convert_json(hash_or_string)
53 | (hash_or_string.is_a?(Hash) and hash_or_string.respond_to?(:to_json)) ? hash_or_string.to_json : hash_or_string
54 | end
55 | end
56 |
57 | ##
58 | # Representation of a story to be published into a user's news feed.
59 | class Story < ActionBase
60 | attr_accessor :title, :body
61 |
62 | ##
63 | # Converts Story to a Hash of its attributes for use as parameters to Facebook REST API calls
64 | def to_params
65 | raise "Must set title before converting" if self.title.nil?
66 | { :title => title, :body => body }.merge image_params
67 | end
68 |
69 | end
70 | Action = Story.dup
71 | def Action.name
72 | "Action"
73 | end
74 | ##
75 | # Representation of an action to be published into a user's news feed. Alias for Story.
76 | class Action; end
77 | end
78 | end
--------------------------------------------------------------------------------
/arrows/Facebook Application/vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb:
--------------------------------------------------------------------------------
1 | module Facebooker
2 | module Rails
3 | module TestHelpers
4 | def assert_facebook_redirect_to(url)
5 | assert_response :success
6 | assert_not_nil facebook_redirect_url
7 | assert_equal url, facebook_redirect_url
8 | end
9 |
10 | def follow_facebook_redirect!
11 | facebook_post facebook_redirect_url
12 | end
13 |
14 | def facebook_get(path,params={})
15 | facebook_verb(:get,path,params)
16 | end
17 |
18 | def facebook_post(path,params={})
19 | facebook_verb(:post,path,params)
20 | end
21 |
22 | def facebook_put(path,params={})
23 | facebook_verb(:put,path,params)
24 | end
25 | def facebook_delete(path,params={})
26 | facebook_verb(:delete,path,params)
27 | end
28 |
29 | def facebook_verb(verb,path, params={})
30 | params = default_facebook_parameters.update(params)
31 | params.merge!(:fb_sig => generate_signature(facebook_params(params).stringify_keys))
32 |
33 | params = params.update(:canvas => true).update(params)
34 | send verb, path, params
35 | end
36 |
37 | def facebook_post(path, params={}, fb_params=facebook_parameters)
38 | params = fb_params.merge(:canvas => true).merge(params)
39 | post path, params
40 | end
41 |
42 | def facebook_parameters(overrides=nil)
43 | overrides ||= {}
44 | params = default_facebook_parameters.merge(overrides)
45 | params.merge(:fb_sig => generate_signature(params.stringify_keys))
46 | end
47 |
48 | private
49 |
50 | def default_facebook_parameters
51 | {
52 | :fb_sig_added => "1",
53 | :fb_sig_session_key => "facebook_session_key",
54 | :fb_sig_user => "1234",
55 | :fb_sig_expires => "0",
56 | :fb_sig_in_canvas => "1",
57 | :fb_sig_time => Time.now.to_f
58 | }
59 | end
60 |
61 | def facebook_params(params)
62 | params.inject({}) do |fb_params, pair|
63 | unless pair.first.to_s.match(/^fb_sig_/).nil?
64 | fb_params[pair.first] = pair.last
65 | end
66 | fb_params
67 | end
68 | end
69 |
70 | def facebook_redirect_url
71 | match = @response.body.match(/