nov-iknow 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/README +14 -30
  2. data/Rakefile +4 -3
  3. data/examples/iknow_on_rails/app/controllers/application.rb +15 -0
  4. data/examples/iknow_on_rails/app/controllers/iknow_oauth_controller.rb +24 -0
  5. data/examples/iknow_on_rails/app/controllers/users_controller.rb +10 -0
  6. data/examples/iknow_on_rails/app/helpers/application_helper.rb +3 -0
  7. data/examples/iknow_on_rails/app/helpers/iknow_oauth_helper.rb +3 -0
  8. data/examples/iknow_on_rails/app/helpers/users_helper.rb +2 -0
  9. data/examples/iknow_on_rails/app/models/iknow_oauth_token.rb +37 -0
  10. data/examples/iknow_on_rails/config/boot.rb +109 -0
  11. data/examples/iknow_on_rails/config/environment.rb +76 -0
  12. data/examples/iknow_on_rails/config/environments/development.rb +17 -0
  13. data/examples/iknow_on_rails/config/environments/production.rb +22 -0
  14. data/examples/iknow_on_rails/config/environments/test.rb +22 -0
  15. data/examples/iknow_on_rails/config/initializers/inflections.rb +10 -0
  16. data/examples/iknow_on_rails/config/initializers/mime_types.rb +5 -0
  17. data/examples/iknow_on_rails/config/initializers/new_rails_defaults.rb +17 -0
  18. data/examples/iknow_on_rails/config/routes.rb +44 -0
  19. data/examples/iknow_on_rails/db/migrate/20081017012212_create_iknow_oauth_tokens.rb +15 -0
  20. data/examples/iknow_on_rails/db/schema.rb +23 -0
  21. data/examples/iknow_on_rails/lib/iknow_oauth_system.rb +26 -0
  22. data/examples/iknow_on_rails/public/dispatch.rb +10 -0
  23. data/examples/iknow_on_rails/test/functional/iknow_oauth_controller_test.rb +7 -0
  24. data/examples/iknow_on_rails/test/functional/users_controller_test.rb +8 -0
  25. data/examples/iknow_on_rails/test/test_helper.rb +38 -0
  26. data/examples/iknow_on_rails/test/unit/iknow_oauth_token_test.rb +7 -0
  27. data/examples/pure_ruby.rb +8 -3
  28. data/generators/iknow/USAGE +12 -0
  29. data/generators/iknow/iknow_generator.rb +22 -0
  30. data/generators/iknow/templates/iknow_oauth_controller.rb +24 -0
  31. data/generators/iknow/templates/iknow_oauth_controller_test.rb +7 -0
  32. data/generators/iknow/templates/iknow_oauth_helper.rb +3 -0
  33. data/generators/iknow/templates/iknow_oauth_system.rb +26 -0
  34. data/generators/iknow/templates/iknow_oauth_token.rb +37 -0
  35. data/generators/iknow/templates/iknow_oauth_token_test.rb +7 -0
  36. data/generators/iknow/templates/iknow_oauth_tokens_migration.rb +15 -0
  37. data/generators/iknow/templates/index.rhtml +4 -0
  38. data/generators/iknow_oauth/USAGE +12 -0
  39. data/generators/iknow_oauth/iknow_oauth_generator.rb +22 -0
  40. data/generators/iknow_oauth/templates/iknow_oauth_controller.rb +24 -0
  41. data/generators/iknow_oauth/templates/iknow_oauth_controller_test.rb +7 -0
  42. data/generators/iknow_oauth/templates/iknow_oauth_helper.rb +3 -0
  43. data/generators/iknow_oauth/templates/iknow_oauth_system.rb +26 -0
  44. data/generators/iknow_oauth/templates/iknow_oauth_token.rb +37 -0
  45. data/generators/iknow_oauth/templates/iknow_oauth_token_test.rb +7 -0
  46. data/generators/iknow_oauth/templates/iknow_oauth_tokens_migration.rb +15 -0
  47. data/generators/iknow_oauth/templates/index.rhtml +4 -0
  48. data/lib/iknow/core/config.rb +26 -10
  49. data/lib/iknow/core/version.rb +1 -1
  50. data/lib/iknow/model/base.rb +9 -2
  51. data/lib/iknow/model/item.rb +3 -3
  52. data/lib/iknow/model/list.rb +4 -10
  53. data/lib/iknow/model/sentence.rb +6 -6
  54. data/lib/iknow/model/user.rb +31 -28
  55. data/lib/iknow/rest_client/base.rb +13 -27
  56. metadata +69 -3
