oksure-naver 0.0.1 → 0.1.1

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.
data/CHANGELOG.rdoc ADDED
@@ -0,0 +1,9 @@
1
+ == 0.1.1, release 2008-11-23
2
+
3
+ * primitive 'request' method implemented
4
+ * added init.rb
5
+
6
+ == 0.0.1, release 2008-11-22
7
+
8
+ * first commit
9
+ * no classes, methods implemented
data/README.rdoc CHANGED
@@ -1,19 +1,24 @@
1
1
  = Naver
2
2
 
3
- Ruby gem for using Naver OpenAPI.
3
+ Ruby gem for using Naver OpenAPI (http://dev.naver.com/openapi/tutorial).
4
4
 
5
5
 
6
6
  == Install
7
7
 
8
- gem list
8
+ gem sources -a http://gems.github.com
9
+ gem install oksure-naver
9
10
 
10
11
 
11
12
  == Usage
12
13
 
13
- Let's say something.
14
+ Before using this gem, you need to get your own API key. To obtain your API key, see http://dev.naver.com/openapi/register.
14
15
 
16
+ require 'naver'
17
+ naver = Naver.new(api_key) ### create a naver client
18
+ naver.request("kin", "go", {:display => "5", :start => "1", :sort => "sim"}) ### return root node as libxml node
15
19
 
16
- == License
17
20
 
18
- Copyright (c) 2008 Hyunwoo Park
21
+ == License
19
22
 
23
+ Copyright:: Copyright (c) 2008 Hyunwoo Park <hwpark@oksurerails.com>
24
+ License:: MIT <http://www.opensource.org/licenses/mit-license.php>
data/Rakefile CHANGED
@@ -2,13 +2,13 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('naver', '0.0.1') do |p|
6
- p.description = "Ruby Gem for Naver OpenAPI"
7
- p.url = "http://oksurerails.com/naver"
8
- p.author = "Hyunwoo Park"
9
- p.email = "hwpark@oksurerails.com"
10
- p.ignore_pattern = ["tmp/*", "script/*"]
11
- p.development_dependencies = []
5
+ Echoe.new('naver', '0.1.1') do |p|
6
+ p.description = "Ruby Gem for Naver OpenAPI"
7
+ p.url = "http://oksurerails.com/naver"
8
+ p.author = "Hyunwoo Park"
9
+ p.email = "hwpark@oksurerails.com"
10
+ p.ignore_pattern = ["tmp/*", "script/*"]
11
+ p.development_dependencies = ['libxml-ruby >=0.9.2']
12
12
  end
13
13
 
14
14
  Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require "naver"
data/lib/naver.rb CHANGED
@@ -1,5 +1,48 @@
1
- puts "Hello Naver"
1
+ # = Naver
2
+ # An easy interface to the Naver OpenAPI (http://dev.naver.com/openapi/tutorial). By Hyunwoo Park.
3
+ #
4
+ # Author:: Hyunwoo Park <hwpark@oksurerails.com>
5
+ # Copyright:: Copyright (c) 2008 Hyunwoo Park <hwpark@oksurerails.com>
6
+ # License:: MIT <http://www.opensource.org/licenses/mit-license.php>
7
+ #
8
+ # USAGE:
9
+ # require 'naver'
10
+ # naver = Naver.new(api_key) ### create a naver client
11
+ # naver.request("kin", "go", {:display => "5", :start => "1", :sort => "sim"}) ### return root node as libxml node
2
12
 
3
- module Naver
4
13
 
5
- end
14
+ require "cgi"
15
+ require "net/http"
16
+ require "xml"
17
+
18
+ class Naver
19
+
20
+ # Replace this API key with your own (see http://dev.naver.com/openapi/register)
21
+ def initialize(key=nil)
22
+ @key = key
23
+ @host = 'http://openapi.naver.com'
24
+ @api = '/search'
25
+ end
26
+
27
+ # Takes a Naver API method name and set of parameters; returns an libxml object with the response
28
+ def request(target, query, params={})
29
+ response = http_get(request_url(target, query, params))
30
+ parser = XML::Parser.new
31
+ parser.string = response
32
+ doc = parser.parse
33
+ doc.root
34
+ end
35
+
36
+ # Takes a Naver API method name and set of parameters; returns the correct URL for the REST API.
37
+ def request_url(target, query, params={})
38
+ url = "#{@host}#{@api}?key=#{@key}&target=#{target}&query=#{query}"
39
+ params.each { |key, value| url += "&#{key}=" + CGI::escape(value) } unless params.nil?
40
+ url
41
+ end
42
+
43
+ # Does an HTTP GET on a given URL and returns the response body
44
+ def http_get(url)
45
+ Net::HTTP.get_response(URI.parse(url)).body.to_s
46
+ end
47
+
48
+ end
data/naver.gemspec CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{naver}
5
- s.version = "0.0.1"
5
+ s.version = "0.1.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Hyunwoo Park"]
9
- s.date = %q{2008-11-22}
9
+ s.date = %q{2008-11-23}
10
10
  s.description = %q{Ruby Gem for Naver OpenAPI}
