lexical_units 0.0.9 → 0.1.0

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: 9e7452aeb319ad29ed2bd345360a1908293e1bc9
4
- data.tar.gz: 1763722a67cca06bac3dcb0aa5021ddbf8b2e5b3
3
+ metadata.gz: 0ace74edd4ee847a562b6be2d9c995e47ae98f11
4
+ data.tar.gz: 2263aa046d3ea8a247f5fac9352b43a000c35b35
5
5
  SHA512:
6
- metadata.gz: 995dce0a37c0bcf20f60f3e9378e7fb3e5577dc4dc29919878f1c81dc01dc080346e683bd73fe900d7e844893210ee9c5fe603ecdd42461c7d580d5f9b4ed4c2
7
- data.tar.gz: ca5991b36cc8dd1fffe0dd87ea4f352311f4b62f55542937851e477f935c879aca9e81ddc5ee2aef87e57a5074b2fd0cc22428920c5a80462a3a37b6316d8c62
6
+ metadata.gz: 5a48795c224d60c44641462f21eb23ecccca52f85c05365c46bd382914167fb7039267702b2d82a4827d58fa19bb7042e4d4f94b3332041dc01e3d49d92bfb14
7
+ data.tar.gz: 31f3ece39c3062d320822a70172088c3a5e72cf223a0b615ba8cc16f1ddd3967fec603366e81681ca7d551ee226834f305a7fb21cf2ad34eb7705591ff2b8421
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.1.2
data/.travis.yml CHANGED
@@ -2,3 +2,6 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
+ - 2.1.0
6
+ - 2.1.1
7
+ - 2.1.2
data/Gemfile CHANGED
@@ -4,8 +4,9 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development, :test do
7
+ gem 'codeclimate-test-reporter', require: nil
7
8
  gem 'coveralls', require: false
8
- gem 'rspec'
9
+ gem 'rspec', '~> 3.0.0'
9
10
  gem 'reek'
10
11
  gem 'guard'
11
12
  gem 'guard-bundler'
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # LexicalUnits [![Gem Version](https://badge.fury.io/rb/lexical_units.png)](http://badge.fury.io/rb/lexical_units) [![Build Status](https://travis-ci.org/fractalsoft/lexical_units.png)](https://travis-ci.org/fractalsoft/lexical_units) [![Dependency Status](https://gemnasium.com/fractalsoft/lexical_units.png)](https://gemnasium.com/fractalsoft/lexical_units) [![Coverage Status](https://coveralls.io/repos/fractalsoft/lexical_units/badge.png)](https://coveralls.io/r/fractalsoft/lexical_units) [![Stories in Ready](https://badge.waffle.io/fractalsoft/lexical_units.png)](http://waffle.io/fractalsoft/lexical_units)
1
+ # LexicalUnits [![Gem Version](https://badge.fury.io/rb/lexical_units.png)](http://badge.fury.io/rb/lexical_units) [![Build Status](https://travis-ci.org/fractalsoft/lexical_units.png)](https://travis-ci.org/fractalsoft/lexical_units) [![Dependency Status](https://gemnasium.com/fractalsoft/lexical_units.png)](https://gemnasium.com/fractalsoft/lexical_units) [![Coverage Status](https://coveralls.io/repos/fractalsoft/lexical_units/badge.png)](https://coveralls.io/r/fractalsoft/lexical_units) [![Code Climate](https://codeclimate.com/repos/52823cc489af7e26300298a5/badges/3783c14343942947903f/gpa.png)](https://codeclimate.com/repos/52823cc489af7e26300298a5/feed) [![Stories in Ready](https://badge.waffle.io/fractalsoft/lexical_units.png)](http://waffle.io/fractalsoft/lexical_units)
2
2
 
