Sha256: d919ee57baf36106d22010011b5a6467f91d854b53d27c604cf683dd0fe51180

Contents?: true

Size: 925 Bytes

Versions: 7

Compression:

Stored size: 925 Bytes

Contents

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

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

7 entries across 7 versions & 1 rubygems

Version Path
forest_liana-1.1.4 lib/forest_liana/engine.rb
forest_liana-1.1.3 lib/forest_liana/engine.rb
forest_liana-1.1.2 lib/forest_liana/engine.rb
forest_liana-1.1.1 lib/forest_liana/engine.rb
forest_liana-1.1.0 lib/forest_liana/engine.rb
forest_liana-1.0.11 lib/forest_liana/engine.rb
forest_liana-1.0.10 lib/forest_liana/engine.rb