nov-iknow 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: