engineyard-serverside 2.8.0 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/engineyard-serverside.rb +2 -5
  3. data/lib/engineyard-serverside/configuration.rb +3 -3
  4. data/lib/engineyard-serverside/deploy.rb +2 -1
  5. data/lib/engineyard-serverside/version.rb +1 -1
  6. metadata +46 -126
  7. data/features/enable_maintenance/step_definitions/enable_maintenance_steps.rb +0 -43
  8. data/features/step_definitions/app_steps.rb +0 -10
  9. data/features/step_definitions/server_steps.rb +0 -14
  10. data/lib/vendor/json_pure/COPYING +0 -57
  11. data/lib/vendor/json_pure/GPL +0 -340
  12. data/lib/vendor/json_pure/README.rdoc +0 -358
  13. data/lib/vendor/json_pure/VERSION +0 -1
  14. data/lib/vendor/json_pure/lib/json.rb +0 -62
  15. data/lib/vendor/json_pure/lib/json/add/bigdecimal.rb +0 -28
  16. data/lib/vendor/json_pure/lib/json/add/complex.rb +0 -22
  17. data/lib/vendor/json_pure/lib/json/add/core.rb +0 -11
  18. data/lib/vendor/json_pure/lib/json/add/date.rb +0 -34
  19. data/lib/vendor/json_pure/lib/json/add/date_time.rb +0 -48
  20. data/lib/vendor/json_pure/lib/json/add/exception.rb +0 -31
  21. data/lib/vendor/json_pure/lib/json/add/ostruct.rb +0 -31
  22. data/lib/vendor/json_pure/lib/json/add/range.rb +0 -29
  23. data/lib/vendor/json_pure/lib/json/add/rational.rb +0 -22
  24. data/lib/vendor/json_pure/lib/json/add/regexp.rb +0 -30
  25. data/lib/vendor/json_pure/lib/json/add/struct.rb +0 -30
  26. data/lib/vendor/json_pure/lib/json/add/symbol.rb +0 -25
  27. data/lib/vendor/json_pure/lib/json/add/time.rb +0 -38
  28. data/lib/vendor/json_pure/lib/json/common.rb +0 -484
  29. data/lib/vendor/json_pure/lib/json/ext.rb +0 -21
  30. data/lib/vendor/json_pure/lib/json/generic_object.rb +0 -70
  31. data/lib/vendor/json_pure/lib/json/pure.rb +0 -21
  32. data/lib/vendor/json_pure/lib/json/pure/generator.rb +0 -522
  33. data/lib/vendor/json_pure/lib/json/pure/parser.rb +0 -359
  34. data/lib/vendor/json_pure/lib/json/version.rb +0 -8
  35. data/lib/vendor/multi_json/CHANGELOG.md +0 -121
  36. data/lib/vendor/multi_json/CONTRIBUTING.md +0 -46
  37. data/lib/vendor/multi_json/Gemfile +0 -31
  38. data/lib/vendor/multi_json/LICENSE.md +0 -20
  39. data/lib/vendor/multi_json/README.md +0 -105
  40. data/lib/vendor/multi_json/Rakefile +0 -12
  41. data/lib/vendor/multi_json/lib/multi_json.rb +0 -137
  42. data/lib/vendor/multi_json/lib/multi_json/adapters/gson.rb +0 -20
  43. data/lib/vendor/multi_json/lib/multi_json/adapters/json_common.rb +0 -35
  44. data/lib/vendor/multi_json/lib/multi_json/adapters/json_gem.rb +0 -12
  45. data/lib/vendor/multi_json/lib/multi_json/adapters/json_pure.rb +0 -12
  46. data/lib/vendor/multi_json/lib/multi_json/adapters/nsjsonserialization.rb +0 -35
  47. data/lib/vendor/multi_json/lib/multi_json/adapters/oj.rb +0 -29
  48. data/lib/vendor/multi_json/lib/multi_json/adapters/ok_json.rb +0 -58
  49. data/lib/vendor/multi_json/lib/multi_json/adapters/yajl.rb +0 -20
  50. data/lib/vendor/multi_json/lib/multi_json/vendor/okjson.rb +0 -602
  51. data/lib/vendor/multi_json/lib/multi_json/version.rb +0 -3
  52. data/lib/vendor/multi_json/spec/adapter_shared_example.rb +0 -162
  53. data/lib/vendor/multi_json/spec/helper.rb +0 -45
  54. data/lib/vendor/multi_json/spec/json_common_shared_example.rb +0 -36
  55. data/lib/vendor/multi_json/spec/multi_json_spec.rb +0 -151
