module Xpose::Controller::ClassMethods
Public Instance Methods
_expose(**args)
click to toggle source
# File lib/xpose/controller.rb, line 6 def _expose(**args) ::Xpose::Exposed.new(args).tap do |inst| @@exposed ||= {} @@exposed[inst.conf.name] = inst define_method inst.conf.name do if instance_variable_defined?(inst.conf.ivar_name) instance_variable_get(inst.conf.ivar_name) else instance_variable_set(inst.conf.ivar_name, inst.exposed_value(self)) end end helper_method(inst.conf.name) end end
expose(names, value = nil, **args, &block)
click to toggle source
# File lib/xpose/controller.rb, line 21 def expose(names, value = nil, **args, &block) value = value || args.fetch(:value, nil) || block [names].flatten.each { |name| _expose({ name: name, value: value }.merge(args)) } end
expose!(names, value = nil, **args, &block)
click to toggle source
# File lib/xpose/controller.rb, line 26 def expose!(names, value = nil, **args, &block) expose(name, value, args, &block) [names].flatten.each { |name| before_action(name) } end
exposed()
click to toggle source
# File lib/xpose/controller.rb, line 31 def exposed @@exposed ||= {} end