activemenu 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 064b9400c39ced780b52cbf91e507fb5272e61f9
4
- data.tar.gz: cd6552caec20c59f466266d533f8e60998504954
3
+ metadata.gz: 261f1120e76623ef3e0342ee95e87d7afb1eff56
4
+ data.tar.gz: 050184b9998c2fb327a4072131a5f74ed0762b85
5
5
  SHA512:
6
- metadata.gz: 8265774e404472788b6ad1b34cabc612b9395df43c86d25e7e62fd59cb671bfee97bee0c3b756a22c3b096be61e46969b19532b29b81cac4b77e7c2c203a1f0d
7
- data.tar.gz: 0bb1467581f53e55ef79155cbe28576c04c7540f07c3551372c4d7f50d904df6f4940bc2eeb34850e165bcdd1a94c6c99fbce53fb9730314e7c120dbb5b8a48e
6
+ metadata.gz: aa00fb8ed3d9a1473ad1b88e757a95fad8df9a87bc0a9df83bb87b8da410a0b5d39c8ef67bc5faa6355f6b1c12bcb4c656c8f35fee124d4e65576a6ca2b4ad64
7
+ data.tar.gz: d1f35291d2ccd23120f96d0b5ddbafa7cf25b9c48c2d16aef6ec401a2ad9aef819834e53b2808cd55e8a76e37f3ab0c18f7bbcde0cf245849347250971d83108
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
1
  --color
2
- --format progress
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') # def initialize(id, href, content=nil, submenus=[], parent=nil, &block) .... yield(self) if block_given?
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", "~> 1.3"
21
+ spec.add_development_dependency "bundler"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
24
  end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module ActiveMenu
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
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
- end
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
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
 
4
4
  describe ActiveMenu::Menu do
5
- subject {ActiveMenu::Menu.new(:idtest, "http://example.com")}
5
+ subject {ActiveMenu::Menu.new(:idtest)}
6
6
 
7
7
  it {should respond_to(:id)}
8
8
  it {should respond_to(:href)}
@@ -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.1.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-02-28 00:00:00.000000000 Z
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: '1.3'
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: '1.3'
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