modularize 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/lib/modularize.rb +1 -1
- data/lib/modularize/{modulize.rb → modularize.rb} +2 -2
- data/lib/modularize/version.rb +1 -1
- data/spec/modularize_spec.rb +26 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d679f6b678438e974373b4e0aa6d83b9c6343cc
|
4
|
+
data.tar.gz: ede2458c47223c606fd562f6abe9bd99fff8b4fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d32ad050572a4f0e94743fc9915a590db906362508d347236bd4a4ed496b0c772100a5dd617266a3dc5651abe1c315c17b6175c9e5b4d9d12ebbe79a4e4d7fb
|
7
|
+
data.tar.gz: 625779216c832281e84103e81bb5947504129523439732ad5610532a234f52521d991d1ada2cc536c6758c785e1e67223381917424185d23225624a35b2a45fa
|
data/lib/modularize.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
require "modularize/version"
|
2
|
-
require
|
2
|
+
require "modularize/modularize"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module Modularize
|
2
2
|
def self.create(path, root = Object)
|
3
3
|
path.split('::').each do |name|
|
4
4
|
root = create_module(name, root)
|
@@ -10,7 +10,7 @@ class Modulize
|
|
10
10
|
def self.create_module(name, root)
|
11
11
|
new_module = root.const_defined?(name) ? root.const_get(name) : nil
|
12
12
|
|
13
|
-
unless
|
13
|
+
unless new_module
|
14
14
|
new_module = Module.new
|
15
15
|
root.const_set name, new_module
|
16
16
|
end
|
data/lib/modularize/version.rb
CHANGED
data/spec/modularize_spec.rb
CHANGED
@@ -1,15 +1,38 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Modularize do
|
4
|
+
after do
|
5
|
+
Object.send(:remove_const, :Fruit) if defined?(Fruit)
|
6
|
+
Object.send(:remove_const, :Animals) if defined?(Animals)
|
7
|
+
end
|
8
|
+
|
4
9
|
it 'creates a single module' do
|
5
10
|
defined?(Fruit).should == nil
|
6
|
-
|
11
|
+
Modularize.create('Fruit')
|
7
12
|
defined?(Fruit).should_not == nil
|
8
13
|
end
|
9
14
|
|
10
15
|
it 'creates nested modules' do
|
11
16
|
defined?(Animals::Cats::Bombay).should == nil
|
12
|
-
|
17
|
+
Modularize.create('Animals::Cats::Bombay')
|
13
18
|
defined?(Animals::Cats::Bombay).should_not == nil
|
14
19
|
end
|
20
|
+
|
21
|
+
it 'creates from given root' do
|
22
|
+
Modularize.create('Fruit')
|
23
|
+
Modularize.create('Orange', Fruit)
|
24
|
+
defined?(Fruit::Orange).should_not == nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'can create the same one twice' do
|
28
|
+
Modularize.create('Fruit')
|
29
|
+
Modularize.create('Fruit')
|
30
|
+
defined?(Fruit).should_not == nil
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'doenst overwrite old modules' do
|
34
|
+
Modularize.create('Fruit::Orange')
|
35
|
+
Modularize.create('Fruit')
|
36
|
+
defined?(Fruit::Orange).should_not == nil
|
37
|
+
end
|
15
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: modularize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Joyce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,7 +66,7 @@ files:
|
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
68
|
- lib/modularize.rb
|
69
|
-
- lib/modularize/
|
69
|
+
- lib/modularize/modularize.rb
|
70
70
|
- lib/modularize/version.rb
|
71
71
|
- modularize.gemspec
|
72
72
|
- spec/modularize_spec.rb
|
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.0.
|
94
|
+
rubygems_version: 2.0.7
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: Dynamically create module hierarchies...
|