nov-iknow 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/README +4 -23
  2. data/Rakefile +5 -2
  3. data/examples/pure_ruby.rb +52 -10
  4. data/lib/ext/hash.rb +29 -0
  5. data/lib/iknow/core/config.rb +1 -1
  6. data/lib/iknow/core/version.rb +2 -2
  7. data/lib/iknow/core.rb +2 -1
  8. data/lib/iknow/model/list.rb +31 -18
  9. data/lib/iknow/rest_client/base.rb +66 -49
  10. data/lib/iknow/rest_client/item.rb +5 -5
  11. data/lib/iknow/rest_client/list.rb +9 -7
  12. metadata +13 -39
  13. data/examples/iknow_on_rails/app/controllers/application.rb +0 -15
  14. data/examples/iknow_on_rails/app/controllers/iknow_oauth_controller.rb +0 -24
  15. data/examples/iknow_on_rails/app/controllers/users_controller.rb +0 -10
  16. data/examples/iknow_on_rails/app/helpers/application_helper.rb +0 -3
  17. data/examples/iknow_on_rails/app/helpers/iknow_oauth_helper.rb +0 -3
  18. data/examples/iknow_on_rails/app/helpers/users_helper.rb +0 -2
  19. data/examples/iknow_on_rails/app/models/iknow_oauth_token.rb +0 -37
  20. data/examples/iknow_on_rails/config/boot.rb +0 -109
  21. data/examples/iknow_on_rails/config/environment.rb +0 -76
  22. data/examples/iknow_on_rails/config/environments/development.rb +0 -17
  23. data/examples/iknow_on_rails/config/environments/production.rb +0 -22
  24. data/examples/iknow_on_rails/config/environments/test.rb +0 -22
  25. data/examples/iknow_on_rails/config/initializers/inflections.rb +0 -10
  26. data/examples/iknow_on_rails/config/initializers/mime_types.rb +0 -5
  27. data/examples/iknow_on_rails/config/initializers/new_rails_defaults.rb +0 -17
  28. data/examples/iknow_on_rails/config/routes.rb +0 -44
  29. data/examples/iknow_on_rails/db/migrate/20081017012212_create_iknow_oauth_tokens.rb +0 -15
  30. data/examples/iknow_on_rails/db/schema.rb +0 -23
  31. data/examples/iknow_on_rails/lib/iknow_oauth_system.rb +0 -26
  32. data/examples/iknow_on_rails/public/dispatch.rb +0 -10
  33. data/examples/iknow_on_rails/test/functional/iknow_oauth_controller_test.rb +0 -7
  34. data/examples/iknow_on_rails/test/functional/users_controller_test.rb +0 -8
  35. data/examples/iknow_on_rails/test/test_helper.rb +0 -38
  36. data/examples/iknow_on_rails/test/unit/iknow_oauth_token_test.rb +0 -7
  37. data/generators/iknow_oauth/USAGE +0 -12
  38. data/generators/iknow_oauth/iknow_oauth_generator.rb +0 -22
  39. data/generators/iknow_oauth/templates/iknow_oauth_controller.rb +0 -24
  40. data/generators/iknow_oauth/templates/iknow_oauth_controller_test.rb +0 -7
  41. data/generators/iknow_oauth/templates/iknow_oauth_helper.rb +0 -3
  42. data/generators/iknow_oauth/templates/iknow_oauth_system.rb +0 -26
  43. data/generators/iknow_oauth/templates/iknow_oauth_token.rb +0 -37
  44. data/generators/iknow_oauth/templates/iknow_oauth_token_test.rb +0 -7
  45. data/generators/iknow_oauth/templates/iknow_oauth_tokens_migration.rb +0 -15
  46. data/generators/iknow_oauth/templates/index.rhtml +0 -4
