diff --git a/lib/alba/resource.rb b/lib/alba/resource.rb index 1c63fc8..2dc62ef 100644 --- a/lib/alba/resource.rb +++ b/lib/alba/resource.rb @@ -8,6 +8,7 @@ module Alba module Resource DSLS = [:_attributes, :_serializer, :_key].freeze def self.included(base) + super base.class_eval do # Initialize DSLS.each do |name| @@ -91,6 +92,7 @@ module ClassMethods attr_reader(*DSLS) def inherited(subclass) + super DSLS.each { |name| subclass.instance_variable_set("@#{name}", instance_variable_get("@#{name}")) } end diff --git a/lib/alba/serializer.rb b/lib/alba/serializer.rb index fee1591..b2511e5 100644 --- a/lib/alba/serializer.rb +++ b/lib/alba/serializer.rb @@ -2,6 +2,7 @@ module Alba # This module represents how a resource should be serialized. module Serializer def self.included(base) + super base.include InstanceMethods base.extend ClassMethods end @@ -43,6 +44,7 @@ module ClassMethods attr_reader :_opts, :_metadata def inherited(subclass) + super %w[_opts _metadata].each { |name| subclass.instance_variable_set("@#{name}", instance_variable_get("@#{name}")) } end