engineyard-serverside 2.8.0 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
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