@@ -1,24 +0,0 @@
1
- class IknowOauthController < ApplicationController
2
-
3
- def index; end
4
-
5
- def new_request
6
- request_token = IknowOauthToken.new_request_token
7
-
8
- session[:iknow_username] = params[:iknow_username]
9
- session[:request_token] = request_token
10
- session[:redirect_url_after_auth] = params[:redirect_url_after_auth] || request.referer
11
-
12
- if request_token
13
- redirect_to(request_token.authorize_url)
14
- else
15
- raise RuntimeError.new("Failed to get a iKnow! Request Token")
16
- end
17
- end
18
-
19
- def callback
20
- AuthToken.establish_auth_token(session[:iknow_username], session[:request_token])
21
- redirect_to(session[:redirect_url_after_auth])
22
- end
23
-
24
- end
@@ -1,10 +0,0 @@
1
- class UsersController < ApplicationController
2
-
3
- def index
4
- unless params[:iknow_username].blank?
5
- @user = Iknow::User.find(params[:iknow_username])
6
- flash[:notice] = "404 User Not Found" unless @user
7
- end
8
- end
9
-
10
- end
@@ -1,3 +0,0 @@
1
- # Methods added to this helper will be available to all templates in the application.
2
- module ApplicationHelper
3
- end
@@ -1,3 +0,0 @@
1
- module IknowOauthHelper
2
- # add any methods if you want
3
- end
@@ -1,2 +0,0 @@
1
- module UsersHelper
2
- end
@@ -1,37 +0,0 @@
1
- require 'oauth/consumer'
2
-
3
- class IknowOauthToken < ActiveRecord::Base
4
-
5
- def self.consumer
6
- @@consumer ||= OAuth::Consumer.new(
7
- Iknow::Config.oauth_consumer_key,
8
- Iknow::Config.oauth_consumer_secret,
9
- :site => Iknow::Config.iknow_api_base_url,
10
- :authorize_url => "#{Iknow::Config.iknow_base_url}/oauth/authorize"
11
- )
12
- end
13
-
14
- def self.new_request_token
15
- begin
16
- self.consumer.get_request_token
17
- rescue Exception => e
18
- nil
19
- end
20
- end
21
-
22
- def self.establish_auth_token(iknow_username, request_token)
23
- access_token = request_token.get_access_token
24
-
25
- auth_token = IknowAuthToken.new
26
- auth_token.username = iknow_username
27
- auth_token.token = access_token.token
28
- auth_token.secret = access_token.secret
29
- auth_token.save!
30
- end
31
-
32
- def to_access_token
33
- OAuth::AccessToken.new(self.class.consumer, self.token, self.secret)
34
- end
35
-
36
- end
37
-
@@ -1,109 +0,0 @@
1
- # Don't change this file!
2
- # Configure your app in config/environment.rb and config/environments/*.rb
3
-
4
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5
-
6
- module Rails
7
- class << self
8
- def boot!
9
- unless booted?
10
- preinitialize
11
- pick_boot.run
12
- end
13
- end
14
-
15
- def booted?
16
- defined? Rails::Initializer
17
- end
18
-
19
- def pick_boot
20
- (vendor_rails? ? VendorBoot : GemBoot).new
21
- end
22
-
23
- def vendor_rails?
24
- File.exist?("#{RAILS_ROOT}/vendor/rails")
25
- end
26
-
27
- def preinitialize
28
- load(preinitializer_path) if File.exist?(preinitializer_path)
29
- end
30
-
31
- def preinitializer_path
32
- "#{RAILS_ROOT}/config/preinitializer.rb"
33
- end
34
- end
35
-
36
- class Boot
37
- def run
38
- load_initializer
39
- Rails::Initializer.run(:set_load_path)
40
- end
41
- end
42
-
43
- class VendorBoot < Boot
44
- def load_initializer
45
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
46
- Rails::Initializer.run(:install_gem_spec_stubs)
47
- end
48
- end
49
-
50
- class GemBoot < Boot
51
- def load_initializer
52
- self.class.load_rubygems
53
- load_rails_gem
54
- require 'initializer'
55
- end
56
-
57
- def load_rails_gem
58
- if version = self.class.gem_version
59
- gem 'rails', version
60
- else
61
- gem 'rails'
62
- end
63
- rescue Gem::LoadError => load_error
64
- $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
65
- exit 1
66
- end
67
-
68
- class << self
69
- def rubygems_version
70
- Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion
71
- end
72
-
73
- def gem_version
74
- if defined? RAILS_GEM_VERSION
75
- RAILS_GEM_VERSION
76
- elsif ENV.include?('RAILS_GEM_VERSION')
77
- ENV['RAILS_GEM_VERSION']
78
- else
79
- parse_gem_version(read_environment_rb)
80
- end
81
- end
82
-
83
- def load_rubygems
84
- require 'rubygems'
85
- min_version = '1.1.1'
86
- unless rubygems_version >= min_version
87
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
88
- exit 1
89
- end
90
-
91
- rescue LoadError
92
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
93
- exit 1
94
- end
95
-
96
- def parse_gem_version(text)
97
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
98
- end
99
-
100
- private
101
- def read_environment_rb
102
- File.read("#{RAILS_ROOT}/config/environment.rb")
103
- end
104
- end
105
- end
106
- end
107
-
108
- # All that for this:
109
- Rails.boot!
@@ -1,76 +0,0 @@
1
- # Be sure to restart your server when you modify this file
2
-
3
- # Uncomment below to force Rails into production mode when
4
- # you don't control web/app server and can't set it the proper way
5
- # ENV['RAILS_ENV'] ||= 'production'
6
-
7
- # Specifies gem version of Rails to use when vendor/rails is not present
8
- RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION
9
-
10
- # Bootstrap the Rails environment, frameworks, and default configuration
11
- require File.join(File.dirname(__FILE__), 'boot')
12
-
13
- Rails::Initializer.run do |config|
14
- # Settings in config/environments/* take precedence over those specified here.
15
- # Application configuration should go into files in config/initializers
16
- # -- all .rb files in that directory are automatically loaded.
17
- # See Rails::Configuration for more options.
18
-
19
- # Skip frameworks you're not going to use. To use Rails without a database
20
- # you must remove the Active Record framework.
21
- # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
22
-
23
- # Specify gems that this application depends on.
24
- # They can then be installed with "rake gems:install" on new installations.
25
- # config.gem "bj"
26
- # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
27
- # config.gem "aws-s3", :lib => "aws/s3"
28
-
29
- # Only load the plugins named here, in the order given. By default, all plugins
30
- # in vendor/plugins are loaded in alphabetical order.
31
- # :all can be used as a placeholder for all plugins not explicitly named
32
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
33
-
34
- # Add additional load paths for your own custom dirs
35
- # config.load_paths += %W( #{RAILS_ROOT}/extras )
36
-
37
- # Force all environments to use the same logger level
38
- # (by default production uses :info, the others :debug)
39
- # config.log_level = :debug
40
-
41
- # Make Time.zone default to the specified zone, and make Active Record store time values
42
- # in the database in UTC, and return them converted to the specified local zone.
43
- # Run "rake -D time" for a list of tasks for finding time zone names. Comment line to use default local time.
44
- config.time_zone = 'UTC'
45
-
46
- # Your secret key for verifying cookie session data integrity.
47
- # If you change this key, all old sessions will become invalid!
48
- # Make sure the secret is at least 30 characters and all random,
49
- # no regular words or you'll be exposed to dictionary attacks.
50
- config.action_controller.session = {
51
- :session_key => '_iknow_on_rails_session',
52
- :secret => '5f988e6a1b554e6434373fbdb5506382102bffd1903e0b54a0d9e50745feb850ca5c228f25629402343b34af3e87315e69adf609e4fed030b07e3894cbe86736'
53
- }
54
-
55
- # Use the database for sessions instead of the cookie-based default,
56
- # which shouldn't be used to store highly confidential information
57
- # (create the session table with "rake db:sessions:create")
58
- # config.action_controller.session_store = :active_record_store
59
-
60
- # Use SQL instead of Active Record's schema dumper when creating the test database.
61
- # This is necessary if your schema can't be completely dumped by the schema dumper,
62
- # like if you have constraints or database-specific column types
63
- # config.active_record.schema_format = :sql
64
-
65
- # Activate observers that should always be running
66
- # config.active_record.observers = :cacher, :garbage_collector
67
- end
68
-
69
-
70
- # Set your key and secret
71
- require 'iknow'
72
- Iknow::Config.init do |conf|
73
- conf.api_key = ''
74
- conf.oauth_consumer_key = ''
75
- conf.oauth_consumer_secret = ''
76
- end
@@ -1,17 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,10 +0,0 @@
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
@@ -1,5 +0,0 @@
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
@@ -1,17 +0,0 @@
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
@@ -1,44 +0,0 @@
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
- map.root :controller => "users"
36
-
37
- # See how all your routes lay out with "rake routes"
38
-
39
- # Install the default routes as the lowest priority.
40
- # Note: These default routes make all actions in every controller accessible via GET requests. You should
41
- # consider removing the them or commenting them out if you're using named routes and resources.
42
- map.connect ':controller/:action/:id'
43
- map.connect ':controller/:action/:id.:format'
44
- end
@@ -1,15 +0,0 @@
1
- class CreateIknowOauthTokens < ActiveRecord::Migration
2
- def self.up
3
- create_table :iknow_oauth_tokens do |t|
4
- t.column :iknow_username, :string, :null => false
5
- t.column :token, :string, :unique => true
6
- t.column :secret, :string
7
- end
8
- add_index :iknow_oauth_tokens, :token, :unique => true
9
- add_index :iknow_oauth_tokens, :iknow_username
10
- end
11
-
12
- def self.down
13
- drop_table :iknow_oauth_tokens
14
- end
15
- end
@@ -1,23 +0,0 @@
1
- # This file is auto-generated from the current state of the database. Instead of editing this file,
2
- # please use the migrations feature of Active Record to incrementally modify your database, and
3
- # then regenerate this schema definition.
4
- #
5
- # Note that this schema.rb definition is the authoritative source for your database schema. If you need
6
- # to create the application database on another system, you should be using db:schema:load, not running
7
- # all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations
8
- # you'll amass, the slower it'll run and the greater likelihood for issues).
9
- #
10
- # It's strongly recommended to check this file into your version control system.
11
-
12
- ActiveRecord::Schema.define(:version => 20081016145649) do
13
-
14
- create_table "iknow_oauth_tokens", :force => true do |t|
15
- t.string "iknow_username", :null => false
16
- t.string "token"
17
- t.string "secret"
18
- end
19
-
20
- add_index "iknow_oauth_tokens", ["iknow_username"], :name => "index_iknow_oauth_tokens_on_iknow_username"
21
- add_index "iknow_oauth_tokens", ["token"], :name => "index_iknow_oauth_tokens_on_token", :unique => true
22
-
23
- end
@@ -1,26 +0,0 @@
1
- module IknowOauthSystem
2
-
3
- protected
4
-
5
- def require_iknow_oauth
6
- unless iknow_username_exists?
7
- redirect_to(:controller => 'iknow_oauth', :action => 'index')
8
- return false
9
- end
10
-
11
- iknow_oauth_token = IknowOauthToken.find_by_username(session[:iknow_username])
12
- unless iknow_oauth_token
13
- redirect_to(:controller => 'iknow_oauth', :action => 'new_request')
14
- return false
15
- end
16
-
17
- true
18
- end
19
-
20
- private
21
-
22
- def iknow_username_exists?
23
- !session[:iknow_username].blank?
24
- end
25
-
26
- end
@@ -1,10 +0,0 @@
1
- #!/usr/local/ruby//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
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper'
2
-
3
- class IknowOauthControllerTest < ActionController::TestCase
4
- def test_true
5
- true
6
- end
7
- end
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
-
3
- class UsersControllerTest < ActionController::TestCase
4
- # Replace this with your real tests.
5
- def test_truth
6
- assert true
7
- end
8
- end
@@ -1,38 +0,0 @@
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
@@ -1,7 +0,0 @@
1
- require 'test/unit'
2
-
3
- class IkonwOauthTokenTest < Test::Unit::TestCase
4
- def test_true
5
- true
6
- end
7
- end
@@ -1,12 +0,0 @@
1
- NAME
2
- iknow_oauth - creates a functional iknow oauth consumer
3
-
4
- SYNOPSIS
5
- nothing
6
-
7
- Description:
8
- Generates a model, controller, helper, view and library for making a OAuth consumer of iKnow! API.
9
- No arguments are needed.
10
-
11
- Example:
12
- ./script/generate iknow_oauth
@@ -1,22 +0,0 @@
1
- require 'rails_generator/base'
2
-
3
- class IknowOauthGenerator < Rails::Generator::Base
4
- def manifest
5
- record do |m|
6
- m.class_collisions 'IknowOauthController', 'IknowOauthControllerTest', 'IknowOauthHelper',
7
- 'IknowOauthSystem', 'IknowOauthToken', 'IknowOauthTokenTest'
8
-
9
- m.migration_template 'iknow_oauth_tokens_migration.rb', 'db/migrate', :migration_file_name => 'create_iknow_oauth_tokens'
10
-
11
- m.template 'iknow_oauth_controller.rb', File.join('app/controllers', 'iknow_oauth_controller.rb' )
12
- m.template 'iknow_oauth_controller_test.rb', File.join('test/functional', 'iknow_oauth_controller_test.rb')
13
- m.template 'iknow_oauth_helper.rb', File.join('app/helpers', 'iknow_oauth_helper.rb' )
14
- m.template 'iknow_oauth_system.rb', File.join('lib', 'iknow_oauth_system.rb' )
15
- m.template 'iknow_oauth_token.rb', File.join('app/models', 'iknow_oauth_token.rb' )
16
- m.template 'iknow_oauth_token_test.rb', File.join('test/unit', 'iknow_oauth_token_test.rb' )
17
-
18
- m.directory File.join('app/views', 'iknow_oauth')
19
- m.template 'index.rhtml', File.join('app/views', 'iknow_oauth', 'index.rhtml')
20
- end
21
- end
22
- end
@@ -1,24 +0,0 @@
1
- class IknowOauthController < ApplicationController
2
-
3
- def index; end
4
-
5
- def new_request
6
- request_token = IknowOauthToken.new_request_token
7
-
8
- session[:iknow_username] = params[:iknow_username]
9
- session[:request_token] = request_token
10
- session[:redirect_url_after_auth] = params[:redirect_url_after_auth] || request.referer
11
-
12
- if request_token
13
- redirect_to(request_token.authorize_url)
14
- else
15
- raise RuntimeError.new("Failed to get a iKnow! Request Token")
16
- end
17
- end
18
-
19
- def callback
20
- AuthToken.establish_auth_token(session[:iknow_username], session[:request_token])
21
- redirect_to(session[:redirect_url_after_auth])
22
- end
23
-
24
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper'
2
-
3
- class IknowOauthControllerTest < ActionController::TestCase
4
- def test_true
5
- true
6
- end
7
- end
@@ -1,3 +0,0 @@
1
- module IknowOauthHelper
2
- # add any methods if you want
3
- end