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 +9 -0
- data/README.rdoc +10 -5
- data/Rakefile +7 -7
- data/init.rb +1 -0
- data/lib/naver.rb +46 -3
- data/naver.gemspec +7 -4
- metadata +23 -6
data/CHANGELOG.rdoc
ADDED
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
|
8
|
+
gem sources -a http://gems.github.com
|
9
|
+
gem install oksure-naver
|
9
10
|
|
10
11
|
|
11
12
|
== Usage
|
12
13
|
|
13
|
-
|
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
|
-
|
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.
|
6
|
-
p.description
|
7
|
-
p.url
|
8
|
-
p.author
|
9
|
-
p.email
|
10
|
-
p.ignore_pattern
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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", "
|
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.
|
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-
|
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:
|