3
3
  [![endorse](https://api.coderwall.com/torrocus/endorsecount.png)](https://coderwall.com/torrocus)
4
4
 
@@ -23,6 +23,7 @@ Or install it yourself as:
23
23
  ```ruby
24
24
  LexicalUnits::words(text)
25
25
  LexicalUnits::sentences(text)
26
+ LexicalUnits::words_and_sentences(text)
26
27
  LexicalUnits::words_without_digits(text)
27
28
  ```
28
29
 
@@ -8,16 +8,16 @@ module LexicalUnits
8
8
  # self.words('Lorem! Ipsum dolor?') #=> ['Lorem!', 'Ipsum dolor?']
9
9
  def self.sentences(text)
10
10
  separators = LexicalUnits.sentence_separators
11
- regexp = Regexp.new("[^#{separators}]+[#{separators}]{1,3}")
11
+ regexp = Regexp.new("[^#{separators}]+[#{separators}]{0,3}")
12
12
  text.scan(regexp).map(&:strip)
13
13
  end
14
14
 
15
15
  private
16
16
 
17
- def self.sentence_separators
18
- [
19
- '\.', '\?', '\!',
20
- '‽'
21
- ].join
22
- end
23
- end
17
+ def self.sentence_separators
18
+ [
19
+ '\.', '\?', '\!',
20
+ '‽'
21
+ ].join
22
+ end
23
+ end
@@ -1,4 +1,4 @@
1
1
  # Gem version
2
2
  module LexicalUnits
3
- VERSION = '0.0.9'
3
+ VERSION = '0.1.0'
4
4
  end
@@ -13,16 +13,11 @@ module LexicalUnits
13
13
 
14
14
  private
15
15
 
16
- def self.separators
17
- [
18
- '\,', '\:', '\;', '\.', '\?', '\!', '\/',
19
- '\(', '\)', '\[', '\]', '\>', '\<', '\{', '\}',
20
- '\|', '\~',
21
- "\¿", "\¡",
22
- '\=', '\"',
23
- "\»", "\«",
24
- '\@', '\#',
25
- '\+'
26
- ].join
27
- end
16
+ def self.separators
17
+ [
18
+ '\,', '\:', '\;', '\.', '\?', '\!', '\/',
19
+ '\(', '\)', '\[', '\]', '\>', '\<', '\{', '\}',
20
+ '\|', '\~', "\¿", "\¡", '\=', '\"', "\»", "\«", '\@', '\#', '\+'
21
+ ].join
22
+ end
28
23
  end
@@ -12,10 +12,10 @@ module LexicalUnits
12
12
 
13
13
  private
14
14
 
15
- def self.numeric?(value)
16
- return true if value =~ /^\d+$/
17
- true if Float(value)
18
- rescue
19
- false
20
- end
15
+ def self.numeric?(value)
16
+ return true if value =~ /^\d+$/
17
+ true if Float(value)
18
+ rescue
19
+ false
20
+ end
21
21
  end
@@ -4,8 +4,8 @@ require 'spec_helper'
4
4
  describe LexicalUnits do
5
5
  context '.sentences' do
6
6
  it 'splits text into sentences' do
7
- text = %q{Lorem ipsum dolor sit amet. Consectetur adipiscing elit.
8
- Fusce ut lacinia lorem. Nullam a sem quam. Duis faucibus tortor in.}
7
+ text = %q(Lorem ipsum dolor sit amet. Consectetur adipiscing elit.
8
+ Fusce ut lacinia lorem. Nullam a sem quam. Duis faucibus tortor in.)
9
9
  array = [
10
10
  'Lorem ipsum dolor sit amet.',
11
11
  'Consectetur adipiscing elit.',
@@ -14,7 +14,7 @@ describe LexicalUnits do
14
14
  'Duis faucibus tortor in.'
15
15
  ]
16
16
 
17
- subject.sentences(text).should eq(array)
17
+ expect(subject.sentences(text)).to eq(array)
18
18
  end
19
19
 
20
20
  it 'splits text with question mark and exclamation mark into sentences' do
@@ -25,7 +25,7 @@ describe LexicalUnits do
25
25
  'Consectetur adipiscing elit.'
26
26
  ]
27
27
 
28
- subject.sentences(text).should eq(array)
28
+ expect(subject.sentences(text)).to eq(array)
29
29
  end
30
30
 
31
31
  it 'splits text with ellipsis into sentences' do
@@ -35,7 +35,7 @@ describe LexicalUnits do
35
35
  'Consectetur adipiscing elit.'
36
36
  ]
37
37
 
38
- subject.sentences(text).should eq(array)
38
+ expect(subject.sentences(text)).to eq(array)
39
39
  end
40
40
 
41
41
  it 'splits text with interrobangs into sentences' do
@@ -47,8 +47,14 @@ describe LexicalUnits do
47
47
  'Really?'
48
48
  ]
49
49
 
50
- subject.sentences(text).should eq(array)
50
+ expect(subject.sentences(text)).to eq(array)
51
51
  end
52
52
 
53
+ it 'splits text into sentence without end-dot' do
54
+ text = 'Lorem ipsum dolor'
55
+ array = [text]
56
+
57
+ expect(subject.sentences(text)).to eq(array)
58
+ end
53
59
  end
54
60
  end
