mecab-ext 1.0.0 → 1.0.1

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: 4dc676d5e4c1a78ca8abfc4f512a713ebe433559
4
- data.tar.gz: 279467bf6ad5b0bb7113076aaaf7a91ee63ab3cd
3
+ metadata.gz: 30aa05a8c36f15c3943dcdd7351249b6b73b1b4d
4
+ data.tar.gz: 5b7627075f9c251ee7e802e9d506a0dd16e8a6fd
5
5
  SHA512:
6
- metadata.gz: 748528cc0005a661b828c11b275015cf3333a5002a4a719bebb19ead76ca23f54c2fb43cd13d04134f918146ace85cbba9e9f10904891d181b2e969b302eee52
7
- data.tar.gz: 677af930e706ebcdfd6db45cf5949a6a474366a687af422a59db12ec2aef077892e53336c675f1e30a0405b6588035f0ad4332a5049a62e9304b51d21a1a4cca
6
+ metadata.gz: f30b5cc6fe4a204da4e9d3d6f450cddec077f50eb2fb5ef3d59628e2e166dc35dc46c2a77a86811ec43fda30a221661566b0f6cc4b87deaebbe0681292333cae
7
+ data.tar.gz: 083f0b1d509658458d2506246672dd4fd2be844d1600ac67e8a37e47f1e308b191508d72b769ca37e3fe2e70f8585bf399589de1c5627a1539680294949959d5
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/Changelog.md ADDED
@@ -0,0 +1,6 @@
1
+ ### 1.0.1 / 2013-05-19
2
+ [full changelog](http://github.com/taiki45/mecab-ext/compare/v1.0.1...master)
3
+
4
+ Bug fixes
5
+
6
+ * While MeCab::Node instance is living and in use, a Tagger which generates these nodes should not be deleted because it causes inner inconsistency. When the tagger is deleted, its corresponding inner data seem to be also deleted, then trying to access to node's data causes SEGV. (osak a.k.a @osa_k)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # mecab-ext [![Build Status](https://travis-ci.org/taiki45/mecab-ext.png?branch=master)](https://travis-ci.org/taiki45/mecab-ext)
1
+ # mecab-ext [![Build Status](https://travis-ci.org/taiki45/mecab-ext.png?branch=master)](https://travis-ci.org/taiki45/mecab-ext) [![Coverage Status](https://coveralls.io/repos/taiki45/mecab-ext/badge.png?branch=master)](https://coveralls.io/r/taiki45/mecab-ext?branch=master) [![Code Climate](https://codeclimate.com/github/taiki45/mecab-ext.png)](https://codeclimate.com/github/taiki45/mecab-ext) [![Gem Version](https://badge.fury.io/rb/mecab-ext.png)](http://badge.fury.io/rb/mecab-ext)
2
2
  A handy extensions for mecab-ruby.
3
3
 
4
4
  ## Installation
@@ -31,6 +31,7 @@ MeCab #=> for original ruby-mecab
31
31
  nodes = Mecab::Ext::Parser.parse("テスト文章")
32
32
  nodes.class #=> Mecab::Ext::Node
33
33
 
34
+
34
35
  # Call Mecab::Ext::Node#each to get each MeCab::Node object
35
36
  nodes.each {|node| p node }
36
37
 
@@ -50,6 +51,13 @@ nodes.surfaces.select {|surface| surface == "テスト" }
50
51
  nodes.respond_to? name #=> true
51
52
  end
52
53
 
54
+
55
+ # This gem solved original mecab's Node overridden problem
56
+ n1 = Mecab::Ext::Parser.parse "今日の天気"
57
+ n2 = Mecab::Ext::Parser.parse "赤い花"
58
+ n1.each_surface(&:display)
59
+ n2.each_surface(&:display)
60
+
53
61
  # mecab-ext cuts beginning of line node and end of line node for handiness
54
62
  nodes.count #=> 2
55
63
  ```
@@ -2,8 +2,9 @@ module Mecab
2
2
  module Ext
3
3
  module Parser
4
4
  class << self
5
+ @@tagger = nil
5
6
  def parse(str)
6
- generator = lambda { ::MeCab::Tagger.new.parseToNode(str) }
7
+ generator = lambda { (@@tagger ||= MeCab::Tagger.new).parseToNode(str) }
7
8
  Node.new(generator)
8
9
  end
9
10
 
@@ -1,5 +1,5 @@
1
1
  module Mecab
2
2
  module Ext
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
data/mecab-ext.gemspec CHANGED
@@ -23,4 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec", "~> 2.13.0"
26
+ spec.add_development_dependency "simplecov", "~> 0.7.1"
27
+ spec.add_development_dependency "coveralls", "~> 0.6.7"
26
28
  end
data/spec/node_spec.rb CHANGED
@@ -72,7 +72,7 @@ describe Mecab::Ext::Node do
72
72
 
73
73
  context %(with mecab nodes which given "test string"), mecab: :nodes do
74
74
  it "yields nodes" do
75
- subject.each {|node| expect(node).to be_instance_of RSpec::Mocks::Mock }
75
+ subject.each {|node| expect(node).to be_a RSpec::Mocks::Mock }
76
76
  end
77
77
 
78
78
  it "yields 2 nodes" do
@@ -122,7 +122,7 @@ describe Mecab::Ext::Node do
122
122
 
123
123
  describe "#surfaces" do
124
124
  it "returns enumerator" do
125
- expect(subject.surfaces).to be_instance_of Enumerator
125
+ expect(subject.surfaces).to be_a Enumerator
126
126
  end
127
127
 
128
128
  it "iterates nodes surfaces" do
@@ -140,7 +140,7 @@ describe Mecab::Ext::Node do
140
140
  %w(features lengths ids char_types isbests wcosts costs).each do |name|
141
141
  describe "##{name}" do
142
142
  it "iterates #{name}" do
143
- expect(subject.send(name)).to be_instance_of Enumerator
143
+ expect(subject.send(name)).to be_a Enumerator
144
144
  end
145
145
 
146
146
  it "iterates #{name.singularize} value" do
data/spec/parser_spec.rb CHANGED
@@ -6,22 +6,22 @@ describe Mecab::Ext::Parser do
6
6
  subject { described_class.parse("test string") }
7
7
 
8
8
  it "should return Node instance" do
9
- expect(subject).to be_instance_of Mecab::Ext::Node
9
+ should be_a Mecab::Ext::Node
10
10
  end
11
11
 
12
12
  it "should call Node.new" do
13
- Mecab::Ext::Node.stub(:new).and_return("called")
14
- expect(subject).to eq "called"
13
+ Mecab::Ext::Node.stub(:new).and_return(:called)
14
+ should be :called
15
15
  end
16
16
 
17
17
  it "should pass proc to Node#initialize" do
18
18
  Mecab::Ext::Node.should_receive(:new) do |arg|
19
- expect(arg).to be_instance_of Proc
19
+ expect(arg).to be_a Proc
20
20
  end
21
21
  subject
22
22
  end
23
23
 
24
- it "should pass callable obj" do
24
+ it "should pass callable obj to Node.new" do
25
25
  Mecab::Ext::Node.should_receive(:new) do |arg|
26
26
  expect(arg).to be_respond_to :call
27
27
  end
@@ -36,7 +36,7 @@ describe Mecab::Ext::Parser do
36
36
 
37
37
  describe ".parse_to_node" do
38
38
  subject { described_class.method(:parse_to_node) }
39
- it { should eq described_class.method(:parse_to_node) }
39
+ it { should eq described_class.method(:parse) }
40
40
  end
41
41
 
42
42
  end
data/spec/spec_helper.rb CHANGED
@@ -9,4 +9,13 @@ end
9
9
  $LOAD_PATH.unshift File.expand_path("../", __FILE__)
10
10
  $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
11
11
 
12
+ require 'coveralls'
13
+ require 'simplecov'
14
+
15
+ Coveralls.wear!
16
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
17
+ SimpleCov.start do
18
+ add_filter 'spec'
19
+ end
20
+
12
21
  require 'mecab/ext'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mecab-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taiki ONO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-10 00:00:00.000000000 Z
11
+ date: 2013-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.13.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.7.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.7.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: coveralls
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.6.7
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.6.7
69
97
  description: Make mecab-ruby more handy for most of rubyist.
70
98
  email:
71
99
  - taiks.4559@gmail.com
@@ -73,9 +101,11 @@ executables: []
73
101
  extensions: []
74
102
  extra_rdoc_files: []
75
103
  files:
104
+ - .coveralls.yml
76
105
  - .gitignore
77
106
  - .rspec
78
107
  - .travis.yml
108
+ - Changelog.md
79
109
  - Gemfile
80
110
  - README.md
81
111
  - Rakefile
@@ -108,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
138
  version: '0'
109
139
  requirements: []
110
140
  rubyforge_project:
111
- rubygems_version: 2.0.0
141
+ rubygems_version: 2.0.2
112
142
  signing_key:
113
143
  specification_version: 4
114
144
  summary: extensions for mecab-ruby