Module: S3::Helpers::Versioning
- Included in:
- S3::Helpers
- Defined in:
- lib/sinatra-s3/helpers/versioning.rb
Instance Method Summary collapse
Instance Method Details
#manage_versioning(bucket) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/sinatra-s3/helpers/versioning.rb', line 13 def manage_versioning(bucket) raise NotImplemented unless defined?(Git) only_can_write_acp bucket env['rack.input'].rewind data = env['rack.input'].read xml_request = REXML::Document.new(data).root bucket.git_init() if !bucket.versioning_enabled? && xml_request.elements['Status'].text == 'Enabled' bucket.git_destroy() if bucket.versioning_enabled? && xml_request.elements['Status'].text == 'Suspended' end |
#versioning_response_for(bit) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/sinatra-s3/helpers/versioning.rb', line 5 def versioning_response_for(bit) xml do |x| x.VersioningConfiguration :xmlns => "http://s3.amazonaws.com/doc/2006-03-01/" do x.Versioning bit.versioning_enabled? ? 'Enabled' : 'Suspended' if File.exists?(File.join(bit.fullpath, '.git')) end end end |