@@ -13,9 +13,6 @@ class Iknow::RestClient::Base
13
13
  "HTTP #{@code}: #{@message} at #{@uri}"
14
14
  end
15
15
  end
16
- class ResourceError < RESTError ; end
17
- class ResourceNotFound < ResourceError ; end
18
- class ResourceAccessDenied < ResourceError ; end
19
16
 
20
17
  def self.valid_action?(action) ; self::ACTIONS.keys.include? action.to_sym end
21
18
  def self.path(action) ; self::ACTIONS[action.to_sym][:path] end
@@ -40,32 +37,19 @@ class Iknow::RestClient::Base
40
37
 
41
38
  private
42
39
 
43
- def self.config; Iknow::Config.instance end
40
+ def self.config; Iknow::Config end
44
41
 
45
42
  def self.api_key_required
46
43
  raise ArgumentError.new("iKnow! API key is required") if self.config.api_key == ''
47
44
  end
48
45
 
49
46
  def self.http_connect
50
- connection = Net::HTTP.new(self.config.host, self.config.port)
47
+ connection = Net::HTTP.new(self.config.api_host, self.config.api_port)
51
48
  connection.start do |conn|
52
49
  request = yield connection
53
50
  response = conn.request(request)
54
51
  handle_rest_response(response)
55
- json_response = JSON.parse(response.body)
56
- handle_json_response(json_response)
57
- json_response
58
- end
59
- end
60
-
61
- def self.raise_json_error(code, message, uri = nil)
62
- case code
63
- when 403
64
- raise ResourceAccessDenied.new(:code => code, :message => message, :uri => uri)
65
- when 404
66
- raise ResourceNotFound.new(:code => code, :message => message, :uri => uri)
67
- else
68
- raise ResourceError.new(:code => code, :message => message, :uri => uri)
52
+ JSON.parse(response.body)
69
53
  end
70
54
  end
71
55
 
@@ -73,11 +57,6 @@ class Iknow::RestClient::Base
73
57
  raise RESTError.new(:code => response.code, :message => response.message, :uri => uri)
74
58
  end
75
59
 
76
- def self.handle_json_response(json_response, uri = nil)
77
- jsoon_error = json_response.is_a?(Hash) ? json_response['error'] : nil
78
- raise_json_error(jsoon_error['code'], jsoon_error['message'], uri) unless jsoon_error.nil?
79
- end
80
-
81
60
  def self.handle_rest_response(response, uri = nil)
82
61
  raise_rest_error(response, uri) unless response.is_a?(Net::HTTPSuccess)
83
62
  end
@@ -94,18 +73,22 @@ class Iknow::RestClient::Base
94
73
  end
95
74
 
96
75
  def self.replace_uri_params(uri, params = {})
76
+ replaced_uri = uri.clone
97
77
  unless params.empty?
98
78
  params.each do |key, value|
