Sha256: 553480c7d136919f07b39c958b682a2e3c9d1d4a4ddd6be9b79072a018210f15
Contents?: true
Size: 789 Bytes
Versions: 40
Compression:
Stored size: 789 Bytes
Contents
module Inferno module Web module Controllers class Controller < Hanami::Action def self.call(...) new.call(...) end def self.inherited(subclass) super subclass.include Import[repo: "inferno.repositories.#{subclass.resource_name}"] subclass.config.default_request_format = :json subclass.config.default_response_format = :json subclass.define_method(:serialize) do |*args| Inferno::Web::Serializers.const_get(self.class.resource_class).render(*args) end end def self.resource_name name.split('::')[-2].underscore end def self.resource_class name.split('::')[-2].singularize end end end end end
Version data entries
40 entries across 40 versions & 1 rubygems