Skip to content

Commit 005fbf5

Browse files
committed
Reduce hard dependency on railties and active_model
1 parent 485c4ae commit 005fbf5

File tree

5 files changed

+18
-12
lines changed

5 files changed

+18
-12
lines changed

Gemfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ source 'https://rubygems.org'
44
gemspec
55

66
gem "rake"
7+
gem "railties"
8+
gem "activemodel"

lib/msgpack_rails.rb

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
require "active_support"
2-
require "active_model"
32
require "msgpack_rails/version"
43
require "msgpack_rails/activesupport/message_pack"
5-
require "msgpack_rails/activemodel/serializers/message_pack"
64

75
module ActiveSupport
86
eager_autoload do
97
autoload :MessagePack
108
end
119
end
1210

13-
module ActiveModel
14-
module Serializers
15-
eager_autoload do
16-
autoload :MessagePack
11+
if defined?(ActiveModel)
12+
require "msgpack_rails/activemodel/serializers/message_pack"
13+
14+
module ActiveModel
15+
module Serializers
16+
eager_autoload do
17+
autoload :MessagePack
18+
end
1719
end
1820
end
1921
end
2022

21-
module MsgpackRails
22-
class Rails < ::Rails::Engine
23-
initializer "msgpack_rails" do
24-
::ActiveRecord::Base.send(:include, ActiveModel::Serializers::MessagePack)
23+
if defined?(::Rails)
24+
module MsgpackRails
25+
class Rails < ::Rails::Engine
26+
initializer "msgpack_rails" do
27+
::ActiveRecord::Base.send(:include, ActiveModel::Serializers::MessagePack)
28+
end
2529
end
2630
end
2731
end

lib/msgpack_rails/activemodel/serializers/message_pack.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
require "active_model"
12
require "msgpack_rails/activesupport/message_pack"
23

34
module ActiveModel

msgpack_rails.gemspec

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,5 @@ Gem::Specification.new do |spec|
1919
spec.require_paths = ["lib"]
2020

2121
spec.add_runtime_dependency "activesupport", ">= 3.0"
22-
spec.add_runtime_dependency "activemodel", ">= 3.0"
23-
spec.add_runtime_dependency "railties", ">= 3.0"
2422
spec.add_runtime_dependency "msgpack"
2523
end

test/msgpack_rails/serializer_test.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require_relative "../test_helper"
2+
require "msgpack_rails/activemodel/serializers/message_pack"
23
require_relative "models/contact"
34

45
class Contact

0 commit comments

Comments
 (0)