Remove Rails dependency

Move configuration into a Railtie.
Only dependency is now activemodel
This commit is contained in:
Adman65 2011-12-01 19:08:23 +02:00
parent ed3c510d2e
commit fffce85c5d
7 changed files with 31 additions and 15 deletions

View File

@ -13,5 +13,7 @@ Gem::Specification.new do |gem|
gem.require_paths = ["lib"]
gem.version = "0.0.1"
gem.add_dependency "rails", "~> 3.0"
gem.add_dependency 'activemodel', '~> 3.0'
gem.add_development_dependency "rails", "~> 3.0"
end

View File

@ -23,12 +23,10 @@ ActiveModel::Serialization.class_eval do
end
end
require "action_controller"
module ActionController
autoload :Serialization, "action_controller/serialization"
end
ActiveSupport.on_load(:action_controller) do
include ::ActionController::Serialization
begin
require 'action_controller'
require 'rails'
require 'railtie'
rescue LoadError => ex
# rails on installed, continuing
end

14
lib/railtie.rb Normal file
View File

@ -0,0 +1,14 @@
require 'active_model_serializers'
require 'action_controller/serialization'
module ActiveModel
module Serialization
class Railtie < ::Rails::Railtie
initializer "active_model.serialization.action_controller" do
ActiveSupport.on_load(:action_controller) do
include ::ActionController::Serilization
end
end
end
end
end

View File

@ -1,4 +1,4 @@
require 'rails'
require 'test_helper'
class Foo < Rails::Application
end

View File

@ -39,6 +39,8 @@ class RenderJsonTest < ActionController::TestCase
end
class TestController < ActionController::Base
include ActionController::Serialization
protect_from_forgery
serialization_scope :current_user