Sha256: 411405f386de64c50b057cc30c753d7f1d6be61d0d34d43268c6517aa65fe2f6

Contents?: true

Size: 749 Bytes

Versions: 1

Compression:

Stored size: 749 Bytes

Contents

require 'active_support/descendants_tracker'
require 'active_support/core_ext/module/delegation'

module JSONAPIonify::Api
  class Base
    extend JSONAPIonify::Autoload
    autoload_all
    extend AppBuilder
    extend DocHelper
    extend ClassMethods
    extend Delegation
    extend ResourceDefinitions

    def self.inherited(subclass)
      super(subclass)
      file           = caller.reject { |f| f.start_with? JSONAPIonify.path }[0].split(/\:\d/)[0]
      dir            = File.expand_path File.dirname(file)
      basename       = File.basename(file, File.extname(file))
      self.load_path = File.join(dir, basename)
      subclass.const_set(:ResourceBase, Class.new(Resource).set_api(subclass))
      load_resources
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jsonapionify-0.0.1.pre lib/jsonapionify/api/base.rb