From fffce85c5d49055c13e7fb53fd4d528b5096354d Mon Sep 17 00:00:00 2001 From: Adman65 Date: Thu, 1 Dec 2011 19:08:23 +0200 Subject: [PATCH 1/4] Remove Rails dependency Move configuration into a Railtie. Only dependency is now activemodel --- active_model_serializers.gemspec | 6 ++++-- lib/action_controller/serialization.rb | 4 ++-- lib/active_model_serializers.rb | 14 ++++++-------- lib/railtie.rb | 14 ++++++++++++++ test/generators_test.rb | 2 +- test/serialization_test.rb | 4 +++- test/test_helper.rb | 2 +- 7 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 lib/railtie.rb diff --git a/active_model_serializers.gemspec b/active_model_serializers.gemspec index a6fa3dbc..7cdb2871 100644 --- a/active_model_serializers.gemspec +++ b/active_model_serializers.gemspec @@ -12,6 +12,8 @@ Gem::Specification.new do |gem| gem.name = "active_model_serializers" 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 diff --git a/lib/action_controller/serialization.rb b/lib/action_controller/serialization.rb index 7a1e4c91..97d1cd51 100644 --- a/lib/action_controller/serialization.rb +++ b/lib/action_controller/serialization.rb @@ -16,7 +16,7 @@ module ActionController # # class ApplicationController < ActionController::Base # private - # + # # def serialization_scope # current_user # end @@ -48,4 +48,4 @@ module ActionController end end end -end \ No newline at end of file +end diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index 0f1e14b9..cb4a5c7a 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -23,12 +23,10 @@ ActiveModel::Serialization.class_eval do end end -require "action_controller" - -module ActionController - autoload :Serialization, "action_controller/serialization" +begin + require 'action_controller' + require 'rails' + require 'railtie' +rescue LoadError => ex + # rails on installed, continuing end - -ActiveSupport.on_load(:action_controller) do - include ::ActionController::Serialization -end \ No newline at end of file diff --git a/lib/railtie.rb b/lib/railtie.rb new file mode 100644 index 00000000..8dbb7fbb --- /dev/null +++ b/lib/railtie.rb @@ -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 diff --git a/test/generators_test.rb b/test/generators_test.rb index 0e388633..001a1d7e 100644 --- a/test/generators_test.rb +++ b/test/generators_test.rb @@ -1,4 +1,4 @@ -require 'rails' +require 'test_helper' class Foo < Rails::Application end diff --git a/test/serialization_test.rb b/test/serialization_test.rb index 627baa8c..e4e53d1e 100644 --- a/test/serialization_test.rb +++ b/test/serialization_test.rb @@ -39,6 +39,8 @@ class RenderJsonTest < ActionController::TestCase end class TestController < ActionController::Base + include ActionController::Serialization + protect_from_forgery serialization_scope :current_user @@ -169,4 +171,4 @@ class RenderJsonTest < ActionController::TestCase get :render_json_with_serializer_api_but_without_serializer assert_match '{"serializable_object":true}', @response.body end -end \ No newline at end of file +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 009aac0b..82ca563a 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -21,4 +21,4 @@ ActiveSupport::TestCase.class_eval do setup do @routes = ::TestHelper::Routes end -end \ No newline at end of file +end From 73ecb94d243b54ae9cf41f7e07658a2ae6e9ef49 Mon Sep 17 00:00:00 2001 From: Adman65 Date: Fri, 2 Dec 2011 00:27:20 +0200 Subject: [PATCH 2/4] Remove railtie --- lib/active_model_serializers.rb | 8 ++++++-- lib/railtie.rb | 14 -------------- test/serialization_test.rb | 2 -- test/test_helper.rb | 2 ++ 4 files changed, 8 insertions(+), 18 deletions(-) delete mode 100644 lib/railtie.rb diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index cb4a5c7a..0084d1ad 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -25,8 +25,12 @@ end begin require 'action_controller' - require 'rails' - require 'railtie' + require 'action_controller/serialization' + + ActiveSupport.on_load(:action_controller) do + include ::ActionController::Serialization + end rescue LoadError => ex + puts ex # rails on installed, continuing end diff --git a/lib/railtie.rb b/lib/railtie.rb deleted file mode 100644 index 8dbb7fbb..00000000 --- a/lib/railtie.rb +++ /dev/null @@ -1,14 +0,0 @@ -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 diff --git a/test/serialization_test.rb b/test/serialization_test.rb index e4e53d1e..05abd862 100644 --- a/test/serialization_test.rb +++ b/test/serialization_test.rb @@ -39,8 +39,6 @@ class RenderJsonTest < ActionController::TestCase end class TestController < ActionController::Base - include ActionController::Serialization - protect_from_forgery serialization_scope :current_user diff --git a/test/test_helper.rb b/test/test_helper.rb index 82ca563a..2942aa58 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -7,6 +7,8 @@ require "active_model_serializers" require "active_support/json" require "test/unit" +require 'rails' + module TestHelper Routes = ActionDispatch::Routing::RouteSet.new Routes.draw do From 5c463adcfadb46d5e926b89f34f66cafcd1c654a Mon Sep 17 00:00:00 2001 From: Adman65 Date: Fri, 2 Dec 2011 00:28:10 +0200 Subject: [PATCH 3/4] Make test task default --- Rakefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Rakefile b/Rakefile index 8dc5b3aa..0a1d1f00 100644 --- a/Rakefile +++ b/Rakefile @@ -9,3 +9,5 @@ Rake::TestTask.new(:test) do |t| t.pattern = 'test/**/*_test.rb' t.verbose = true end + +task :default => :test From 2719502286e050568d7bfaa4974ce506714fd98b Mon Sep 17 00:00:00 2001 From: Adman65 Date: Fri, 2 Dec 2011 18:17:38 +0200 Subject: [PATCH 4/4] Remove puts --- lib/active_model_serializers.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index 0084d1ad..a06f5b27 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -31,6 +31,5 @@ begin include ::ActionController::Serialization end rescue LoadError => ex - puts ex # rails on installed, continuing end