@@ -12,7 +12,7 @@ describe LexicalUnits::String do
12
12
  array = %w(Lorem ipsum dolor sit amet)
13
13
  string = array.join(' ')
14
14
 
15
- string.words.should eq(array)
15
+ expect(string.words).to eq(array)
16
16
  end
17
17
  end
18
18
 
@@ -21,7 +21,7 @@ describe LexicalUnits::String do
21
21
  array = ['Lorem ipsum!', 'Dolor sit?', 'Amet.']
22
22
  string = array.join
23
23
 
24
- string.sentences.should eq(array)
24
+ expect(string.sentences).to eq(array)
25
25
  end
26
26
  end
27
27
 
@@ -32,7 +32,7 @@ describe LexicalUnits::String do
32
32
  sentence.join(' ')
33
33
  end.join('. ') + '.'
34
34
 
35
- string.words_and_sentences.should eq(array)
35
+ expect(string.words_and_sentences).to eq(array)
36
36
  end
37
37
  end
38
38
 
@@ -41,7 +41,7 @@ describe LexicalUnits::String do
41
41
  array = %w(Lorem ipsum dolor sit amet)
42
42
  string = 'Lorem 1 ipsum 23 dolor 456 sit 7890 amet'
43
43
 
44
- string.words_without_digits.should eq(array)
44
+ expect(string.words_without_digits).to eq(array)
45
45
  end
46
46
  end
47
47
  end
@@ -4,4 +4,4 @@ require 'spec_helper'
4
4
  describe LexicalUnits do
5
5
  context '.syllables' do
6
6
  end
7
- end
7
+ end
@@ -11,7 +11,7 @@ describe LexicalUnits do
11
11
  %w(Consectetur adipiscing elit)
12
12
  ]
13
13
 
14
- subject.words_and_sentences(text).should eq(array)
14
+ expect(subject.words_and_sentences(text)).to eq(array)
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -10,118 +10,118 @@ describe LexicalUnits do
10
10
  it 'splits text with whitespaces into words' do
11
11
  text = 'Lorem ipsum dolor sit amet'
12
12
 
13
- subject.words(text).should eq(@array)
13
+ expect(subject.words(text)).to eq(@array)
14
14
  end
15
15
 
16
16
  it 'splits text with comma, colon and semicolon into words' do
17
17
  text = 'Lorem ipsum,dolor:sit;amet'
18
18
 
19
- subject.words(text).should eq(@array)
19
+ expect(subject.words(text)).to eq(@array)
20
20
  end
21
21
 
22
22
  it 'splits text with dot, question mark and exclamation mark into words' do
23
23
  text = 'Lorem ipsum.dolor?sit!amet'
24
24
 
25
- subject.words(text).should eq(@array)
25
+ expect(subject.words(text)).to eq(@array)
26
26
  end
27
27
 
28
28
  it 'splits other text with whitespaces, comma and dot into words' do
29
29
  text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
30
30
  array = %w(Lorem ipsum dolor sit amet consectetur adipiscing elit)
31
31
 
32
- subject.words(text).should eq(array)
32
+ expect(subject.words(text)).to eq(array)
33
33
  end
34
34
 
35
35
  it 'no splits text with hyphen into words' do
36
36
  text = 'Lorem ipsum dolor-sit amet'
37
37
  array = %w(Lorem ipsum dolor-sit amet)
38
38
 
39
- subject.words(text).should eq(array)
39
+ expect(subject.words(text)).to eq(array)
40
40
  end
41
41
 
42
42
  it 'splits text with slash into words' do
43
43
  text = 'Lorem ipsum dolor sit/amet'
44
44
 
45
- subject.words(text).should eq(@array)
45
+ expect(subject.words(text)).to eq(@array)
46
46
  end
47
47
 
48
48
  it 'splits text with round brackets into words' do
49
49
  text = 'Lorem ipsum(dolor sit)amet'
50
50
 
51
- subject.words(text).should eq(@array)
51
+ expect(subject.words(text)).to eq(@array)
52
52
  end
53
53
 
54
54
  it 'splits text with square brackets into words' do
55
55
  text = 'Lorem ipsum dolor[sit]amet'
56
56
 
57
- subject.words(text).should eq(@array)
57
+ expect(subject.words(text)).to eq(@array)
58
58
  end
59
59
 
60
60
  it 'splits text with pointy brackets into words' do
61
61
  text = 'Lorem<ipsum dolor sit>amet'
62
62
 
63
- subject.words(text).should eq(@array)
63
+ expect(subject.words(text)).to eq(@array)
64
64
  end
