menuizer 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +6 -0
  3. data/lib/menuizer/menu.rb +19 -15
  4. data/version.txt +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzIwOGUwMzY5NmIyZjE4MjQzMTFkZTZmMzM3YTNhZDFkZmFmMjM3Ng==
4
+ MGQzNmVjM2FiODQwYjIwZWVmYzFhYjUyN2VmN2IzNmUxNDdkYzkwNg==
5
5
  data.tar.gz: !binary |-
6
- YmU5MDE3MzAxNjdkNmFlOTI1ZDMxMmYxYzAzNGVjY2JjN2U2MGJmMA==
6
+ NmNmNjYyMzRhMmJhNjJiYTJlMWE4ZjM1MTBkYjU2ZGYzZjJkY2YwMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NWE3NzYyYTlmNjA5MmUyZjk5OTUwYmIyMGRhNjM1OGU5Nzk5MGFjYTlmMjU4
10
- Yzg0ZTljOWI5YmQ1YTIyZjc1ZmMzZjU1YjBhN2Y1OTk5YjEyMmZlZmI3MDdk
11
- ODkwOGQ1OTBiODNmMmI3YTBkZTdiMGQ3YzliMTk1MzAxNzM0ZDE=
9
+ NGM3ZGM1NGM0YTU5YzdhOWI3Y2ZiOWRkMTQyMjBjNzM0ZGY3ZWM4NzM5Y2I3
10
+ ZDQ2Y2JhZTU2ZTEzZTEwMTczZTAwM2M5OGY4OTE0MzQ1MDI5ZGVjNzE2ODhj
11
+ NWUwYzZhZGQ3NmQ0ZTlmYWQ0MmVmZTBiZjc2OTJlNWMzOTliNjQ=
12
12
  data.tar.gz: !binary |-
13
- YzNhMjRlOGExNmZkNDBiNGZkZDc1NjZiZTQ4YTMwNGU4YTU5ZTVhOTE1NGIx
14
- NTk3ZTNhNjBlNDMzNzQyM2NhMmVkMDc3ZjIxZDgyMTA5YmFhYzFmMjBlZWQ3
15
- MDFmMWM0YzBmZmU5NTFmNjE3NTdkMTVjZThhZGE0NjQ1YzBjZTY=
13
+ NjMwOTdiNmEzOWExNzRlZDE0YmI3YjYzY2NhNDAxMDQzZTQ0NTMzNTllN2M2
14
+ OTg1YjJlMDIzNTFhYjAxMjdmOTJjYTc0YjIxOTJiZDU1YjcyODU3YzE0ZGJi
15
+ MTI2YTY5MDg4NTc3YjM1ZWIzNjFmNzYxNzBlYzAyYzI2M2RiNTE=
data/README.md CHANGED
@@ -139,6 +139,12 @@ end
139
139
  <% end %>
140
140
  ```
141
141
 
142
+ ### get item
143
+
144
+ ```ruby
145
+ menuizer.item(:Widget) #=> menu item
146
+ ```
147
+
142
148
  ## Generators
143
149
 
144
150
  Generate menu items by ruby code:
data/lib/menuizer/menu.rb CHANGED
@@ -57,6 +57,10 @@ class Menuizer::Menu
57
57
  result.reverse
58
58
  end
59
59
 
60
+ def item(key)
61
+ map[key]
62
+ end
63
+
60
64
  def items
61
65
  @items ||= []
62
66
  end
@@ -91,34 +95,34 @@ class Menuizer::Menu
91
95
  def add_item(title, opts)
92
96
  model = to_model title
93
97
 
94
- unless children = opts.delete(:children)
95
- item = @item_class.new(
96
- type: :item,
98
+ props = {
97
99
  parent: @parent,
98
100
  namespace: @namespace,
99
101
  title: title,
100
102
  model: model,
103
+ }
104
+
105
+ unless children = opts.delete(:children)
106
+ item = @item_class.new(
101
107
  **opts,
108
+ type: :item,
109
+ **props,
102
110
  )
103
- map[title] = item
104
- current << item
105
111
  else
106
- owner = @parent
107
- parents = @current
108
- item = @parent = @item_class.new(
112
+ item = @item_class.new(
113
+ **opts,
109
114
  type: :tree,
110
115
  children: [],
111
- parent: owner,
112
- namespace: @namespace,
113
- title: title,
114
- model: model,
115
- **opts,
116
+ **props,
116
117
  )
117
- @current = item.children
118
+ parents, owner = @current, @parent
119
+ @current, @parent = item.children, item
118
120
  load_data children
119
121
  @current, @parent = parents, owner
120
- current << item
121
122
  end
123
+
124
+ current << item
125
+ map[title] = item
122
126
  end
123
127
  def to_model(title)
124
128
  return unless title.is_a?(Symbol)
data/version.txt CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.4
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: menuizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - shun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-11 00:00:00.000000000 Z
11
+ date: 2016-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler