find_keywords 0.0.1 → 0.0.2

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: 0a4277baab77ff4776252c7c37ce8f9588d45710
4
- data.tar.gz: ac9adf2ce1ddb9b77d732958af824caf1d266e0c
3
+ metadata.gz: bdbd8152551c10c81c3d5d51a4cbbb0e7209b655
4
+ data.tar.gz: e222324b1bafd7c655cad97117aa6c31d5e3e6fb
5
5
  SHA512:
6
- metadata.gz: 7a0b27073500e298c0cd9513aeb0722684295b8182b99a3f73f609a9ae46b5b9413c5931ac8a4dce1d8ba3d4097496177d529df24111999620b81617e0293d64
7
- data.tar.gz: 75497b8673d5ab97afc6adcf1823a316c337e5f7818a18c274572e383dc4b45ae3d61ea8294387111f34fd37acfd45b92057061e4fd56a7e7e3586c1ae77553f
6
+ metadata.gz: 3f55ed7039965e2b670951b2771bf9eeafd8a02a1d8b3d909d531d59605cc2825d72d6939a28ea9b0df7b3e57d6b05d57a09e70b31835c861c2e767717978456
7
+ data.tar.gz: 8319c48e45811d31b796e2d62ed6adb15713f8a07ea6924fd61cf9e3a1409faf057e1353e020aae3c7b36cc4c67e40c7fc81b6136e49ca15af32dcc6d20def63
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/lib/find_keywords.rb CHANGED
@@ -59,6 +59,8 @@ module FindKeywords
59
59
 
60
60
  def keywords
61
61
  slug = @sentence