65
65
 
66
66
  it 'splits text with braces into words' do
67
67
  text = 'Lorem ipsum{dolor}sit amet'
68
68
 
69
- subject.words(text).should eq(@array)
69
+ expect(subject.words(text)).to eq(@array)
70
70
  end
71
71
 
72
72
  it 'splits text with vertical bar into words' do
73
73
  text = 'Lorem ipsum|dolor sit amet'
74
74
 
75
- subject.words(text).should eq(@array)
75
+ expect(subject.words(text)).to eq(@array)
76
76
  end
77
77
 
78
78
  it 'splits text with tilde into words' do
79
79
  text = 'Lorem ipsum dolor~sit amet'
80
80
 
81
- subject.words(text).should eq(@array)
81
+ expect(subject.words(text)).to eq(@array)
82
82
  end
83
83
 
84
84
  # Spanish
85
85
  it 'splits text with inverted question and exclamation marks into words' do
86
86
  text = 'Lorem¿ipsum?dolor¡sit!amet'
87
87
 
88
- subject.words(text).should eq(@array)
88
+ expect(subject.words(text)).to eq(@array)
89
89
  end
90
90
 
91
91
  it 'splits text with equals sign into words' do
92
92
  text = 'Lorem ipsum=dolor sit amet'
93
93
 
94
- subject.words(text).should eq(@array)
94
+ expect(subject.words(text)).to eq(@array)
95
95
  end
96
96
 
97
97
  it 'splits text with typewriter double quotes into words' do
98
98
  text = %Q(Lorem"ipsum dolor"sit amet)
99
99
 
100
- subject.words(text).should eq(@array)
100
+ expect(subject.words(text)).to eq(@array)
101
101
  end
102
102
 
103
103
  it 'split text with non-English quotation marks into words' do
104
104
  text = %Q(Lorem»ipsum dolor«sit amet)
105
105
 
106
- subject.words(text).should eq(@array)
106
+ expect(subject.words(text)).to eq(@array)
107
107
  end
108
108
 
109
109
  it "split text with 'at sign' (@) into words" do
110
110
  text = %Q(Lorem@ipsum dolor sit amet)
111
111
 
112
- subject.words(text).should eq(@array)
112
+ expect(subject.words(text)).to eq(@array)
113
113
  end
114
114
 
115
115
  it "split text with 'number sign (#) into words" do
116
116
  text = %Q(Lorem ipsum#dolor sit amet)
117
117
 
118
- subject.words(text).should eq(@array)
118
+ expect(subject.words(text)).to eq(@array)
119
119
  end
120
120
 
121
121
  it 'split text with plus (+) into words' do
122
122
  text = %Q(Lorem+ipsum dolor+sit amet)
123
123
 
124
- subject.words(text).should eq(@array)
124
+ expect(subject.words(text)).to eq(@array)
125
125
  end
126
126
  end
127
127
  end
@@ -9,8 +9,8 @@ describe LexicalUnits do
9
9
  ].each do |hash|
10
10
  text, array = hash.values
11
11
  it 'splits text into words without digits' do
12
- subject.words_without_digits(text).should eq(array)
12
+ expect(subject.words_without_digits(text)).to eq(array)
13
13
  end
14
14
  end
15
15
  end
16
- end
16
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  require 'lexical_units'
2
2
  require 'coveralls'
3
3
  Coveralls.wear!
4
+ require 'codeclimate-test-reporter'
5
+ CodeClimate::TestReporter.start
4
6
 
5
7
  RSpec.configure do |config|
6
- config.treat_symbols_as_metadata_keys_with_true_values = true
7
8
  config.run_all_when_everything_filtered = true
8
9
  config.filter_run :focus
9
10
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lexical_units
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksander Malaszkiewicz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-01 00:00:00.000000000 Z
11
+ date: 2014-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  description:
@@ -45,11 +45,11 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - .gitignore
49
- - .rspec
50
- - .ruby-gemset
51
- - .ruby-version
52
- - .travis.yml
48
+ - ".gitignore"
49
+ - ".rspec"
50
+ - ".ruby-gemset"
51
+ - ".ruby-version"
52
+ - ".travis.yml"
53
53
  - CHANGELOG.md
54
54
  - Gemfile
55
55
  - Guardfile
@@ -82,17 +82,17 @@ require_paths:
82
82
  - lib
83
83
  required_ruby_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - '>='
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
94
  rubyforge_project:
95
- rubygems_version: 2.0.3
95
+ rubygems_version: 2.2.2
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Split text into lexical units