module Jbuilder::Jpartial
Jpartial
module
Constants
- DangerousMethodName
- Template
Proxy object that sends all method calls to
Jpartial.jpartial
- VERSION
Public Class Methods
_dangerous_method_name?(name)
click to toggle source
# File lib/jbuilder/jpartial.rb, line 28 def self._dangerous_method_name?(name) !@defined_by_user.include?(name) && Jbuilder.method_defined?(name) || Jbuilder.private_method_defined?(name) end
_raise_dangerous_method_name_error(name)
click to toggle source
# File lib/jbuilder/jpartial.rb, line 23 def self._raise_dangerous_method_name_error(name) raise DangerousMethodName, "The method `##{name}` is already defined"\ ' by Jbuilder. Please choose another name to define your partial' end
configure() { |template| ... }
click to toggle source
# File lib/jbuilder/jpartial.rb, line 34 def self.configure yield Template.new end
jpartial(name, &block)
click to toggle source
# File lib/jbuilder/jpartial.rb, line 12 def self.jpartial(name, &block) _raise_dangerous_method_name_error(name) if _dangerous_method_name?(name) JbuilderProxy.class_eval { define_method(name, &block) } Jbuilder.class_eval do define_method(name) do |*args| JbuilderProxy.new(self, @context).__send__(name, *args) end end @defined_by_user << name unless @defined_by_user.include?(name) end