ore 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog.md +7 -0
- data/gemspec.yml +1 -1
- data/lib/ore/naming.rb +20 -2
- data/spec/naming_spec.rb +8 -0
- metadata +3 -3
data/ChangeLog.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 0.2.1 / 2010-10-29
|
2
|
+
|
3
|
+
* Ignore 'ruby' and 'java' from namespace directories returned from
|
4
|
+
{Ore::Naming#namespace_dirs_of}.
|
5
|
+
* Ignore 'ruby' and 'java' from module names returned from
|
6
|
+
{Ore::Naming#modules_of}.
|
7
|
+
|
1
8
|
### 0.2.0 / 2010-10-27
|
2
9
|
|
3
10
|
* Added {Ore::Project#requirements}.
|
data/gemspec.yml
CHANGED
data/lib/ore/naming.rb
CHANGED
@@ -27,12 +27,30 @@ module Ore
|
|
27
27
|
# The directory which contains built packages
|
28
28
|
@@pkg_dir = 'pkg'
|
29
29
|
|
30
|
+
# Words used in project names, but never in directory names
|
31
|
+
@@ignore_namespaces = %w[ruby java]
|
32
|
+
|
30
33
|
# Common project prefixes and namespaces
|
31
34
|
@@common_namespaces = {
|
32
35
|
'ffi' => 'FFI',
|
33
36
|
'dm' => 'DataMapper'
|
34
37
|
}
|
35
38
|
|
39
|
+
#
|
40
|
+
# Splits the project name into individual names.
|
41
|
+
#
|
42
|
+
# @param [String] name
|
43
|
+
# The name to split.
|
44
|
+
#
|
45
|
+
# @return [Array<String>]
|
46
|
+
# The individual names of the project name.
|
47
|
+
#
|
48
|
+
def names_in(name)
|
49
|
+
name.split('-').reject do |word|
|
50
|
+
@@ignore_namespaces.include?(word)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
36
54
|
#
|
37
55
|
# Guesses the module names from a project name.
|
38
56
|
#
|
@@ -40,7 +58,7 @@ module Ore
|
|
40
58
|
# The module names for a project.
|
41
59
|
#
|
42
60
|
def modules_of(name)
|
43
|
-
name
|
61
|
+
names_in(name).map do |words|
|
44
62
|
words.split('_').map { |word|
|
45
63
|
@@common_namespaces[word] || word.capitalize
|
46
64
|
}.join
|
@@ -79,7 +97,7 @@ module Ore
|
|
79
97
|
# The namespace directories for the project.
|
80
98
|
#
|
81
99
|
def namespace_dirs_of(name)
|
82
|
-
name
|
100
|
+
names_in(name).map { |word| underscore(word) }
|
83
101
|
end
|
84
102
|
|
85
103
|
#
|
data/spec/naming_spec.rb
CHANGED
@@ -30,6 +30,10 @@ describe Naming do
|
|
30
30
|
subject.modules_of('foo-bar').should == ['Foo', 'Bar']
|
31
31
|
end
|
32
32
|
|
33
|
+
it "should filter out obvious names from the module names" do
|
34
|
+
subject.modules_of('ruby-foo').should == ['Foo']
|
35
|
+
end
|
36
|
+
|
33
37
|
it "should recognize common acronyms in project names" do
|
34
38
|
subject.modules_of('ffi-bar').should == ['FFI', 'Bar']
|
35
39
|
end
|
@@ -42,6 +46,10 @@ describe Naming do
|
|
42
46
|
subject.namespace_dirs_of('foo-bar').should == ['foo', 'bar']
|
43
47
|
end
|
44
48
|
|
49
|
+
it "should filter out namespaces that are rarely used in directory names" do
|
50
|
+
subject.namespace_dirs_of('ruby-foo').should == ['foo']
|
51
|
+
end
|
52
|
+
|
45
53
|
it "should guess the namespace directory from a project name" do
|
46
54
|
subject.namespace_path_of('foo-bar').should == 'foo/bar'
|
47
55
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 1
|
9
|
+
version: 0.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Postmodern
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-10-
|
17
|
+
date: 2010-10-29 00:00:00 -07:00
|
18
18
|
default_executable: ore
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|