Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9340081
datacat.rb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
datacat.rb
View Options
module
Puppet_X
module
Richardc
class
Datacat
def
self
.
deep_merge
deep_merge
=
Proc
.
new
do
|
key
,
oldval
,
newval
|
newval
.
is_a?
(
Hash
)
&&
oldval
.
is_a?
(
Hash
)
?
oldval
.
merge
(
newval
,
&
deep_merge
)
:
newval
.
is_a?
(
Array
)
&&
oldval
.
is_a?
(
Array
)
?
oldval
+
newval
:
newval
end
end
end
# Our much simpler version of Puppet::Parser::TemplateWrapper
class
Datacat_Binding
def
initialize
(
d
,
template
)
@data
=
d
@__file__
=
template
end
def
file
@__file__
end
# Find which line in the template (if any) we were called from.
# @return [String] the line number
# @api private
def
script_line
identifier
=
Regexp
.
escape
(
@__file__
||
"(erb)"
)
(
caller
.
find
{
|
l
|
l
=~
/
#{
identifier
}
:/
}
||
""
)
[
/:(\d+):/
,
1
]
end
private
:script_line
def
method_missing
(
name
,
*
args
)
line_number
=
script_line
raise
"Could not find value for '
#{
name
}
'
#{
@__file__
}
:
#{
line_number
}
"
end
def
get_binding
binding
()
end
end
end
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Jul 4 2025, 10:13 AM (5 w, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3389376
Attached To
R151 puppet-richardc-datacat
Event Timeline
Log In to Comment