lib/bidu/house/report.rb in bidu-house-1.2.0 vs lib/bidu/house/report.rb in bidu-house-1.3.0

- old
+ new

@@ -3,19 +3,20 @@ class Report include JsonParser require 'bidu/house/report/active_record' require 'bidu/house/report/error' require 'bidu/house/report/range' + require 'bidu/house/report/multiple' ALLOWED_PARAMETERS = [] DEFAULT_OPTION = {} attr_reader :json json_parse :id, case: :snake def initialize(options = {}) - @json = DEFAULT_OPTION.merge(options) + @json = default_option.merge(options) end def status @status ||= error? ? :error : :ok end @@ -24,9 +25,20 @@ raise 'Not implemented yet' end def as_json { status: status } + end + + private + + def default_option + self.class.default_options + end + + def self.default_options + return {} if self == Report + self.superclass.default_options.merge(self::DEFAULT_OPTION) end end end end