Sha256: d248436cfc75ee85d4402b2b70df4c5a8cc0b94a4599aa2fc507f2188ca297ba

Contents?: true

Size: 945 Bytes

Versions: 4

Compression:

Stored size: 945 Bytes

Contents

require 'rack/cors'
require 'stripe'
require 'jsonapi-serializers'
require 'groupdate'

module ForestLiana
  class Engine < ::Rails::Engine
    isolate_namespace ForestLiana

    config.middleware.insert_before 0, 'Rack::Cors' do
      allow do
        origins '*'
        resource '*', headers: :any, methods: :any
      end
    end

    unless Rails.env.test?
      config.after_initialize do
        SchemaUtils.tables_names.map do |table_name|
          model = SchemaUtils.find_model_from_table_name(table_name)
          SerializerFactory.new.serializer_for(model) if \
            model.try(:table_exists?)
        end

        # Monkey patch the find_serializer_class_name method to specify the good
        # serializer to use.
        JSONAPI::Serializer.class_eval do
          def self.find_serializer_class_name(obj)
            SerializerFactory.get_serializer_name(obj.class)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
forest_liana-1.1.8 lib/forest_liana/engine.rb
forest_liana-1.1.7 lib/forest_liana/engine.rb
forest_liana-1.1.6 lib/forest_liana/engine.rb
forest_liana-1.1.5 lib/forest_liana/engine.rb