Class: RedmineS3::Connection
- Inherits:
-
Object
- Object
- RedmineS3::Connection
- Defined in:
- lib/redmine_s3/connection.rb
Constant Summary collapse
- @@access_key_id =
nil
- @@secret_acces_key =
nil
- @@bucket =
nil
- @@uri =
nil
- @@conn =
nil
Class Method Summary collapse
- .bucket ⇒ Object
- .conn ⇒ Object
- .create_bucket ⇒ Object
- .delete(filename) ⇒ Object
- .establish_connection ⇒ Object
- .load_options ⇒ Object
- .publicly_readable!(filename) ⇒ Object
- .put(filename, data) ⇒ Object
- .uri ⇒ Object
Class Method Details
.bucket ⇒ Object
32 33 34 35 |
# File 'lib/redmine_s3/connection.rb', line 32 def self.bucket unless @@bucket @@bucket end |
.conn ⇒ Object
28 29 30 |
# File 'lib/redmine_s3/connection.rb', line 28 def self.conn @@conn || establish_connection end |
.create_bucket ⇒ Object
42 43 44 |
# File 'lib/redmine_s3/connection.rb', line 42 def self.create_bucket conn.create_bucket(bucket).http_response. end |
.delete(filename) ⇒ Object
56 57 58 |
# File 'lib/redmine_s3/connection.rb', line 56 def self.delete(filename) conn.delete(bucket, filename) end |
.establish_connection ⇒ Object
23 24 25 26 |
# File 'lib/redmine_s3/connection.rb', line 23 def self.establish_connection unless @@access_key_id && @@secret_acces_key @@conn = S3::AWSAuthConnection.new(@@access_key_id, @@secret_acces_key, false) end |
.load_options ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/redmine_s3/connection.rb', line 10 def self. = YAML::load( File.open(File.join(Rails.root, 'config', 's3.yml')) ) @@access_key_id = [Rails.env]['access_key_id'] @@secret_acces_key = [Rails.env]['secret_access_key'] @@bucket = [Rails.env]['bucket'] if [Rails.env]['cname_bucket'] == true @@uri = "http://#{@@bucket}" else @@uri = "http://s3.amazonaws.com/#{@@bucket}" end end |
.publicly_readable!(filename) ⇒ Object
50 51 52 53 54 |
# File 'lib/redmine_s3/connection.rb', line 50 def self.publicly_readable!(filename) acl_xml = conn.get_acl(bucket, filename).object.data updated_acl = S3Helper.set_acl_public_read(acl_xml) conn.put_acl(bucket, filename, updated_acl).http_response. end |
.put(filename, data) ⇒ Object
46 47 48 |
# File 'lib/redmine_s3/connection.rb', line 46 def self.put(filename, data) conn.put(bucket, filename, data) end |
.uri ⇒ Object
37 38 39 40 |
# File 'lib/redmine_s3/connection.rb', line 37 def self.uri unless @@uri @@uri end |