activemenu 0.1.0 → 0.2.0
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/.rspec +1 -1
- data/README.md +8 -1
- data/activemenu.gemspec +1 -1
- data/lib/active_menu/menu.rb +1 -1
- data/lib/active_menu/registry.rb +21 -0
- data/lib/active_menu/version.rb +1 -1
- data/lib/active_menu.rb +15 -1
- data/spec/lib/active_menu/menu_spec.rb +1 -1
- data/spec/lib/active_menu/registry_spec.rb +15 -0
- data/spec/lib/active_menu_spec.rb +23 -0
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 261f1120e76623ef3e0342ee95e87d7afb1eff56
|
4
|
+
data.tar.gz: 050184b9998c2fb327a4072131a5f74ed0762b85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa00fb8ed3d9a1473ad1b88e757a95fad8df9a87bc0a9df83bb87b8da410a0b5d39c8ef67bc5faa6355f6b1c12bcb4c656c8f35fee124d4e65576a6ca2b4ad64
|
7
|
+
data.tar.gz: d1f35291d2ccd23120f96d0b5ddbafa7cf25b9c48c2d16aef6ec401a2ad9aef819834e53b2808cd55e8a76e37f3ab0c18f7bbcde0cf245849347250971d83108
|
data/.rspec
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
--color
|
2
|
-
--format
|
2
|
+
--format documentation
|
data/README.md
CHANGED
@@ -19,8 +19,15 @@ Or install it yourself as:
|
|
19
19
|
$ gem install activemenu
|
20
20
|
|
21
21
|
## Usage
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
@menu = ActiveMenu::create(:mymenu)
|
25
|
+
```
|
26
|
+
|
27
|
+
|
22
28
|
```ruby
|
23
|
-
@menu = ActiveMenu::Menu.new(:mainmenu, 'http://example.com')
|
29
|
+
@menu = ActiveMenu::Menu.new(:mainmenu, 'http://example.com')
|
30
|
+
# def initialize(id, href = nil, content=nil, submenus=[], parent=nil, &block) .... yield(self) if block_given?
|
24
31
|
@menu.submenu(:mysubmenu, "test") do |sm|
|
25
32
|
sm.content = 'My submenu'
|
26
33
|
sm.submenu(:mysubsubmenu, 'test 2') do |ssm|
|
data/activemenu.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler"
|
21
|
+
spec.add_development_dependency "bundler"
|
22
22
|
spec.add_development_dependency "rake"
|
23
23
|
|
24
24
|
end
|
data/lib/active_menu/menu.rb
CHANGED
@@ -2,7 +2,7 @@ class ActiveMenu::Menu
|
|
2
2
|
|
3
3
|
attr_accessor :id, :href, :content, :submenus, :parent
|
4
4
|
|
5
|
-
def initialize(id, href, content=nil, submenus=[], parent=nil, &block)
|
5
|
+
def initialize(id, href = nil, content=nil, submenus=[], parent=nil, &block)
|
6
6
|
@id = id
|
7
7
|
@href = href
|
8
8
|
@submenus = []
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
class ActiveMenu::Registry
|
3
|
+
include Singleton
|
4
|
+
|
5
|
+
attr_accessor :menus
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@menus = []
|
9
|
+
end
|
10
|
+
|
11
|
+
def create(id, href, &block)
|
12
|
+
menu = ActiveMenu::Menu.new(id, href, &block)
|
13
|
+
@menus << menu
|
14
|
+
menu
|
15
|
+
end
|
16
|
+
|
17
|
+
def reset
|
18
|
+
@menus = []
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/lib/active_menu/version.rb
CHANGED
data/lib/active_menu.rb
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
require "active_menu/version"
|
2
2
|
require "active_menu/menu"
|
3
|
+
require "active_menu/registry"
|
3
4
|
|
4
5
|
module ActiveMenu
|
5
|
-
|
6
|
+
|
7
|
+
def self.registry
|
8
|
+
ActiveMenu::Registry.instance
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.create(id, href, &block)
|
12
|
+
self.registry.create(id, href, &block)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.reset
|
16
|
+
self.registry.reset
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'ActiveMenu::Registry' do
|
4
|
+
subject {ActiveMenu::Registry.instance}
|
5
|
+
it {should respond_to(:menus)}
|
6
|
+
it {should be_a_kind_of(Singleton)}
|
7
|
+
|
8
|
+
it 'can reset the menus to zero' do
|
9
|
+
ActiveMenu::Registry.instance.create(:idmenu, 'http://example.com')
|
10
|
+
ActiveMenu::Registry.instance.menus.length == 1
|
11
|
+
ActiveMenu::Registry.instance.reset
|
12
|
+
ActiveMenu::Registry.instance.menus.length == 0
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ActiveMenu do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
ActiveMenu::registry.reset
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'has a registry of menus' do
|
10
|
+
ActiveMenu::registry.should be_a_kind_of(Singleton)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'has no menus on startup' do
|
14
|
+
ActiveMenu::registry.menus.length.should == 0
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'can create a menu directly' do
|
18
|
+
ActiveMenu::create(:someid, 'http://example.com').should be_a_kind_of(ActiveMenu::Menu)
|
19
|
+
ActiveMenu::registry.menus.length.should == 1
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activemenu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadjow Medeiros Leão
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,8 +54,11 @@ files:
|
|
54
54
|
- activemenu.gemspec
|
55
55
|
- lib/active_menu.rb
|
56
56
|
- lib/active_menu/menu.rb
|
57
|
+
- lib/active_menu/registry.rb
|
57
58
|
- lib/active_menu/version.rb
|
58
59
|
- spec/lib/active_menu/menu_spec.rb
|
60
|
+
- spec/lib/active_menu/registry_spec.rb
|
61
|
+
- spec/lib/active_menu_spec.rb
|
59
62
|
- spec/spec_helper.rb
|
60
63
|
homepage: https://github.com/sadjow/activemenu
|
61
64
|
licenses:
|
@@ -83,4 +86,6 @@ specification_version: 4
|
|
83
86
|
summary: A toolkit for menus.
|
84
87
|
test_files:
|
85
88
|
- spec/lib/active_menu/menu_spec.rb
|
89
|
+
- spec/lib/active_menu/registry_spec.rb
|
90
|
+
- spec/lib/active_menu_spec.rb
|
86
91
|
- spec/spec_helper.rb
|