cantango-config 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/VERSION +1 -1
- data/cantango-config.gemspec +2 -2
- data/lib/cantango/config/categories.rb +2 -1
- data/lib/cantango/config/models.rb +9 -4
- data/spec/cantango/config/categories_spec.rb +6 -6
- data/spec/cantango/config/models_spec.rb +41 -7
- metadata +21 -21
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/cantango-config.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cantango-config}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Kristian Mandrup}]
|
12
|
-
s.date = %q{2011-12-
|
12
|
+
s.date = %q{2011-12-20}
|
13
13
|
s.description = %q{Configuration DSL for configuring CanTango}
|
14
14
|
s.email = %q{kmandrup@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -5,7 +5,8 @@ module CanTango
|
|
5
5
|
|
6
6
|
def [] label
|
7
7
|
models = super
|
8
|
-
|
8
|
+
return [] unless models.kind_of?(Array)
|
9
|
+
# raise "Category '#{label}' either not exists or invalid!" if !models.kind_of?(Array)
|
9
10
|
models
|
10
11
|
end
|
11
12
|
|
@@ -52,7 +52,7 @@ module CanTango
|
|
52
52
|
def all
|
53
53
|
CanTango.config.orms.registered.compact.inject([]) do |result, orm|
|
54
54
|
adapter = adapter_for(orm)
|
55
|
-
result << (adapter.
|
55
|
+
result << (adapter.available_models if adapter)
|
56
56
|
result
|
57
57
|
end.flatten.compact
|
58
58
|
end
|
@@ -68,13 +68,18 @@ module CanTango
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def try_model model_string
|
71
|
-
model = find_first_class(
|
72
|
-
raise "No model #{model_string} defined!" if !model
|
71
|
+
model = find_first_class(models_to_finds model_string)
|
72
|
+
raise "No model: #{models_to_finds model_string} defined!" if !model
|
73
73
|
model
|
74
74
|
end
|
75
75
|
|
76
|
+
def models_to_finds model_string
|
77
|
+
(model_string.singularize == model_string) ? model_string : [model_string.singularize, model_string]
|
78
|
+
end
|
79
|
+
|
80
|
+
# from adapter
|
76
81
|
def grep reg_exp
|
77
|
-
|
82
|
+
available.grep reg_exp
|
78
83
|
end
|
79
84
|
|
80
85
|
def categories
|
@@ -13,16 +13,16 @@ describe CanTango::Config::Categories do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
describe 'get index []' do
|
16
|
-
|
16
|
+
before do
|
17
17
|
subject.register(:w => 'something non-array!')
|
18
|
-
|
19
|
-
|
18
|
+
end
|
19
|
+
|
20
|
+
specify { subject.category(:w).should_not be_empty }
|
21
|
+
specify { subject.category('w').should be_empty }
|
20
22
|
end
|
21
23
|
|
22
24
|
describe 'category_has_subject?' do
|
23
|
-
specify {
|
24
|
-
subject.category('a').has_any?('B').should be_true
|
25
|
-
}
|
25
|
+
specify { subject.category('a').has_any?('B').should be_true }
|
26
26
|
end
|
27
27
|
|
28
28
|
describe 'has_subject?' do
|
@@ -6,6 +6,13 @@ CanTango.debug!
|
|
6
6
|
connect_db
|
7
7
|
migrate
|
8
8
|
|
9
|
+
class Wheat
|
10
|
+
end
|
11
|
+
|
12
|
+
class Barley
|
13
|
+
end
|
14
|
+
|
15
|
+
|
9
16
|
describe CanTango::Configuration::Models do
|
10
17
|
let(:models) { CanTango.config.models }
|
11
18
|
let(:orms) { CanTango.config.orms }
|
@@ -24,7 +31,10 @@ describe CanTango::Configuration::Models do
|
|
24
31
|
|
25
32
|
subject { models }
|
26
33
|
|
27
|
-
describe '
|
34
|
+
describe '#actions' do
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#available' do
|
28
38
|
before do
|
29
39
|
orms.register :active_record
|
30
40
|
end
|
@@ -33,22 +43,46 @@ describe CanTango::Configuration::Models do
|
|
33
43
|
specify { subject.available.should include('Project') }
|
34
44
|
end
|
35
45
|
|
36
|
-
describe 'use :guest_user' do
|
46
|
+
describe '#use :guest_user' do
|
37
47
|
before do
|
38
48
|
subject.use :guest_user
|
39
49
|
end
|
40
50
|
specify { defined?(CanTango::Model::Guest).should be_true }
|
41
51
|
end
|
42
52
|
|
43
|
-
describe 'by_reg_exp' do
|
53
|
+
describe '#by_reg_exp' do
|
54
|
+
it 'should get matching models' do
|
55
|
+
pending
|
56
|
+
# subject.by_regexp(/Item$/).should include('Item', 'ProductItem')
|
57
|
+
end
|
44
58
|
end
|
45
59
|
|
46
|
-
describe 'by_category' do
|
47
|
-
|
60
|
+
describe '#by_category' do
|
61
|
+
context 'Category grains wit Wheat and Barley are registered' do
|
62
|
+
before do
|
63
|
+
CanTango.config.categories.register :grains => ['Wheat', 'Barley']
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should find models of :grains' do
|
67
|
+
subject.by_category(:grains).should include(Wheat, Barley)
|
68
|
+
end
|
48
69
|
|
49
|
-
|
70
|
+
it 'should not find models of unknown' do
|
71
|
+
subject.by_category(:unknown).should be_empty
|
72
|
+
end
|
73
|
+
end
|
50
74
|
end
|
51
75
|
|
52
|
-
describe '
|
76
|
+
describe '#exclude' do
|
77
|
+
before do
|
78
|
+
subject.exclude 'Item'
|
79
|
+
end
|
80
|
+
it 'should have Item in excluded list' do
|
81
|
+
subject.excluded.should include('Item')
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should exclude Item from available' do
|
85
|
+
subject.available.include?('Item').should be_false
|
86
|
+
end
|
53
87
|
end
|
54
88
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cantango-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-20 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70140253600760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70140253600760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sugar-high
|
27
|
-
requirement: &
|
27
|
+
requirement: &70140253599200 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.6.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70140253599200
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sweetloader
|
38
|
-
requirement: &
|
38
|
+
requirement: &70140253597980 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.1.6
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70140253597980
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: hashie
|
49
|
-
requirement: &
|
49
|
+
requirement: &70140253590020 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '1.2'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70140253590020
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: cantango-core
|
60
|
-
requirement: &
|
60
|
+
requirement: &70140253589180 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.1.9
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70140253589180
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70140253588080 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.1.rc
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70140253588080
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: jeweler
|
82
|
-
requirement: &
|
82
|
+
requirement: &70140253587180 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 1.6.4
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70140253587180
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rcov
|
93
|
-
requirement: &
|
93
|
+
requirement: &70140253586440 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70140253586440
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rspec
|
104
|
-
requirement: &
|
104
|
+
requirement: &70140253585440 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 2.6.0
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70140253585440
|
113
113
|
description: Configuration DSL for configuring CanTango
|
114
114
|
email: kmandrup@gmail.com
|
115
115
|
executables: []
|
@@ -229,7 +229,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
229
229
|
version: '0'
|
230
230
|
segments:
|
231
231
|
- 0
|
232
|
-
hash:
|
232
|
+
hash: 2466227934103881117
|
233
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
234
|
none: false
|
235
235
|
requirements:
|