Skip to content

Commit 36b524e

Browse files
committed
Remove deprecation warnings
Some good points were made by @jonleighton and @myronmarston in #36 following the 1.3 release. While some or all of these aliased methods may still be removed or deprecated in version 2, it doesn't seem right to subject users of libraries that depend on multi_json to deprecation warnings that they can't do anything about.
1 parent 201b583 commit 36b524e

2 files changed

Lines changed: 10 additions & 59 deletions

File tree

lib/multi_json.rb

Lines changed: 10 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ def initialize(message, backtrace, data)
1919
["json/pure", :json_pure]
2020
]
2121

22-
# TODO: Remove for 2.0 release (but no sooner)
23-
def default_engine
24-
deprecate("MultiJson.default_engine is deprecated and will be removed in the next major version. Use MultiJson.default_adapter instead.")
25-
self.default_adapter
26-
end
27-
2822
# The default adapter based on what you currently
2923
# have loaded and installed. First checks to see
3024
# if any adapters are already loaded, then checks
@@ -46,25 +40,17 @@ def default_adapter
4640
Kernel.warn "[WARNING] MultiJson is using the default adapter (ok_json). We recommend loading a different JSON library to improve performance."
4741
:ok_json
4842
end
49-
50-
# TODO: Remove for 2.0 release (but no sooner)
51-
def engine
52-
deprecate("MultiJson.engine is deprecated and will be removed in the next major version. Use MultiJson.adapter instead.")
53-
self.adapter
54-
end
43+
# :nodoc:
44+
alias :default_engine :default_adapter
5545

5646
# Get the current adapter class.
5747
def adapter
5848
return @adapter if @adapter
5949
self.use self.default_adapter
6050
@adapter
6151
end
62-
63-
# TODO: Remove for 2.0 release (but no sooner)
64-
def engine=(new_engine)
65-
deprecate("MultiJson.engine= is deprecated and will be removed in the next major version. Use MultiJson.use instead.")
66-
self.use(new_engine)
67-
end
52+
# :nodoc:
53+
alias :engine :adapter
6854

6955
# Set the JSON parser utilizing a symbol, string, or class.
7056
# Supported by default are:
@@ -79,6 +65,8 @@ def use(new_adapter)
7965
@adapter = load_adapter(new_adapter)
8066
end
8167
alias :adapter= :use
68+
# :nodoc:
69+
alias :engine= :use
8270

8371
def load_adapter(new_adapter)
8472
case new_adapter
@@ -94,12 +82,6 @@ def load_adapter(new_adapter)
9482
end
9583
end
9684

97-
# TODO: Remove for 2.0 release (but no sooner)
98-
def decode(string, options={})
99-
deprecate("MultiJson.decode is deprecated and will be removed in the next major version. Use MultiJson.load instead.")
100-
self.load(string, options)
101-
end
102-
10385
# Decode a JSON string into Ruby.
10486
#
10587
# <b>Options</b>
@@ -112,6 +94,8 @@ def load(string, options={})
11294
rescue adapter::ParseError => exception
11395
raise DecodeError.new(exception.message, exception.backtrace, string)
11496
end
97+
# :nodoc:
98+
alias :decode :load
11599

116100
def current_adapter(options)
117101
if new_adapter = (options || {}).delete(:adapter)
@@ -121,25 +105,12 @@ def current_adapter(options)
121105
end
122106
end
123107

124-
# TODO: Remove for 2.0 release (but no sooner)
125-
def encode(object, options={})
126-
deprecate("MultiJson.encode is deprecated and will be removed in the next major version. Use MultiJson.dump instead.")
127-
self.dump(object, options)
128-
end
129-
130108
# Encodes a Ruby object as JSON.
131109
def dump(object, options={})
132110
adapter = current_adapter(options)
133111
adapter.dump(object, options)
134112
end
113+
# :nodoc:
114+
alias :encode :dump
135115

136-
# Sends of a deprecation warning
137-
def deprecate(raw_message)
138-
@messages ||= {}
139-
message = "#{Kernel.caller[1]}: [DEPRECATION] #{raw_message}"
140-
unless @messages[message]
141-
@messages[message] = true
142-
Kernel.warn message
143-
end
144-
end
145116
end

multi_json.gemspec

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,6 @@ Gem::Specification.new do |gem|
1313
gem.files = Dir['LICENSE.md', 'README.md', 'Rakefile', 'multi_json.gemspec', 'Gemfile', '.document', '.rspec', '.travis.yml' ,'spec/**/*', 'lib/**/*']
1414
gem.homepage = 'http://github.com/intridea/multi_json'
1515
gem.name = 'multi_json'
16-
gem.post_install_message =<<eos
17-
********************************************************************************
18-
19-
MultiJson.encode is deprecated and will be removed in the next major version.
20-
Use MultiJson.dump instead.
21-
22-
MultiJson.decode is deprecated and will be removed in the next major version.
23-
Use MultiJson.load instead.
24-
25-
MultiJson.engine is deprecated and will be removed in the next major version.
26-
Use MultiJson.adapter instead.
27-
28-
MultiJson.engine= is deprecated and will be removed in the next major
29-
version. Use MultiJson.use instead.
30-
31-
MultiJson.default_engine is deprecated and will be removed in the next major
32-
version. Use MultiJson.default_adapter instead.
33-
34-
********************************************************************************
35-
eos
3616
gem.rdoc_options = ["--charset=UTF-8"]
3717
gem.require_paths = ['lib']
3818
gem.required_rubygems_version = Gem::Requirement.new(">= 1.3.6")

0 commit comments

Comments
 (0)