@@ -1,3 +0,0 @@
1
- module MultiJson
2
- VERSION = "1.6.1" unless defined?(MultiJson::VERSION)
3
- end
@@ -1,162 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- shared_examples_for 'an adapter' do |adapter|
4
-
5
- before do
6
- begin
7
- MultiJson.use adapter
8
- rescue LoadError
9
- pending "Adapter #{adapter} couldn't be loaded (not installed?)"
10
- end
11
- end
12
-
13
- describe '.dump' do
14
- it 'writes decodable JSON' do
15
- [
16
- {'abc' => 'def'},
17
- [1, 2, 3, '4', true, false, nil]
18
- ].each do |example|
19
- expect(MultiJson.load(MultiJson.dump(example))).to eq example
20
- end
21
- end
22
-
23
- unless 'json_pure' == adapter || 'json_gem' == adapter
24
- it 'dumps time in correct format' do
25
- time = Time.at(1355218745).utc
26
-
27
- # time does not respond to to_json method
28
- class << time
29
- undef_method :to_json
30
- end
31
-
32
- dumped_json = MultiJson.dump(time)
33
- expected = if RUBY_VERSION > '1.9'
34
- '2012-12-11 09:39:05 UTC'
35
- else
36
- 'Tue Dec 11 09:39:05 UTC 2012'
37
- end
38
- expect(MultiJson.load(dumped_json)).to eq expected
39
- end
40
- end
41
-
42
- it 'dumps symbol and fixnum keys as strings' do
43
- [
44
- [
45
- {:foo => {:bar => 'baz'}},
46
- {'foo' => {'bar' => 'baz'}},
47
- ],
48
- [
49
- [{:foo => {:bar => 'baz'}}],
50
- [{'foo' => {'bar' => 'baz'}}],
51
- ],
52
- [
53
- {:foo => [{:bar => 'baz'}]},
54
- {'foo' => [{'bar' => 'baz'}]},
55
- ],
56
- [
57
- {1 => {2 => {3 => 'bar'}}},
58
- {'1' => {'2' => {'3' => 'bar'}}}
59
- ]
60
- ].each do |example, expected|
61
- dumped_json = MultiJson.dump(example)
62
- expect(MultiJson.load(dumped_json)).to eq expected
63
- end
64
- end
65
-
66
- it 'dumps rootless JSON' do
67
- expect(MultiJson.dump('random rootless string')).to eq '"random rootless string"'
68
- expect(MultiJson.dump(123)).to eq '123'
69
- end
70
-
71
- it 'passes options to the adapter' do
72
- MultiJson.adapter.should_receive(:dump).with('foo', {:bar => :baz})
73
- MultiJson.dump('foo', :bar => :baz)
74
- end
75
-
76
- # This behavior is currently not supported by gson.rb
77
- # See discussion at https://github.com/intridea/multi_json/pull/71
78
- unless adapter == 'gson'
79
- it 'dumps custom objects that implement to_json' do
80
- klass = Class.new do
81
- def to_json(*)
82
- '"foobar"'
83
- end
84
- end
85
- expect(MultiJson.dump(klass.new)).to eq '"foobar"'
86
- end
87
- end
88
-
89
- it 'allows to dump JSON values' do
90
- expect(MultiJson.dump(42)).to eq '42'
91
- end
92
-
93
- it 'allows to dump JSON with UTF-8 characters' do
94
- expect(MultiJson.dump({'color' => 'żółć'})).to eq('{"color":"żółć"}')
95
- end
96
- end
97
-
98
- describe '.load' do
99
- it 'properly loads valid JSON' do
100
- expect(MultiJson.load('{"abc":"def"}')).to eq({'abc' => 'def'})
101
- end
102
-
103
- it 'raises MultiJson::LoadError on invalid JSON' do
104
- expect{MultiJson.load('{"abc"}')}.to raise_error(MultiJson::LoadError)
105
- end
106
-
107
- it 'raises MultiJson::LoadError with data on invalid JSON' do
108
- data = '{invalid}'
109
- begin
110
- MultiJson.load(data)
111
- rescue MultiJson::LoadError => le
112
- expect(le.data).to eq data
113
- end
114
- end
115
-
116
- it 'catches MultiJson::DecodeError for legacy support' do
117
- data = '{invalid}'
118
- begin
119
- MultiJson.load(data)
120
- rescue MultiJson::DecodeError => de
121
- expect(de.data).to eq data
122
- end
123
- end
124
-
125
- it 'stringifys symbol keys when encoding' do
126
- dumped_json = MultiJson.dump(:a => 1, :b => {:c => 2})
127
- expect(MultiJson.load(dumped_json)).to eq({'a' => 1, 'b' => {'c' => 2}})
128
- end
129
-
130
- it 'properly loads valid JSON in StringIOs' do
131
- json = StringIO.new('{"abc":"def"}')
132
- expect(MultiJson.load(json)).to eq({'abc' => 'def'})
133
- end
134
-
135
- it 'allows for symbolization of keys' do
136
- [
137
- [
138
- '{"abc":{"def":"hgi"}}',
139
- {:abc => {:def => 'hgi'}},
140
- ],
141
- [
142
- '[{"abc":{"def":"hgi"}}]',
143
- [{:abc => {:def => 'hgi'}}],
144
- ],
145
- [
146
- '{"abc":[{"def":"hgi"}]}',
147
- {:abc => [{:def => 'hgi'}]},
148
- ],
149
- ].each do |example, expected|
150
- expect(MultiJson.load(example, :symbolize_keys => true)).to eq expected
151
- end
152
- end
153
-
154
- it 'allows to load JSON values' do
155
- expect(MultiJson.load('42')).to eq 42
156
- end
157
-
158
- it 'allows to load JSON with UTF-8 characters' do
159
- expect(MultiJson.load('{"color":"żółć"}')).to eq({'color' => 'żółć'})
160
- end
161
- end
162
- end
@@ -1,45 +0,0 @@
1
- if !ENV['CI'] && defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby'
2
- require 'simplecov'
3
- SimpleCov.start do
4
- add_filter 'vendor'
5
- end
6
- end
7
-
8
- require 'multi_json'
9
- require 'rspec'
10
-
11
- RSpec.configure do |config|
12
- config.expect_with :rspec do |c|
13
- c.syntax = :expect
14
- end
15
- end
16
-
17
- def macruby?
18
- defined?(RUBY_ENGINE) && RUBY_ENGINE == 'macruby'
19
- end
20
-
21
- def jruby?
22
- defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
23
- end
24
-
25
- class MockDecoder
26
- def self.load(string, options={})
27
- {'abc' => 'def'}
28
- end
29
-
30
- def self.dump(string)
31
- '{"abc":"def"}'
32
- end
33
- end
34
-
35
- module MockModuleDecoder
36
- extend self
37
-
38
- def load(string, options={})
39
- {'abc' => 'def'}
40
- end
41
-
42
- def dump(string)
43
- '{"abc":"def"}'
44
- end
45
- end
@@ -1,36 +0,0 @@
1
- shared_examples_for 'JSON-like adapter' do |adapter|
2
- before do
3
- begin
4
- MultiJson.use adapter
5
- rescue LoadError
6
- pending "Adapter #{adapter} couldn't be loaded (not installed?)"
7
- end
8
- end
9
-
10
- describe '.dump' do
11
- describe 'with :pretty option set to true' do
12
- it 'passes default pretty options' do
13
- object = 'foo'
14
- object.should_receive(:to_json).with(JSON::PRETTY_STATE_PROTOTYPE.to_h).and_return('["foo"]')
15
- MultiJson.dump(object, :pretty => true)
16
- end
17
- end
18
-
19
- describe 'with :indent option' do
20
- it 'passes it on dump' do
21
- object = 'foo'
22
- object.should_receive(:to_json).with(:indent => "\t").and_return('["foo"]')
23
- MultiJson.dump(object, :indent => "\t")
24
- end
25
- end
26
- end
27
-
28
- describe '.load' do
29
- describe 'with :quirks_mode option' do
30
- it 'passes it on load' do
31
- ::JSON.should_receive(:parse).with('["foo"]', {:quirks_mode => true, :create_additions => false}).and_return(['foo'])
32
- MultiJson.load('"foo"', :quirks_mode => true)
33
- end
34
- end
35
- end
36
- end
@@ -1,151 +0,0 @@
1
- require 'helper'
2
- require 'adapter_shared_example'
3
- require 'json_common_shared_example'
4
- require 'stringio'
5
-
6
- describe 'MultiJson' do
7
- context 'adapters' do
8
- before{ MultiJson.use nil }
9
-
10
- context 'when no other json implementations are available' do
11
- before do
12
- @old_map = MultiJson::REQUIREMENT_MAP
13
- @old_json = Object.const_get :JSON if Object.const_defined?(:JSON)
14
- @old_oj = Object.const_get :Oj if Object.const_defined?(:Oj)
15
- @old_yajl = Object.const_get :Yajl if Object.const_defined?(:Yajl)
16
- @old_gson = Object.const_get :Gson if Object.const_defined?(:Gson)
17
- MultiJson::REQUIREMENT_MAP.each_with_index do |(library, adapter), index|
18
- MultiJson::REQUIREMENT_MAP[index] = ["foo/#{library}", adapter]
19
- end
20
- Object.send :remove_const, :JSON if @old_json
21
- Object.send :remove_const, :Oj if @old_oj
22
- Object.send :remove_const, :Yajl if @old_yajl
23
- Object.send :remove_const, :Gson if @old_gson
24
- end
25
-
26
- after do
27
- @old_map.each_with_index do |(library, adapter), index|
28
- MultiJson::REQUIREMENT_MAP[index] = [library, adapter]
29
- end
30
- Object.const_set :JSON, @old_json if @old_json
31
- Object.const_set :Oj, @old_oj if @old_oj
32
- Object.const_set :Yajl, @old_yajl if @old_yajl
33
- Object.const_set :Gson, @old_gson if @old_gson
34
- end
35
-
36
- it 'defaults to ok_json if no other json implementions are available' do
37
- Kernel.stub(:warn)
38
- expect(MultiJson.default_adapter).to eq :ok_json
39
- end
40
-
41
- it 'prints a warning' do
42
- Kernel.should_receive(:warn).with(/warning/i)
43
- MultiJson.default_adapter
44
- end
45
- end
46
-
47
- it 'defaults to the best available gem' do
48
- # Clear cache variable already set by previous tests
49
- MultiJson.send(:remove_instance_variable, :@adapter)
50
- unless jruby?
51
- require 'oj'
52
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::Oj'
53
- else
54
- require 'json'
55
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::JsonGem'
56
- end
57
- end
58
-
59
- it 'looks for adapter even if @adapter variable is nil' do
60
- MultiJson.send(:instance_variable_set, :@adapter, nil)
61
- MultiJson.should_receive(:default_adapter).and_return(:ok_json)
62
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::OkJson'
63
- end
64
-
65
- it 'is settable via a symbol' do
66
- MultiJson.use :json_gem
67
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::JsonGem'
68
- end
69
-
70
- it 'is settable via a class' do
71
- MultiJson.use MockDecoder
72
- expect(MultiJson.adapter.name).to eq 'MockDecoder'
73
- end
74
-
75
- it 'is settable via a module' do
76
- MultiJson.use MockModuleDecoder
77
- expect(MultiJson.adapter.name).to eq 'MockModuleDecoder'
78
- end
79
-
80
- context 'using one-shot parser' do
81
- before do
82
- require 'multi_json/adapters/json_pure'
83
- MultiJson::Adapters::JsonPure.should_receive(:dump).exactly(1).times.and_return('dump_something')
84
- MultiJson::Adapters::JsonPure.should_receive(:load).exactly(1).times.and_return('load_something')
85
- end
86
-
87
- it 'should use the defined parser just for the call' do
88
- MultiJson.use :json_gem
89
- expect(MultiJson.dump('', :adapter => :json_pure)).to eq 'dump_something'
90
- expect(MultiJson.load('', :adapter => :json_pure)).to eq 'load_something'
91
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::JsonGem'
92
- end
93
- end
94
- end
95
-
96
- it 'can set adapter for a block' do
97
- MultiJson.use :ok_json
98
- MultiJson.with_adapter(:json_pure) do
99
- MultiJson.with_engine(:json_gem) do
100
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::JsonGem'
101
- end
102
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::JsonPure'
103
- end
104
- expect(MultiJson.adapter.name).to eq 'MultiJson::Adapters::OkJson'
105
- end
106
-
107
- it 'JSON gem does not create symbols on parse' do
108
- MultiJson.with_engine(:json_gem) do
109
- MultiJson.load('{"json_class":"ZOMG"}') rescue nil
110
-
111
- expect{
112
- MultiJson.load('{"json_class":"OMG"}') rescue nil
113
- }.to_not change{Symbol.all_symbols.count}
114
- end
115
- end
116
-
117
- unless jruby?
118
- it 'Oj does not create symbols on parse' do
119
- MultiJson.with_engine(:oj) do
120
- MultiJson.load('{"json_class":"ZOMG"}') rescue nil
121
-
122
- expect{
123
- MultiJson.load('{"json_class":"OMG"}') rescue nil
124
- }.to_not change{Symbol.all_symbols.count}
125
- end
126
- end
127
- end
128
-
129
- it 'has default_options setter' do
130
- MultiJson.use MockDecoder
131
- MockDecoder.should_receive(:dump).with('123', :foo => 'lol', :bar => 'bar', :fizz => 'buzz')
132
- MultiJson.default_options = { :foo => 'foo', :bar => 'bar' }
133
- MultiJson.dump('123', :fizz => 'buzz', :foo => 'lol')
134
- MultiJson.default_options = {}
135
- end
136
-
137
- %w(gson json_gem json_pure nsjsonserialization oj ok_json yajl).each do |adapter|
138
- next if adapter == 'gson' && !jruby?
139
- next if adapter == 'nsjsonserialization' && !macruby?
140
- next if jruby? && (adapter == 'oj' || adapter == 'yajl')
141
- context adapter do
142
- it_behaves_like 'an adapter', adapter
143
- end
144
- end
145
-
146
- %w(json_gem json_pure).each do |adapter|
147
- context adapter do
148
- it_behaves_like 'JSON-like adapter', adapter
149
- end
150
- end
151
- end