menuable 0.1.1 → 0.1.2
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/.rubocop.yml +6 -0
- data/lib/menuable/version.rb +1 -1
- data/lib/menuable.rb +16 -3
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3e428de3e6e6e19e26e5eebbdf163677fc2dac048610e572a0c1c9e8473375f
|
4
|
+
data.tar.gz: abdd56584c6ceeb8854dceea90bad7c41134b28c3211c2d4ae5a6a99c4415e0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 410d422e140b3e3f922a763df3086cf982c31cb18e5dcda9d4203189a383ef7af55bb1ac18922fdf1853849eb2dda14ae9e4f241941979266ea449d97f44a6a6
|
7
|
+
data.tar.gz: b1c01be9f31432e70d7b5667361b54ed414ab9b19d09f01f74ca6cb672af7c31c4d869560f422ad2c53150d67dcb3af0a1c4b36e2dda3ecefa45789ef489233e
|
data/.rubocop.yml
CHANGED
data/lib/menuable/version.rb
CHANGED
data/lib/menuable.rb
CHANGED
@@ -3,12 +3,15 @@
|
|
3
3
|
require_relative "menuable/version"
|
4
4
|
require "active_support/all"
|
5
5
|
|
6
|
+
#
|
7
|
+
# Menuable is a module for dynamically generating sidemenus
|
8
|
+
#
|
6
9
|
module Menuable
|
7
10
|
extend ActiveSupport::Concern
|
8
11
|
|
9
12
|
class_methods do
|
10
|
-
def resource(resource_name, **options, &
|
11
|
-
resources(resource_name, single: true, **options, &
|
13
|
+
def resource(resource_name, **options, &)
|
14
|
+
resources(resource_name, single: true, **options, &)
|
12
15
|
end
|
13
16
|
|
14
17
|
def resources(resource_name, single: false, **options, &block)
|
@@ -27,6 +30,9 @@ module Menuable
|
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
33
|
+
#
|
34
|
+
# Value to set from controller
|
35
|
+
#
|
30
36
|
class MenuDefinition
|
31
37
|
class_attribute :options
|
32
38
|
class_attribute :resource_name
|
@@ -52,6 +58,10 @@ module Menuable
|
|
52
58
|
end
|
53
59
|
end
|
54
60
|
|
61
|
+
#
|
62
|
+
# A class for binding with view_content to convert the settings defined in yaml
|
63
|
+
# into something that can actually be used
|
64
|
+
#
|
55
65
|
class MenuContext
|
56
66
|
attr_reader :context
|
57
67
|
|
@@ -89,7 +99,7 @@ module Menuable
|
|
89
99
|
path || config[:path] || "/"
|
90
100
|
end
|
91
101
|
|
92
|
-
def active?(menu)
|
102
|
+
def active?(menu) # rubocop:todo Metrics/MethodLength
|
93
103
|
case menu
|
94
104
|
in items:
|
95
105
|
items.any? do |item|
|
@@ -115,6 +125,9 @@ module Menuable
|
|
115
125
|
end
|
116
126
|
end
|
117
127
|
|
128
|
+
#
|
129
|
+
# The actual state of the definition body that reads YAML
|
130
|
+
#
|
118
131
|
class Menu
|
119
132
|
def initialize(namespace, path) # rubocop:todo Metrics/MethodLength, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
120
133
|
extract_namespace = lambda do |name|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: menuable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masa (Aileron inc)
|
@@ -9,7 +9,21 @@ autorequire:
|
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2023-07-18 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: 'This library provides menu.yml and controller macros to manage routes
|
14
28
|
and sidebar implementations when implementing management functions in rails.
|
15
29
|
|
@@ -38,6 +52,7 @@ metadata:
|
|
38
52
|
homepage_uri: https://github.com/aileron-inc/menuable
|
39
53
|
source_code_uri: https://github.com/aileron-inc/menuable
|
40
54
|
changelog_uri: https://github.com/aileron-inc/menuable
|
55
|
+
rubygems_mfa_required: 'true'
|
41
56
|
post_install_message:
|
42
57
|
rdoc_options: []
|
43
58
|
require_paths:
|