tta_terms_api 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa3c3e7037a14f46cb4826341d9410c95694bf17
4
- data.tar.gz: cc59fff06c4ecf7db854194252cb14217deffe6c
3
+ metadata.gz: 5c9d8b01f161dc68af43ae55dea7fb436cfa1aac
4
+ data.tar.gz: fd5987c321433b7e92aea48ba329d4d49349cd57
5
5
  SHA512:
6
- metadata.gz: 85ef28a504524644fe566f00bfc1d1d81040e79440d6a103f40a3e0c1321551dd022b1e4c05e21f7cb3b0f4b601a88e199b9372d77a4de8f0689139b5825ce75
7
- data.tar.gz: 50442a28c2cdac96db34b8868571b3f55441c26634760ab3646bc56a31ca5e7d77ebfd45aa581712ac6fff234031fefc1109a2ed1518b6ab9cb65e906d200b62
6
+ metadata.gz: bf700fee0c08b791c9c761576b5882a64df3cb09e293c24b00826aedcd8e12c78d3fb94c5ad5babe53dcd3b0e988801b5b5fdf0c9a8d68f05f33de1f5936a5a5
7
+ data.tar.gz: f74dd010c0caa8b5cbfb5ab97dc85b66bda4029936caa3407bb5878331b691fbc74a181d854dd4c77d577852e0704e7e4da8334396451c6929be7b3c18769110
@@ -1,3 +1,3 @@
1
1
  module TtaTermsApi
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/tta_terms_api.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  require "tta_terms_api/version"
2
2
  require "nokogiri"
3
3
  require 'open-uri'
4
+ require 'moneta'
4
5
 
5
6
 
6
7
  module TtaTermsApi
7
8
  BASE_URL = "http://word.tta.or.kr/terms/"
9
+ STORE = Moneta.new(:File, :dir => 'tmp')
8
10
  WordCriteria = Struct.new(:name, :options) do
9
11
  def to_word
10
12
  TtaTermsApi.view(options)
@@ -41,7 +43,8 @@ module TtaTermsApi
41
43
 
42
44
  def self.html(type, options)
43
45
  uri = "#{BASE_URL}terms#{type.to_s.capitalize}.jsp?#{options.map{|k,v|"#{k}=#{v}"} * "&"}"
44
- Nokogiri::HTML(open(uri), nil, "EUC-KR")
46
+ html = STORE.fetch(uri) { STORE[uri] = open(uri).read }
47
+ Nokogiri::HTML(html, nil, "EUC-KR")
45
48
  end
46
49
  end
47
50
 
@@ -6,14 +6,23 @@ describe TtaTermsApi do
6
6
  let(:list) { TtaTermsApi.list(search: "list") }
7
7
  it "return array of word object" do
8
8
  expect(list.class).to be Array
9
- expect(list.first.class).to be TtaTermsApi::WordCritria
9
+ expect(list.first.class).to be TtaTermsApi::WordCriteria
10
10
  end
11
11
  end
12
12
 
13
13
  describe ".view" do
14
- let(:view) { TtaTermsApi.view(gubun: 1, terms_num: 17625) }
14
+ let(:view) { TtaTermsApi.view(gubun: 1, terms_num: 17626) }
15
15
  it "return array of word object" do
16
16
  expect(view.class).to be TtaTermsApi::Word
17
17
  end
18
18
  end
19
+
20
+ describe ".html" do
21
+ let(:html) { TtaTermsApi.html("", {}) }
22
+ it "cache html object" do
23
+ expect(html).to_not be_nil
24
+ expect(TtaTermsApi::STORE["http://word.tta.or.kr/terms/terms.jsp?"]).to_not be_nil
25
+ TtaTermsApi::STORE.delete("http://word.tta.or.kr/terms/terms.jsp?")
26
+ end
27
+ end
19
28
  end
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Shim Tw"]
10
10
  spec.email = ["marocchino@gmail.com"]
11
11
  spec.summary = %q{Ruby interface to Korean IT terms(정보 통신 용어 사전)}
12
- spec.description = ""
13
- spec.homepage = ""
12
+ spec.description = "It is unoffical API for Korean IT terms."
13
+ spec.homepage = "https://github.com/marocchino/tta_terms_api"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -18,8 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "nokogiri", "~> 1.6.1"
21
+ spec.add_dependency "nokogiri", "~> 1.6"
22
+ spec.add_dependency "moneta", "~> 0.7"
22
23
  spec.add_development_dependency "bundler", "~> 1.5"
23
- spec.add_development_dependency "rake"
24
- spec.add_development_dependency "rspec"
24
+ spec.add_development_dependency "rake", "~> 10.1"
25
+ spec.add_development_dependency "rspec", "~> 2.14"
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tta_terms_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shim Tw
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
11
+ date: 2014-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.1
19
+ version: '1.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.6.1
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: moneta
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.7'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -42,31 +56,31 @@ dependencies:
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: '10.1'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '10.1'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ">="
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '0'
75
+ version: '2.14'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ">="
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '0'
69
- description: ''
82
+ version: '2.14'
83
+ description: It is unoffical API for Korean IT terms.
70
84
  email:
71
85
  - marocchino@gmail.com
72
86
  executables: []
@@ -83,7 +97,7 @@ files:
83
97
  - spec/spec_helper.rb
84
98
  - spec/tta_terms_api_spec.rb
85
99
  - tta_terms_api.gemspec
86
- homepage: ''
100
+ homepage: https://github.com/marocchino/tta_terms_api
87
101
  licenses:
88
102
  - MIT
89
103
  metadata: {}