lib/brief/model.rb in brief-1.3.0 vs lib/brief/model.rb in brief-1.3.1
- old
+ new
@@ -11,14 +11,13 @@
include Virtus.model(finalize: false)
include Initializers
include AccessorMethods
include Persistence
- class_attribute :models, :after_initialization_hooks, :defined_actions
+ class_attribute :models, :after_initialization_hooks
self.models = Array(models).to_set
- self.defined_actions = Array(defined_actions).to_set
class << self
include Enumerable
end
@@ -92,10 +91,14 @@
module ClassMethods
def has_actions?
definition.has_actions?
end
+ def defined_actions
+ definition.defined_actions ||= []
+ end
+
def finalize
klass = self
klass.name ||= klass.to_s.split('::').last.humanize
klass.type_alias ||= klass.name.parameterize.gsub(/-/, '_')
@@ -180,9 +183,11 @@
def method_missing(meth, *args, &block)
if %w(meta content template example actions helpers).include?(meth.to_s)
definition.send(meth, *args, &block)
finalize
+ elsif %w(defined_helper_methods defined_actions).include?(meth.to_s)
+ definition.send(meth)
elsif meth.to_s.match(/^on_(.*)_change$/)
create_change_handler(Regexp.last_match[1], *args, &block)
else
super
end