99
- if uri=~/__#{key}__/
100
- uri.sub!(/__#{key}__/, value.to_s)
79
+ if replaced_uri=~/__#{key}__/
80
+ replaced_uri.sub!(/__#{key}__/, value.to_s)
101
81
  params.delete(key)
102
82
  end
103
83
  end
104
84
  end
105
- return uri, params
85
+ return replaced_uri, params
106
86
  end
107
87
 
108
88
  def self.http_get_request(uri, params = {})
89
+ unless self.config.api_key.blank?
90
+ params.merge!(:api_key => self.config.api_key)
91
+ end
109
92
  path = (params.size > 0) ? "#{uri}?#{params.to_http_str}" : uri
110
93
  Net::HTTP::Get.new(path, http_header)
111
94
  end
@@ -118,6 +101,9 @@ class Iknow::RestClient::Base
118
101
  end
119
102
 
120
103
  def self.http_delete_request(uri, params = {})
104
+ unless self.config.api_key.blank?
105
+ params.merge!(:api_key => self.config.api_key)
106
+ end
121
107
  path = (params.size > 0) ? "#{uri}?#{params.to_http_str}" : uri
122
108
  Net::HTTP::Delete.new(path, http_header)
123
109
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nov-iknow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov
@@ -9,9 +9,18 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-16 00:00:00 -07:00
12
+ date: 2008-10-17 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.1.0
23
+ version:
15
24
  - !ruby/object:Gem::Dependency
16
25
  name: json
17
26
  version_requirement:
@@ -21,6 +30,15 @@ dependencies:
21
30
  - !ruby/object:Gem::Version
22
31
  version: "0"
23
32
  version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: oauth
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.4
41
+ version:
24
42
  description: A rubygem for iKnow! APIs
25
43
  email: developer@iknow.co.jp
26
44
  executables: []
@@ -58,6 +76,54 @@ files:
58
76
  - lib/iknow/rest_client/user.rb
59
77
  - lib/iknow/rest_client.rb
60
78
  - lib/iknow.rb
79
+ - generators/iknow
80
+ - generators/iknow/iknow_generator.rb
81
+ - generators/iknow/templates
82
+ - generators/iknow/templates/iknow_oauth_controller.rb
83
+ - generators/iknow/templates/iknow_oauth_controller_test.rb
84
+ - generators/iknow/templates/iknow_oauth_helper.rb
85
+ - generators/iknow/templates/iknow_oauth_system.rb
86
+ - generators/iknow/templates/iknow_oauth_token.rb
87
+ - generators/iknow/templates/iknow_oauth_token_test.rb
88
+ - generators/iknow/templates/iknow_oauth_tokens_migration.rb
89
+ - generators/iknow/templates/index.rhtml
90
+ - generators/iknow/USAGE
91
+ - generators/iknow_oauth
92
+ - generators/iknow_oauth/iknow_oauth_generator.rb
93
+ - generators/iknow_oauth/templates
94
+ - generators/iknow_oauth/templates/iknow_oauth_controller.rb
95
+ - generators/iknow_oauth/templates/iknow_oauth_controller_test.rb
96
+ - generators/iknow_oauth/templates/iknow_oauth_helper.rb
97
+ - generators/iknow_oauth/templates/iknow_oauth_system.rb
98
+ - generators/iknow_oauth/templates/iknow_oauth_token.rb
99
+ - generators/iknow_oauth/templates/iknow_oauth_token_test.rb
100
+ - generators/iknow_oauth/templates/iknow_oauth_tokens_migration.rb
101
+ - generators/iknow_oauth/templates/index.rhtml
102
+ - generators/iknow_oauth/USAGE
103
+ - examples/iknow_on_rails/app/controllers/application.rb
104
+ - examples/iknow_on_rails/app/controllers/iknow_oauth_controller.rb
105
+ - examples/iknow_on_rails/app/controllers/users_controller.rb
106
+ - examples/iknow_on_rails/app/helpers/application_helper.rb
107
+ - examples/iknow_on_rails/app/helpers/iknow_oauth_helper.rb
108
+ - examples/iknow_on_rails/app/helpers/users_helper.rb
109
+ - examples/iknow_on_rails/app/models/iknow_oauth_token.rb
110
+ - examples/iknow_on_rails/config/boot.rb
111
+ - examples/iknow_on_rails/config/environment.rb
112
+ - examples/iknow_on_rails/config/environments/development.rb
113
+ - examples/iknow_on_rails/config/environments/production.rb
114
+ - examples/iknow_on_rails/config/environments/test.rb
115
+ - examples/iknow_on_rails/config/initializers/inflections.rb
116
+ - examples/iknow_on_rails/config/initializers/mime_types.rb
117
+ - examples/iknow_on_rails/config/initializers/new_rails_defaults.rb
118
+ - examples/iknow_on_rails/config/routes.rb
119
+ - examples/iknow_on_rails/db/migrate/20081017012212_create_iknow_oauth_tokens.rb
120
+ - examples/iknow_on_rails/db/schema.rb
121
+ - examples/iknow_on_rails/lib/iknow_oauth_system.rb
122
+ - examples/iknow_on_rails/public/dispatch.rb
123
+ - examples/iknow_on_rails/test/functional/iknow_oauth_controller_test.rb
124
+ - examples/iknow_on_rails/test/functional/users_controller_test.rb
125
+ - examples/iknow_on_rails/test/test_helper.rb
126
+ - examples/iknow_on_rails/test/unit/iknow_oauth_token_test.rb
61
127
  - examples/pure_ruby.rb
62
128
  has_rdoc: true
63
129
  homepage: http://iknow.rubyforge.org
@@ -81,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
147
  requirements:
82
148
  - - ">="
83
149
  - !ruby/object:Gem::Version
84
- version: "0"
150
+ version: 1.8.6
85
151
  version:
86
152
  required_rubygems_version: !ruby/object:Gem::Requirement
87
153
  requirements: