active_model_serializers/lib/active_model_serializers.rb
Adman65 fffce85c5d Remove Rails dependency
Move configuration into a Railtie.
Only dependency is now activemodel
2011-12-01 19:10:56 +02:00

33 lines
853 B
Ruby

require "active_model"
require "active_model/serializer"
ActiveModel::Serialization.class_eval do
extend ActiveSupport::Concern
module ClassMethods #:nodoc:
def active_model_serializer
return @active_model_serializer if defined?(@active_model_serializer)
# Use safe constantize when Rails 3.2 is out
begin
@active_model_serializer = "#{self.name}Serializer".constantize
rescue NameError => e
raise unless e.message =~ /uninitialized constant$/ && e.name.to_s == "#{self.name}Serializer"
end
end
end
# Returns a model serializer for this object considering its namespace.
def active_model_serializer
self.class.active_model_serializer
end
end
begin
require 'action_controller'
require 'rails'
require 'railtie'
rescue LoadError => ex
# rails on installed, continuing
end