dynamic_menu 1.0.2 → 2.0.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.
- data/Manifest +1 -1
- data/README.md +57 -0
- data/dynamic_menu.gemspec +3 -3
- data/lib/dynamic_menu.rb +4 -2
- metadata +3 -3
- data/README.rdoc +0 -30
data/Manifest
CHANGED
data/README.md
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Dynamic Menu
|
2
|
+
|
3
|
+
This gem provides an easy way to generate a menu that changes according to the controller
|
4
|
+
action. It stores everything in an array which can later be accessed via the view.
|
5
|
+
|
6
|
+
#Getting Help
|
7
|
+
|
8
|
+
*Email me directly at support@pessetto.com and I will see what I can do
|
9
|
+
|
10
|
+
#Installation
|
11
|
+
|
12
|
+
The latest version, and probably the best to use, is 2.0.0 which no longer requires you to
|
13
|
+
manually declare the array. To install just put the following in your Gemfile and run
|
14
|
+
bundle install or bundle update:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem 'dynamic_menu','~>2.0.0'
|
18
|
+
```
|
19
|
+
|
20
|
+
Note: This gem was developed for Rails 3 and will most not work with anything under Rails 3.
|
21
|
+
|
22
|
+
##Getting Started
|
23
|
+
|
24
|
+
This gem features an engine that will automatically load it into your controllers. However,
|
25
|
+
you will need to include in your views
|
26
|
+
|
27
|
+
```erb
|
28
|
+
<% @actionMenuItems.each do |menuitem|%>
|
29
|
+
|
30
|
+
<%= menuitem %>
|
31
|
+
|
32
|
+
<%end%>
|
33
|
+
```
|
34
|
+
|
35
|
+
Note: your array must be @actionMenuItems, do not define this in the controller, the Gem will
|
36
|
+
do it automatically for you unless you are using a pre-2.0 release.
|
37
|
+
|
38
|
+
To add a link in your menu from your controller it is just a matter of using newmenuitem()
|
39
|
+
Example
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
def index
|
43
|
+
|
44
|
+
#...code here
|
45
|
+
|
46
|
+
newmenuitem("New Thing",new_thing_path)
|
47
|
+
|
48
|
+
#...code here
|
49
|
+
```
|
50
|
+
|
51
|
+
##Functions
|
52
|
+
There is only one function, newmenuitem, that this gem currently has, but can have various
|
53
|
+
values sent to it.
|
54
|
+
|
55
|
+
* newmenuitem(<string>name,<string>link) provides a regular get link to to link and displays name on the menu
|
56
|
+
* newmenuitem(<string>name,<string>link,:delete,<string>confirm) will send a delete request to link with the confirmation message of confirm
|
57
|
+
* newmenuitem(<string>name,:submit) will create a link to submit the form on the page assumming you don't want the regular button and listen for an enter via JavaScript
|
data/dynamic_menu.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{dynamic_menu}
|
5
|
-
s.version = "
|
5
|
+
s.version = "2.0.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = [%q{Travis Pessettto}]
|
9
9
|
s.date = %q{2011-08-12}
|
10
10
|
s.description = %q{Allow the creation of Menus}
|
11
11
|
s.email = %q{travis@pessetto.com}
|
12
|
-
s.extra_rdoc_files = [%q{README.
|
13
|
-
s.files = [%q{README.
|
12
|
+
s.extra_rdoc_files = [%q{README.md}, %q{lib/dynamic_menu.rb}]
|
13
|
+
s.files = [%q{README.md}, %q{Rakefile}, %q{lib/dynamic_menu.rb},%q{lib/engine.rb}, %q{Manifest}, %q{dynamic_menu.gemspec}]
|
14
14
|
s.homepage = %q{http://pessetto.com}
|
15
15
|
s.rdoc_options = [%q{--line-numbers}, %q{--inline-source}, %q{--title}, %q{Dynamic_menu}, %q{--main}, %q{README.rdoc}]
|
16
16
|
s.require_paths = [%q{lib}]
|
data/lib/dynamic_menu.rb
CHANGED
@@ -3,6 +3,9 @@ module DynamicMenu
|
|
3
3
|
|
4
4
|
module MenuItems
|
5
5
|
def newmenuitem(name,link,method=:get,confirm="Are you sure?")
|
6
|
+
if !defined?(@actionMenuItems)
|
7
|
+
@actionMenuItems = Array.new
|
8
|
+
end
|
6
9
|
genlink = ""
|
7
10
|
|
8
11
|
if method==:delete
|
@@ -31,10 +34,9 @@ module DynamicMenu
|
|
31
34
|
else
|
32
35
|
genlink = "<a href=\"#{link}\">#{name}</a>".html_safe
|
33
36
|
end
|
34
|
-
|
37
|
+
@actionMenuItems << genlink
|
35
38
|
end
|
36
39
|
|
37
40
|
|
38
|
-
|
39
41
|
end
|
40
42
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamic_menu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -16,10 +16,10 @@ email: travis@pessetto.com
|
|
16
16
|
executables: []
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files:
|
19
|
-
- README.
|
19
|
+
- README.md
|
20
20
|
- lib/dynamic_menu.rb
|
21
21
|
files:
|
22
|
-
- README.
|
22
|
+
- README.md
|
23
23
|
- Rakefile
|
24
24
|
- lib/dynamic_menu.rb
|
25
25
|
- lib/engine.rb
|
data/README.rdoc
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
=DYNAMIC MENU
|
2
|
-
|
3
|
-
Dynamic Menu is a Gem that provides a way to make it easy to create a menu that changes according
|
4
|
-
to the controller action. The controller passes in information into an array which is accessed by
|
5
|
-
the view.
|
6
|
-
|
7
|
-
==Installation
|
8
|
-
While pre-1.0 releases exits we recommend not using them as the code in them is not the best
|
9
|
-
and will not auto-load into your controller, they will not be commented on here.
|
10
|
-
|
11
|
-
In your Gemfile make sure you have
|
12
|
-
|
13
|
-
gem 'dynamic_menu','~>1.0.0'
|
14
|
-
|
15
|
-
then run bundle install
|
16
|
-
|
17
|
-
==How to use
|
18
|
-
To use DynamicMenu you need to create an array such as @MenuItems and store items in it.
|
19
|
-
So in your controller in each method you can do something like:
|
20
|
-
|
21
|
-
@MenuItems = Array.new
|
22
|
-
|
23
|
-
@MenuItems << newmenuitem("name","link")
|
24
|
-
|
25
|
-
newmenuitem() is the method you need to use to add a menu-item.
|
26
|
-
|
27
|
-
newmenuitem has the arguments of name, link, method, and confirm. Method and confirm only
|
28
|
-
need to be specified if you are using anything other than get. Link may use :submit which
|
29
|
-
will submit a form when clicked and add a JavaScript method to listen for the enter key to
|
30
|
-
submit the form. Name and Link are the only required fields and are both Strings...
|