File tree Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ def section(name, options = {})
16
16
raise "Section #{ n } already exists" if @__sections . key? ( n )
17
17
18
18
section = Section . new ( n , options )
19
- define_section_method ( n , options [ :value ] ) if options [ :value ]
19
+ define_section_method ( n , section ) if options [ :value ]
20
20
@__sections [ n ] = section
21
21
end
22
22
@@ -27,8 +27,8 @@ def url_helper(name)
27
27
28
28
private
29
29
30
- def define_section_method ( n , value )
31
- define_method ( n ) { instance_exec ( & value ) }
30
+ def define_section_method ( n , section )
31
+ define_method ( n ) { section . value ( self ) }
32
32
end
33
33
34
34
def inherited ( subclass )
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ class Tram::Page::Section
4
4
extend Dry ::Initializer
5
5
6
6
param :name
7
+ option :value , optional : true , as : :getter
7
8
option :if , optional : true , as : :positive
8
9
option :unless , optional : true , as : :negative
9
10
@@ -12,12 +13,12 @@ def call(page)
12
13
show? ( page ) ? { name => value ( page ) } : { }
13
14
end
14
15
15
- private
16
-
17
16
def value ( page )
18
- page . public_send ( name )
17
+ getter ? page . instance_exec ( & getter ) : page . public_send ( name )
19
18
end
20
19
20
+ private
21
+
21
22
def show? ( page )
22
23
condition = true
23
24
condition &= page . send ( positive ) if positive
You can’t perform that action at this time.
0 commit comments