mmmenu 0.5.0 → 0.5.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/Gemfile +2 -2
- data/Gemfile.lock +2 -2
- data/README.markdown +16 -7
- data/VERSION +1 -1
- data/lib/generators/templates/helpers/mmmenu_helper.rb +7 -5
- data/mmmenu.gemspec +9 -9
- data/spec/lib/mmmenu_spec.rb +3 -3
- metadata +29 -14
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -36,7 +36,7 @@ As you can see, we specify the paths, so our menu does not depend on the routes.
|
|
36
36
|
`#mmmenu` method automatically puts your menu into @menu instance variable. If you wish to use another variable,
|
37
37
|
you may use a more explicit syntax:
|
38
38
|
|
39
|
-
@my_menu = Mmmenu.new(:request => request)
|
39
|
+
@my_menu = Mmmenu.new(:request => request) { |l1| ... }
|
40
40
|
|
41
41
|
Now let's see what happens in the views:
|
42
42
|
|
@@ -56,22 +56,31 @@ Run `rails generate mmmenu`, you'll get your app/helpers/mmmenu_helper.rb file a
|
|
56
56
|
`level_1.erb` is a wrapper for menu level 1
|
57
57
|
`level_2.erb` is a wrapper for menu level 2 (submenu)
|
58
58
|
|
59
|
-
|
59
|
+
You can also has various templates for various menus on your page. Simply, provide a :templates_path option to #build_mmmenu helper like this:
|
60
|
+
|
61
|
+
<%= build_mmmenu(@menu, templates_path: 'mmmenu/my_custom_menu') %>
|
62
|
+
|
63
|
+
Then you can put all the same files mentioned above in this directory and change them. This is useful when you have various types of menus
|
64
|
+
requiring different html-markup. If you wish to customize deeper levels of menus and items in them, you should take a look at the generated
|
65
|
+
`mmmenu_helper.rb` file.
|
60
66
|
|
61
67
|
Customizing the Helper
|
62
68
|
----------------------------
|
63
69
|
|
64
70
|
Let's take a look at what's inside this helper:
|
65
71
|
|
66
|
-
def build_mmmenu(menu)
|
72
|
+
def build_mmmenu(menu, options = {})
|
73
|
+
return nil unless menu
|
74
|
+
options = {templates_path: 'mmmenu' }.merge(options)
|
75
|
+
templates_path = options[:templates_path]
|
67
76
|
menu.item_markup(1) do |link, text, options|
|
68
|
-
render(:partial => "
|
77
|
+
render(:partial => "#{templates_path}/item", :locals => { :link => link, :text => text, :options => options })
|
69
78
|
end
|
70
79
|
menu.current_item_markup(1) do |link, text, options|
|
71
|
-
render(:partial => "
|
80
|
+
render(:partial => "#{templates_path}/current_item", :locals => { :link => link, :text => text, :options => options })
|
72
81
|
end
|
73
|
-
menu.level_markup(1) { |m| render(:partial => "
|
74
|
-
menu.level_markup(2) { |m| render(:partial => "
|
82
|
+
menu.level_markup(1) { |m| render(:partial => "#{templates_path}/level_1", :locals => { :menu => m }) }
|
83
|
+
menu.level_markup(2) { |m| render(:partial => "#{templates_path}/level_2", :locals => { :menu => m }) }
|
75
84
|
menu.build.html_safe
|
76
85
|
end
|
77
86
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
@@ -1,15 +1,17 @@
|
|
1
1
|
module MmmenuHelper
|
2
2
|
|
3
|
-
def build_mmmenu(menu)
|
3
|
+
def build_mmmenu(menu, options = {})
|
4
4
|
return nil unless menu
|
5
|
+
options = {templates_path: 'mmmenu' }.merge(options)
|
6
|
+
templates_path = options[:templates_path]
|
5
7
|
menu.item_markup(1) do |link, text, options|
|
6
|
-
render(:partial => "
|
8
|
+
render(:partial => "#{templates_path}/item", :locals => { :link => link, :text => text, :options => options })
|
7
9
|
end
|
8
10
|
menu.current_item_markup(1) do |link, text, options|
|
9
|
-
render(:partial => "
|
11
|
+
render(:partial => "#{templates_path}/current_item", :locals => { :link => link, :text => text, :options => options })
|
10
12
|
end
|
11
|
-
menu.level_markup(1) { |m| render(:partial => "
|
12
|
-
menu.level_markup(2) { |m| render(:partial => "
|
13
|
+
menu.level_markup(1) { |m| render(:partial => "#{templates_path}/level_1", :locals => { :menu => m }) }
|
14
|
+
menu.level_markup(2) { |m| render(:partial => "#{templates_path}/level_2", :locals => { :menu => m }) }
|
13
15
|
menu.build.html_safe
|
14
16
|
end
|
15
17
|
|
data/mmmenu.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "mmmenu"
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Roman Snitko"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-04-04"
|
13
13
|
s.description = "Defines multilevel menu structures, uses custom html templates to render them."
|
14
14
|
s.email = "roman.snitko@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -39,24 +39,24 @@ Gem::Specification.new do |s|
|
|
39
39
|
s.homepage = "http://github.com/snitko/mmmenu"
|
40
40
|
s.licenses = ["MIT"]
|
41
41
|
s.require_paths = ["lib"]
|
42
|
-
s.rubygems_version = "1.8.
|
42
|
+
s.rubygems_version = "1.8.24"
|
43
43
|
s.summary = "Flexible menu generator for Rails."
|
44
44
|
|
45
45
|
if s.respond_to? :specification_version then
|
46
46
|
s.specification_version = 3
|
47
47
|
|
48
48
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
-
s.add_development_dependency(%q<bundler>, ["
|
50
|
-
s.add_development_dependency(%q<rspec>, ["
|
49
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
50
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
51
51
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
52
52
|
else
|
53
|
-
s.add_dependency(%q<bundler>, ["
|
54
|
-
s.add_dependency(%q<rspec>, ["
|
53
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
55
55
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
56
56
|
end
|
57
57
|
else
|
58
|
-
s.add_dependency(%q<bundler>, ["
|
59
|
-
s.add_dependency(%q<rspec>, ["
|
58
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
59
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
60
60
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
61
61
|
end
|
62
62
|
end
|
data/spec/lib/mmmenu_spec.rb
CHANGED
@@ -18,9 +18,9 @@ describe Mmmenu do
|
|
18
18
|
|
19
19
|
before(:each) do
|
20
20
|
@request = mock('request')
|
21
|
-
@request.stub!(:path).
|
22
|
-
@request.stub!(:method).
|
23
|
-
@request.stub!(:params).
|
21
|
+
@request.stub!(:path).and_return('/items1/new')
|
22
|
+
@request.stub!(:method).and_return('get')
|
23
|
+
@request.stub!(:params).and_return({})
|
24
24
|
@menu = Mmmenu.new(:items => @items, :request => @request )
|
25
25
|
end
|
26
26
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mmmenu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,33 +9,43 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
|
-
- -
|
35
|
+
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
37
|
+
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: jeweler
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: 1.6.4
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.6.4
|
47
62
|
description: Defines multilevel menu structures, uses custom html templates to render
|
48
63
|
them.
|
49
64
|
email: roman.snitko@gmail.com
|
@@ -86,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
101
|
version: '0'
|
87
102
|
segments:
|
88
103
|
- 0
|
89
|
-
hash:
|
104
|
+
hash: 3008671744595032140
|
90
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
106
|
none: false
|
92
107
|
requirements:
|
@@ -95,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
110
|
version: '0'
|
96
111
|
requirements: []
|
97
112
|
rubyforge_project:
|
98
|
-
rubygems_version: 1.8.
|
113
|
+
rubygems_version: 1.8.24
|
99
114
|
signing_key:
|
100
115
|
specification_version: 3
|
101
116
|
summary: Flexible menu generator for Rails.
|