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