62
+ slug.gsub!(/(\d{2}|\d{1})\/(\d{2}|\d{1})(-|.-.)(\d{2}|\d{1})\/(\d{2}|\d{1})/, "") #add rev 0.0.2 remove date
63
+ slug.gsub!(/(Sept|Oct|Nov|Dec|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug)(\s*)(\d*|)(-|.-.|)/, "") #add rev 0.0.2 remove date
62
64
  slug.gsub! /['`]/,""
63
65
  slug.gsub! /\s*@\s*/, " at "
64
66
  slug.gsub! /\s*&\s*/, " and "
@@ -1,3 +1,3 @@
1
1
  module FindKeywords
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,104 @@
1
+ require 'spec_helper'
2
+
3
+ describe "FindKeywords" do
4
+
5
+ context "errors" do
6
+
7
+ it "requires a string" do
8
+ expect {FindKeywords::Keywords.new}.to raise_error(ArgumentError)
9
+ end
10
+
11
+ it "returns blank on nil input" do
12
+ sentence = nil
13
+ keywords = FindKeywords::Keywords.new(sentence).keywords
14
+ expect(keywords).to eq([])
15
+ end
16
+
17
+ it "splits an array to string" do
18
+ sentence = ["the", "fox", "shoes"]
19
+ keywords = FindKeywords::Keywords.new(sentence).keywords
20
+ expect(keywords).to eq(["fox", "shoes"])
21
+ end
22
+
23
+ it "convert hash to string" do
24
+ sentence = { the: "big dog", animal: "fox", wears: "shoes" }
25
+ keywords = FindKeywords::Keywords.new(sentence).keywords
26
+ expect(keywords).to eq(["big", "dog", "animal", "fox", "wears", "shoes"])
27
+ end
28
+
29
+ it "retuns no key words for numbers" do
30
+ sentence = 567
31
+ keywords = FindKeywords::Keywords.new(sentence).keywords
32
+ expect(keywords).to eq([])
33
+ end
34
+ end
35
+
36
+ context "remove unneeded characters" do
37
+
38
+ it "removes apostrophes" do
39
+ sentence = "Kirk's"
40
+ keywords = FindKeywords::Keywords.new(sentence).keywords
41
+ expect(keywords).to eq(['kirks'])
42
+ end
43
+
44
+ it "removes symbols @ and &" do
45
+ sentence = "@kirk & jarvis"
46
+ keywords = FindKeywords::Keywords.new(sentence).keywords
47
+ expect(keywords).to eq(['kirk', 'jarvis'])
48
+ end
49
+
50
+ it "replace all non alphanumeric, underscore or periods with blank" do
51
+ sentence = "@kirk & jarvis_ the ship. $ %"
52
+ keywords = FindKeywords::Keywords.new(sentence).keywords
53
+ expect(keywords).to eq(['kirk', 'jarvis', 'ship'])
54
+ end
55
+
56
+ it "replace all numbers with nothing" do
57
+ sentence = "@kirk & jarvis_ the ship. $ 20 %"
58
+ keywords = FindKeywords::Keywords.new(sentence).keywords
59
+ expect(keywords).to eq(['kirk', 'jarvis', 'ship'])
60
+ end
61
+
62
+ it "downcases all words" do
63
+ sentence = "@kirk & JARVIS_ the ship. $ 20 %"
64
+ keywords = FindKeywords::Keywords.new(sentence).keywords
65
+ expect(keywords).to eq(['kirk', 'jarvis', 'ship'])
66
+ end
67
+
68
+ it "removes stop words" do
69
+ sentence = "The quick brown fox jump over the lazy dog."
70
+ keywords = FindKeywords::Keywords.new(sentence).keywords
71
+ expect(keywords).to eq(["quick", "brown", "fox", "jump", "lazy", "dog"])
72
+ end
73
+
74
+ it "removes industry specific words" do
75
+ sentence = "free shipping For women members"
76
+ keywords = FindKeywords::Keywords.new(sentence).keywords
77
+ expect(keywords).to eq(["women"])
78
+ end
79
+
80
+ it "removes duplicutes" do
81
+ sentence = "women women women"
82
+ keywords = FindKeywords::Keywords.new(sentence).keywords
83
+ expect(keywords).to eq(["women"])
84
+ end
85
+
86
+ it "removes words less than 2 characters" do
87
+ sentence = "ta vg the game"
88
+ keywords = FindKeywords::Keywords.new(sentence).keywords
89
+ expect(keywords).to eq(["game"])
90
+ end
91
+
92
+ it "removes leading and trailing underscore" do
93
+ sentence = "_the yellow__jeans_"
94
+ keywords = FindKeywords::Keywords.new(sentence).keywords
95
+ expect(keywords).to eq(["yellow", "jeans"])
96
+ end
97
+
98
+ it "removes date Oct - 25" do
99
+ sentence = "Dana Buchman Apparel with code DANA10. Sept 24 – Oct 4"
100
+ keywords = FindKeywords::Keywords.new(sentence).keywords
101
+ expect(keywords).to eq(["dana", "buchman", "apparel"])
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'find_keywords'
4
+ #require_relative './support/fake_pepperjam_api'
5
+
6
+ RSpec.configure do |config|
7
+ =begin
8
+ config.before(:each) do
9
+ stub_request(:any, /api.pepperjamnetwork.com/ ).to_rack( FakePepperjamApi )
10
+ end
11
+ =end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: find_keywords
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirk Jarvis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-31 00:00:00.000000000 Z
11
+ date: 2014-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,6 +75,7 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - .gitignore
78
+ - .rspec
78
79
  - Gemfile
79
80
  - LICENSE.txt
80
81
  - README.md
@@ -82,6 +83,8 @@ files:
82
83
  - find_keywords.gemspec
83
84
  - lib/find_keywords.rb
84
85
  - lib/find_keywords/version.rb
86
+ - spec/find_keywords_spec.rb
87
+ - spec/spec_helper.rb
85
88
  homepage: ''
86
89
  licenses:
87
90
  - MIT
@@ -106,4 +109,6 @@ rubygems_version: 2.0.3
106
109
  signing_key:
107
110
  specification_version: 4
108
111
  summary: Finds keywords in a sentence
109
- test_files: []
112
+ test_files:
113
+ - spec/find_keywords_spec.rb
114
+ - spec/spec_helper.rb