11
11
  s.email = %q{hwpark@oksurerails.com}
12
- s.extra_rdoc_files = ["lib/naver.rb", "README.rdoc"]
13
- s.files = ["lib/naver.rb", "Rakefile", "README.rdoc", "Manifest", "naver.gemspec"]
12
+ s.extra_rdoc_files = ["CHANGELOG.rdoc", "lib/naver.rb", "README.rdoc"]
13
+ s.files = ["CHANGELOG.rdoc", "init.rb", "lib/naver.rb", "Manifest", "naver.gemspec", "nbproject/private/config.properties", "nbproject/private/private.properties", "nbproject/private/private.xml", "nbproject/private/rake-d.txt", "nbproject/project.properties", "nbproject/project.xml", "Rakefile", "README.rdoc"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://oksurerails.com/naver}
16
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Naver", "--main", "README.rdoc"]
@@ -24,8 +24,11 @@ Gem::Specification.new do |s|
24
24
  s.specification_version = 2
25
25
 
26
26
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
+ s.add_development_dependency(%q<libxml-ruby>, [">= 0.9.2"])
27
28
  else
29
+ s.add_dependency(%q<libxml-ruby>, [">= 0.9.2"])
28
30
  end
29
31
  else
32
+ s.add_dependency(%q<libxml-ruby>, [">= 0.9.2"])
30
33
  end
31
34
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oksure-naver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hyunwoo Park
@@ -9,10 +9,18 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-22 00:00:00 -08:00
12
+ date: 2008-11-23 00:00:00 -08:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: libxml-ruby
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.9.2
23
+ version:
16
24
  description: Ruby Gem for Naver OpenAPI
17
25
  email: hwpark@oksurerails.com
18
26
  executables: []
@@ -20,14 +28,23 @@ executables: []
20
28
  extensions: []
21
29
 
22
30
  extra_rdoc_files:
31
+ - CHANGELOG.rdoc
23
32
  - lib/naver.rb
24
33
  - README.rdoc
25
34
  files:
35
+ - CHANGELOG.rdoc
36
+ - init.rb
26
37
  - lib/naver.rb
27
- - Rakefile
28
- - README.rdoc
29
38
  - Manifest
30
39
  - naver.gemspec
40
+ - nbproject/private/config.properties
41
+ - nbproject/private/private.properties
42
+ - nbproject/private/private.xml
43
+ - nbproject/private/rake-d.txt
44
+ - nbproject/project.properties
45
+ - nbproject/project.xml
46
+ - Rakefile
47
+ - README.rdoc
31
48
  has_rdoc: true
32
49
  homepage: http://oksurerails.com/naver
33
50
  post_install_message: