iknow 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +12 -0
- data/README +64 -0
- data/Rakefile +147 -0
- data/examples/iknow_on_rails/app/controllers/application.rb +15 -0
- data/examples/iknow_on_rails/app/controllers/iknow_oauth_controller.rb +24 -0
- data/examples/iknow_on_rails/app/controllers/users_controller.rb +10 -0
- data/examples/iknow_on_rails/app/helpers/application_helper.rb +3 -0
- data/examples/iknow_on_rails/app/helpers/iknow_oauth_helper.rb +3 -0
- data/examples/iknow_on_rails/app/helpers/users_helper.rb +2 -0
- data/examples/iknow_on_rails/app/models/iknow_oauth_token.rb +37 -0
- data/examples/iknow_on_rails/config/boot.rb +109 -0
- data/examples/iknow_on_rails/config/environment.rb +76 -0
- data/examples/iknow_on_rails/config/environments/development.rb +17 -0
- data/examples/iknow_on_rails/config/environments/production.rb +22 -0
- data/examples/iknow_on_rails/config/environments/test.rb +22 -0
- data/examples/iknow_on_rails/config/initializers/inflections.rb +10 -0
- data/examples/iknow_on_rails/config/initializers/mime_types.rb +5 -0
- data/examples/iknow_on_rails/config/initializers/new_rails_defaults.rb +17 -0
- data/examples/iknow_on_rails/config/routes.rb +44 -0
- data/examples/iknow_on_rails/db/migrate/20081017012212_create_iknow_oauth_tokens.rb +15 -0
- data/examples/iknow_on_rails/db/schema.rb +23 -0
- data/examples/iknow_on_rails/lib/iknow_oauth_system.rb +26 -0
- data/examples/iknow_on_rails/public/dispatch.rb +10 -0
- data/examples/iknow_on_rails/test/functional/iknow_oauth_controller_test.rb +7 -0
- data/examples/iknow_on_rails/test/functional/users_controller_test.rb +8 -0
- data/examples/iknow_on_rails/test/test_helper.rb +38 -0
- data/examples/iknow_on_rails/test/unit/iknow_oauth_token_test.rb +7 -0
- data/examples/pure_ruby.rb +54 -0
- data/generators/iknow_oauth/USAGE +12 -0
- data/generators/iknow_oauth/iknow_oauth_generator.rb +22 -0
- data/generators/iknow_oauth/templates/iknow_oauth_controller.rb +24 -0
- data/generators/iknow_oauth/templates/iknow_oauth_controller_test.rb +7 -0
- data/generators/iknow_oauth/templates/iknow_oauth_helper.rb +3 -0
- data/generators/iknow_oauth/templates/iknow_oauth_system.rb +26 -0
- data/generators/iknow_oauth/templates/iknow_oauth_token.rb +37 -0
- data/generators/iknow_oauth/templates/iknow_oauth_token_test.rb +7 -0
- data/generators/iknow_oauth/templates/iknow_oauth_tokens_migration.rb +15 -0
- data/generators/iknow_oauth/templates/index.rhtml +4 -0
- data/lib/ext/hash.rb +23 -0
- data/lib/iknow/core/config.rb +44 -0
- data/lib/iknow/core/version.rb +14 -0
- data/lib/iknow/core.rb +2 -0
- data/lib/iknow/model/base.rb +29 -0
- data/lib/iknow/model/item.rb +60 -0
- data/lib/iknow/model/list.rb +133 -0
- data/lib/iknow/model/sentence.rb +34 -0
- data/lib/iknow/model/user.rb +102 -0
- data/lib/iknow/model.rb +5 -0
- data/lib/iknow/rest_client/base.rb +114 -0
- data/lib/iknow/rest_client/item.rb +12 -0
- data/lib/iknow/rest_client/list.rb +13 -0
- data/lib/iknow/rest_client/sentence.rb +12 -0
- data/lib/iknow/rest_client/user.rb +12 -0
- data/lib/iknow/rest_client.rb +8 -0
- data/lib/iknow.rb +14 -0
- data/test/iknow_test.rb +5 -0
- data/test/test_helper.rb +3 -0
- metadata +157 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
class Iknow::Sentence < Iknow::Base
|
2
|
+
ATTRIBUTES = [:sound, :image, :text, :language, :id, :transliterations, :translations]
|
3
|
+
WRITABLE_ATTRIBUTES = [:sound, :image]
|
4
|
+
attr_accessor *WRITABLE_ATTRIBUTES
|
5
|
+
attr_reader *(ATTRIBUTES - WRITABLE_ATTRIBUTES)
|
6
|
+
|
7
|
+
def self.recent(params = {})
|
8
|
+
response = Iknow::RestClient::Sentence.recent(params)
|
9
|
+
self.deserialize(response) || []
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.find(sentence_id, params = {})
|
13
|
+
params[:id] = sentence_id
|
14
|
+
response = Iknow::RestClient::Sentence.find(params)
|
15
|
+
self.deserialize(response)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.matching(keyword, params = {})
|
19
|
+
params[:keyword] = keyword
|
20
|
+
response = Iknow::RestClient::Sentence.matching(params)
|
21
|
+
self.deserialize(response) || []
|
22
|
+
end
|
23
|
+
|
24
|
+
def initialize(params = {})
|
25
|
+
@id = params[:id]
|
26
|
+
@sound = params[:sound]
|
27
|
+
@image = params[:image]
|
28
|
+
@text = params[:text]
|
29
|
+
@language = params[:language]
|
30
|
+
@transliterations = params[:transliterations]
|
31
|
+
@translations = self.deserialize(params[:translations], :as => Iknow::Sentence)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
class Iknow::User < Iknow::Base
|
2
|
+
ATTRIBUTES = [:username, :profile]
|
3
|
+
attr_reader *ATTRIBUTES
|
4
|
+
|
5
|
+
class Profile < Iknow::Base
|
6
|
+
ATTRIBUTES = [:name, :gender, :birthday, :description, :blog_url, :profile_url, :foaf_url, :icon_url]
|
7
|
+
attr_reader *ATTRIBUTES
|
8
|
+
|
9
|
+
def initialize(params = {})
|
10
|
+
@name = params[:name]
|
11
|
+
@gender = params[:gender]
|
12
|
+
@birthday = (Date.parse(params[:birthday]) rescue nil)
|
13
|
+
@description = params[:description]
|
14
|
+
@blog_url = params[:blog_url]
|
15
|
+
@profile_url = params[:profile_url]
|
16
|
+
@foaf_url = params[:foaf_url]
|
17
|
+
@icon_url = params[:icon_url]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class Study < Iknow::Base
|
22
|
+
ATTRIBUTES = [:today, :results, :total_summary]
|
23
|
+
attr_reader *ATTRIBUTES
|
24
|
+
|
25
|
+
class Result < Iknow::Base
|
26
|
+
ATTRIBUTES = [:timestamp, :seconds, :totals, :seen, :completed, :date]
|
27
|
+
attr_reader *ATTRIBUTES
|
28
|
+
|
29
|
+
def initialize(params = {})
|
30
|
+
@timestamp = (params[:timestamp].to_i rescue nil)
|
31
|
+
@seconds = (params[:seconds].to_i rescue nil)
|
32
|
+
@totals = {
|
33
|
+
:seconds => (params[:totals][:seconds].to_i rescue nil),
|
34
|
+
:seen => (params[:totals][:seen].to_i rescue nil),
|
35
|
+
:completed => (params[:totals][:completed].to_i rescue nil)
|
36
|
+
}
|
37
|
+
@seen = (params[:seen].to_i rescue nil)
|
38
|
+
@completed = (params[:completed].to_i rescue nil)
|
39
|
+
@date = (Date.parse(params[:date]) rescue nil)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class TotalSummary < Iknow::Base
|
44
|
+
ATTRIBUTES = [:studied, :completed, :performance, :best_speed, :best_score]
|
45
|
+
attr_reader *ATTRIBUTES
|
46
|
+
|
47
|
+
def initialize(params = {})
|
48
|
+
@studied = params[:studied]
|
49
|
+
@completed = params[:completed]
|
50
|
+
@performance = params[:performance]
|
51
|
+
@best_speed = params[:best_speed]
|
52
|
+
@best_score = params[:best_score]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def initialize(params = {})
|
57
|
+
@today = (Date.parse(params[:today]) rescue nil)
|
58
|
+
@results = self.deserialize(params[:study_results], :as => Iknow::User::Study::Result)
|
59
|
+
@total_summary = self.deserialize(params[:total_summary], :as => Iknow::User::Study::TotalSummary)
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.find(username, params = {})
|
65
|
+
params[:username] = username
|
66
|
+
response = Iknow::RestClient::User.find(params)
|
67
|
+
self.deserialize(response)
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.matching(keyword, params = {})
|
71
|
+
params[:keyword] = keyword
|
72
|
+
response = Iknow::RestClient::User.matching(params)
|
73
|
+
self.deserialize(response) || []
|
74
|
+
end
|
75
|
+
|
76
|
+
def initialize(params)
|
77
|
+
@profile = Profile.new(params[:profile])
|
78
|
+
@username = params[:username]
|
79
|
+
end
|
80
|
+
|
81
|
+
def items(params = {})
|
82
|
+
response = Iknow::RestClient::User.items(params.merge(:username => self.username))
|
83
|
+
self.deserialize(response, :as => Iknow::Item) || []
|
84
|
+
end
|
85
|
+
|
86
|
+
def lists(params = {})
|
87
|
+
response = Iknow::RestClient::User.lists(params.merge(:username => self.username))
|
88
|
+
self.deserialize(response, :as => Iknow::List) || []
|
89
|
+
end
|
90
|
+
|
91
|
+
def friends(params = {})
|
92
|
+
response = Iknow::RestClient::User.friends(params.merge(:username => self.username))
|
93
|
+
self.deserialize(response) || []
|
94
|
+
end
|
95
|
+
|
96
|
+
def study(params = {})
|
97
|
+
params[:application] ||= 'iknow'
|
98
|
+
response = Iknow::RestClient::User.study_results(params.merge(:username => self.username))
|
99
|
+
self.deserialize(response, :as => Iknow::User::Study)
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
data/lib/iknow/model.rb
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
class Iknow::RestClient::Base
|
2
|
+
|
3
|
+
class RESTError < Exception
|
4
|
+
attr_accessor :code, :message, :uri
|
5
|
+
|
6
|
+
def initialize(params = {})
|
7
|
+
self.code = params[:code]
|
8
|
+
self.message = params[:message]
|
9
|
+
self.uri = params[:uri]
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_s
|
13
|
+
"HTTP #{@code}: #{@message} at #{@uri}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.valid_action?(action) ; self::ACTIONS.keys.include? action.to_sym end
|
18
|
+
def self.path(action) ; self::ACTIONS[action.to_sym][:path] end
|
19
|
+
def self.http_method(action) ; self::ACTIONS[action.to_sym][:http_method] || :get end
|
20
|
+
|
21
|
+
def self.method_missing(action, *args)
|
22
|
+
# GET methods are handled here
|
23
|
+
# POST and DELETE methods should be implemented in each class
|
24
|
+
super unless self.valid_action?(action)
|
25
|
+
uri, params = replace_uri_params(self.path(action), args[0])
|
26
|
+
http_connect do |conn|
|
27
|
+
case self.http_method(action)
|
28
|
+
when :get
|
29
|
+
http_get_request(uri, params)
|
30
|
+
when :post
|
31
|
+
http_post_request(uri, params)
|
32
|
+
when :delete
|
33
|
+
http_delete_request(uri, params)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def self.config; Iknow::Config end
|
41
|
+
|
42
|
+
def self.api_key_required
|
43
|
+
raise ArgumentError.new("iKnow! API key is required") if self.config.api_key == ''
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.http_connect
|
47
|
+
connection = Net::HTTP.new(self.config.api_host, self.config.api_port)
|
48
|
+
connection.start do |conn|
|
49
|
+
request = yield connection
|
50
|
+
response = conn.request(request)
|
51
|
+
handle_rest_response(response)
|
52
|
+
JSON.parse(response.body)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.raise_rest_error(response, uri = nil)
|
57
|
+
raise RESTError.new(:code => response.code, :message => response.message, :uri => uri)
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.handle_rest_response(response, uri = nil)
|
61
|
+
raise_rest_error(response, uri) unless response.is_a?(Net::HTTPSuccess)
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.http_header
|
65
|
+
@@http_header ||= {
|
66
|
+
'User-Agent' => "iKnow! API v#{Iknow::Version.to_version} [#{self.config.user_agent}]",
|
67
|
+
'Accept' => 'text/x-json',
|
68
|
+
'X-iKnow-Client' => self.config.application_name,
|
69
|
+
'X-iKnow-Client-Version' => self.config.application_version,
|
70
|
+
'X-iKnow-Client-URL' => self.config.application_url,
|
71
|
+
}
|
72
|
+
@@http_header
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.replace_uri_params(uri, params = {})
|
76
|
+
replaced_uri = uri.clone
|
77
|
+
unless params.empty?
|
78
|
+
params.each do |key, value|
|
79
|
+
if replaced_uri=~/__#{key}__/
|
80
|
+
replaced_uri.sub!(/__#{key}__/, value.to_s)
|
81
|
+
params.delete(key)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
return replaced_uri, params
|
86
|
+
end
|
87
|
+
|
88
|
+
def self.http_get_request(uri, params = {})
|
89
|
+
unless self.config.api_key == ''
|
90
|
+
params.merge!(:api_key => self.config.api_key)
|
91
|
+
end
|
92
|
+
path = (params.size > 0) ? "#{uri}?#{params.to_http_str}" : uri
|
93
|
+
Net::HTTP::Get.new(path, http_header)
|
94
|
+
end
|
95
|
+
|
96
|
+
def self.http_post_request(uri, params = {})
|
97
|
+
self.api_key_required
|
98
|
+
request = Net::HTTP::Post.new(uri, http_header)
|
99
|
+
request.body = params.merge(:api_key => self.config.api_key).to_http_str
|
100
|
+
request
|
101
|
+
end
|
102
|
+
|
103
|
+
def self.http_delete_request(uri, params = {})
|
104
|
+
unless self.config.api_key == ''
|
105
|
+
params.merge!(:api_key => self.config.api_key)
|
106
|
+
end
|
107
|
+
path = (params.size > 0) ? "#{uri}?#{params.to_http_str}" : uri
|
108
|
+
Net::HTTP::Delete.new(path, http_header)
|
109
|
+
end
|
110
|
+
|
111
|
+
private_class_method :http_connect, :raise_rest_error, :handle_rest_response, :http_header,
|
112
|
+
:replace_uri_params, :http_get_request, :http_post_request, :http_delete_request
|
113
|
+
|
114
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Iknow::RestClient::Item < Iknow::RestClient::Base
|
2
|
+
|
3
|
+
ACTIONS = {
|
4
|
+
:recent => { :path => '/items' },
|
5
|
+
:find => { :path => '/items/__id__' },
|
6
|
+
:matching => { :path => '/items/matching/__keyword__' },
|
7
|
+
:add_image => { :path => '/items/__id__/images', :http_method => :post },
|
8
|
+
:add_sound => { :path => '/items/__id__/sounds', :http_method => :post },
|
9
|
+
:extract => { :path => '/items/extract', :http_method => :post }
|
10
|
+
}
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Iknow::RestClient::List < Iknow::RestClient::Base
|
2
|
+
|
3
|
+
ACTIONS = {
|
4
|
+
:recent => { :path => '/lists' },
|
5
|
+
:find => { :path => '/lists/__id__' },
|
6
|
+
:items => { :path => '/lists/__id__/items' },
|
7
|
+
:sentences => { :path => '/lists/__id__/sentences' },
|
8
|
+
:matching => { :path => '/lists/matching/__keyword__' },
|
9
|
+
:create => { :path => '/lists', :http_method => :post },
|
10
|
+
:delete => { :path => '/lists/__id__', :http_method => :delete }
|
11
|
+
}
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Iknow::RestClient::Sentence < Iknow::RestClient::Base
|
2
|
+
|
3
|
+
ACTIONS = {
|
4
|
+
:recent => { :path => '/sentences' },
|
5
|
+
:find => { :path => '/sentences/__id__' },
|
6
|
+
:matching => { :path => '/sentences/matching/__keyword__' },
|
7
|
+
:create => { :path => '/sentences', :http_method => :post },
|
8
|
+
:add_image => { :path => '/sentences/__id__/images', :http_method => :post },
|
9
|
+
:add_sound => { :path => '/sentences/__id__/sounds', :http_method => :post }
|
10
|
+
}
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Iknow::RestClient::User < Iknow::RestClient::Base
|
2
|
+
|
3
|
+
ACTIONS = {
|
4
|
+
:find => { :path => '/users/__username__' },
|
5
|
+
:lists => { :path => '/users/__username__/lists' },
|
6
|
+
:items => { :path => '/users/__username__/items' },
|
7
|
+
:friends => { :path => '/users/__username__/friends' },
|
8
|
+
:study_results => { :path => '/users/__username__/study_results/__application__' },
|
9
|
+
:matching => { :path => '/users/matching/__keyword__' }
|
10
|
+
}
|
11
|
+
|
12
|
+
end
|
data/lib/iknow.rb
ADDED
data/test/iknow_test.rb
ADDED
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: iknow
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- nov
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-12-01 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rails
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.1.0
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: json
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: oauth
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.2.4
|
44
|
+
version:
|
45
|
+
description: A rubygem for iKnow! APIs
|
46
|
+
email: developer@iknow.co.jp
|
47
|
+
executables: []
|
48
|
+
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- README
|
53
|
+
- ChangeLog
|
54
|
+
files:
|
55
|
+
- README
|
56
|
+
- ChangeLog
|
57
|
+
- Rakefile
|
58
|
+
- test/iknow_test.rb
|
59
|
+
- test/test_helper.rb
|
60
|
+
- lib/ext
|
61
|
+
- lib/ext/hash.rb
|
62
|
+
- lib/iknow
|
63
|
+
- lib/iknow/core
|
64
|
+
- lib/iknow/core/config.rb
|
65
|
+
- lib/iknow/core/version.rb
|
66
|
+
- lib/iknow/core.rb
|
67
|
+
- lib/iknow/model
|
68
|
+
- lib/iknow/model/base.rb
|
69
|
+
- lib/iknow/model/item.rb
|
70
|
+
- lib/iknow/model/list.rb
|
71
|
+
- lib/iknow/model/sentence.rb
|
72
|
+
- lib/iknow/model/user.rb
|
73
|
+
- lib/iknow/model.rb
|
74
|
+
- lib/iknow/rest_client
|
75
|
+
- lib/iknow/rest_client/base.rb
|
76
|
+
- lib/iknow/rest_client/item.rb
|
77
|
+
- lib/iknow/rest_client/list.rb
|
78
|
+
- lib/iknow/rest_client/sentence.rb
|
79
|
+
- lib/iknow/rest_client/user.rb
|
80
|
+
- lib/iknow/rest_client.rb
|
81
|
+
- lib/iknow.rb
|
82
|
+
- generators/iknow_oauth
|
83
|
+
- generators/iknow_oauth/iknow_oauth_generator.rb
|
84
|
+
- generators/iknow_oauth/templates
|
85
|
+
- generators/iknow_oauth/templates/iknow_oauth_controller.rb
|
86
|
+
- generators/iknow_oauth/templates/iknow_oauth_controller_test.rb
|
87
|
+
- generators/iknow_oauth/templates/iknow_oauth_helper.rb
|
88
|
+
- generators/iknow_oauth/templates/iknow_oauth_system.rb
|
89
|
+
- generators/iknow_oauth/templates/iknow_oauth_token.rb
|
90
|
+
- generators/iknow_oauth/templates/iknow_oauth_token_test.rb
|
91
|
+
- generators/iknow_oauth/templates/iknow_oauth_tokens_migration.rb
|
92
|
+
- generators/iknow_oauth/templates/index.rhtml
|
93
|
+
- generators/iknow_oauth/USAGE
|
94
|
+
- examples/iknow_on_rails/app/controllers/application.rb
|
95
|
+
- examples/iknow_on_rails/app/controllers/iknow_oauth_controller.rb
|
96
|
+
- examples/iknow_on_rails/app/controllers/users_controller.rb
|
97
|
+
- examples/iknow_on_rails/app/helpers/application_helper.rb
|
98
|
+
- examples/iknow_on_rails/app/helpers/iknow_oauth_helper.rb
|
99
|
+
- examples/iknow_on_rails/app/helpers/users_helper.rb
|
100
|
+
- examples/iknow_on_rails/app/models/iknow_oauth_token.rb
|
101
|
+
- examples/iknow_on_rails/config/boot.rb
|
102
|
+
- examples/iknow_on_rails/config/environment.rb
|
103
|
+
- examples/iknow_on_rails/config/environments/development.rb
|
104
|
+
- examples/iknow_on_rails/config/environments/production.rb
|
105
|
+
- examples/iknow_on_rails/config/environments/test.rb
|
106
|
+
- examples/iknow_on_rails/config/initializers/inflections.rb
|
107
|
+
- examples/iknow_on_rails/config/initializers/mime_types.rb
|
108
|
+
- examples/iknow_on_rails/config/initializers/new_rails_defaults.rb
|
109
|
+
- examples/iknow_on_rails/config/routes.rb
|
110
|
+
- examples/iknow_on_rails/db/migrate/20081017012212_create_iknow_oauth_tokens.rb
|
111
|
+
- examples/iknow_on_rails/db/schema.rb
|
112
|
+
- examples/iknow_on_rails/lib/iknow_oauth_system.rb
|
113
|
+
- examples/iknow_on_rails/public/dispatch.rb
|
114
|
+
- examples/iknow_on_rails/test/functional/iknow_oauth_controller_test.rb
|
115
|
+
- examples/iknow_on_rails/test/functional/users_controller_test.rb
|
116
|
+
- examples/iknow_on_rails/test/test_helper.rb
|
117
|
+
- examples/iknow_on_rails/test/unit/iknow_oauth_token_test.rb
|
118
|
+
- examples/pure_ruby.rb
|
119
|
+
has_rdoc: true
|
120
|
+
homepage: http://iknow.rubyforge.org
|
121
|
+
post_install_message:
|
122
|
+
rdoc_options:
|
123
|
+
- --title
|
124
|
+
- iknow documentation
|
125
|
+
- --charset
|
126
|
+
- utf-8
|
127
|
+
- --opname
|
128
|
+
- index.html
|
129
|
+
- --line-numbers
|
130
|
+
- --main
|
131
|
+
- README
|
132
|
+
- --inline-source
|
133
|
+
- --exclude
|
134
|
+
- ^(examples|extras)/
|
135
|
+
require_paths:
|
136
|
+
- lib
|
137
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.8.6
|
142
|
+
version:
|
143
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: "0"
|
148
|
+
version:
|
149
|
+
requirements: []
|
150
|
+
|
151
|
+
rubyforge_project: iknow
|
152
|
+
rubygems_version: 1.3.1
|
153
|
+
signing_key:
|
154
|
+
specification_version: 2
|
155
|
+
summary: A rubygem for iKnow! APIs
|
156
|
+
test_files:
|
157
|
+
- test/iknow_test.rb
|