agenda 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ preposition: [of, with, a]
@@ -0,0 +1 @@
1
+ go: [went, going]
@@ -12,6 +12,7 @@ Feature: Dictionaries
12
12
  When is loaded
13
13
  Then I should get a discarded chars regexp
14
14
 
15
+ @dictionary
15
16
  Scenario: Negatively loaded words
16
17
  Given the file "config/dictionary.yaml"
17
18
  And it contains:
@@ -22,6 +23,7 @@ Feature: Dictionaries
22
23
  Then I should get a negative words dictionary
23
24
  And negative dictionary should have "disgrace"
24
25
 
26
+ @dictionary
25
27
  Scenario: Common words
26
28
  Given the file "config/dictionary.yaml"
27
29
  And it contains:
@@ -31,6 +33,7 @@ Feature: Dictionaries
31
33
  When is loaded
32
34
  Then I should get a common words dictionary
33
35
 
36
+ @dictionary
34
37
  Scenario: Load dictionary
35
38
  Given the file "config/alternate-dictionary.yaml"
36
39
  And it contains:
@@ -41,6 +44,7 @@ Feature: Dictionaries
41
44
  Then I should get a freak words dictionary
42
45
  And I should get a common words dictionary
43
46
 
47
+ @dictionary
44
48
  Scenario: Replace dictionary
45
49
  Given the file "config/alternate-dictionary.yaml"
46
50
  And it contains:
@@ -49,4 +53,36 @@ Feature: Dictionaries
49
53
  """
50
54
  When I replace dictionaries with it
51
55
  Then I should get a freak words dictionary
56
+ And I should not get a common words dictionary
57
+
58
+ @dictionary
59
+ Scenario: Load dictionaries from directory
60
+ Given the directory: "config/dics"
61
+ And it contains the file "commons.yaml" with:
62
+ """
63
+ preposition: [of, with
64
+ """
65
+ And it contains the file "conjugations.yaml" with:
66
+ """
67
+ go: [went, going
68
+ """
69
+ When I load the directory
70
+ Then I should get a preposition words dictionary
71
+ And I should get a go words dictionary
72
+ And I should get a common words dictionary
73
+
74
+ @dictionary
75
+ Scenario: Replace dictionaries from directory
76
+ Given the directory: "config/dics"
77
+ And it contains the file "commons.yaml" with:
78
+ """
79
+ preposition: [of, with
80
+ """
81
+ And it contains the file "conjugations.yaml" with:
82
+ """
83
+ go: [went, going
84
+ """
85
+ When I replace dictionaries with those in the directory
86
+ Then I should get a preposition words dictionary
87
+ And I should get a go words dictionary
52
88
  And I should not get a common words dictionary
@@ -8,6 +8,19 @@ Given /it contains:/ do |content|
8
8
  @the_content.should include(content)
9
9
  end
10
10
 
11
+ Given /the directory: "(.+?)"$/ do |dir|
12
+ @dir_path = File.dirname(File.dirname(File.dirname(__FILE__))) + "/" + dir
13
+ Dir.should exist(@dir_path)
14
+ end
15
+
16
+ Given /it contains the file "(.+?)" with:$/ do |file, content|
17
+ @file_path = "#{@dir_path}/#{file}"
18
+ File.should exist(@file_path)
19
+
20
+ @content = File.read @file_path
21
+ @content.should include(content)
22
+ end
23
+
11
24
  When /is loaded/ do; end
12
25
 
13
26
  When /I load it/ do
@@ -18,6 +31,14 @@ When /I replace dictionaries with it/ do
18
31
  Agenda.replace_dictionaries_with @path
19
32
  end
20
33
 
34
+ When /I load the directory/ do
35
+ Agenda.load_dictionaries_from @dir_path
36
+ end
37
+
38
+ When /I replace dictionaries with those in the directory/ do
39
+ Agenda.replace_dictionaries @dir_path
40
+ end
41
+
21
42
  Then /I should get a (.+?) words dictionary/ do |type|
22
43
  Agenda.dictionary[type.to_sym].should_not be_empty
23
44
  end
@@ -0,0 +1,3 @@
1
+ After "@dictionary" do
2
+ Agenda.reset_dictionaries
3
+ end
data/lib/agenda.rb CHANGED
@@ -2,15 +2,15 @@ require "yaml"
2
2
 
3
3
  module Agenda
4
4
 
5
- base_path = File.dirname(File.dirname(File.expand_path(__FILE__)))
5
+ @@base_path = File.dirname(File.dirname(File.expand_path(__FILE__)))
6
6
 
7
- @@base_dictionary = YAML.load_file "#{base_path}/config/dictionary.yaml"
7
+ @@base_dictionary = YAML.load_file "#{@@base_path}/config/dictionary.yaml"
8
8
  @@dictionary = {}
9
9
  @@base_dictionary.each do |key, value|
10
10
  @@dictionary[key.to_sym] = value
11
11
  end
12
12
 
13
- @@regexp = YAML.load_file "#{base_path}/config/regexp.yaml"
13
+ @@regexp = YAML.load_file "#{@@base_path}/config/regexp.yaml"
14
14
 
15
15
  @@regexp.each do |key, value|
16
16
  @@regexp[key] = Regexp.new "[#{value}]"
@@ -19,6 +19,15 @@ module Agenda
19
19
  def self.dictionary; @@dictionary; end
20
20
  def self.regexp; @@regexp; end
21
21
 
22
+ def self.reset_dictionaries
23
+ @@dictionary = {}
24
+ @@base_dictionary = YAML.load_file "#{@@base_path}/config/dictionary.yaml"
25
+ @@dictionary = {}
26
+ @@base_dictionary.each do |key, value|
27
+ @@dictionary[key.to_sym] = value
28
+ end
29
+ end
30
+
22
31
  def self.load_dictionary(path)
23
32
  YAML.load_file(path).each do |key, value|
24
33
  @@dictionary[key.to_sym] = value
@@ -28,6 +37,17 @@ module Agenda
28
37
  @@dictionary = {}
29
38
  Agenda.load_dictionary(path)
30
39
  end
40
+
41
+ def self.load_dictionaries_from(path)
42
+ Dir.new(path).each do |file|
43
+ Agenda.load_dictionary "#{path}/#{file}" if file.end_with? "yaml"
44
+ end
45
+ end
46
+
47
+ def self.replace_dictionaries(path)
48
+ @@dictionary = {}
49
+ Agenda.load_dictionaries_from path
50
+ end
31
51
  end
32
52
 
33
53
  # Gem own requires
@@ -1,3 +1,3 @@
1
1
  module Agenda
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agenda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
17
- requirement: &21654444 !ruby/object:Gem::Requirement
17
+ requirement: &21271896 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *21654444
25
+ version_requirements: *21271896
26
26
  description: Text analysis package oriented to deconstruct discourse
27
27
  email:
28
28
  - xavier.via.canel@gmail.com
@@ -36,6 +36,8 @@ files:
36
36
  - Rakefile
37
37
  - agenda.gemspec
38
38
  - config/alternate-dictionary.yaml
39
+ - config/dics/commons.yaml
40
+ - config/dics/conjugations.yaml
39
41
  - config/dictionary.yaml
40
42
  - config/regexp.yaml
41
43
  - features/dictionaries.feature
@@ -44,6 +46,7 @@ files:
44
46
  - features/steps/tagging.rb
45
47
  - features/steps/word_count.rb
46
48
  - features/support/env.rb
49
+ - features/support/hooks.rb
47
50
  - features/tagged_result.feature
48
51
  - features/tagging.feature
49
52
  - features/word_count.feature