jets3t-rb 1.0.0

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.
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ .DS_Store
2
+ .rvmrc
data/README ADDED
File without changes
data/examples/s3.rb ADDED
@@ -0,0 +1,29 @@
1
+ $:<< 'lib'
2
+
3
+ require 'jets3t'
4
+
5
+ module JetS3t
6
+ AWS_SECRET_PATH = '~/.awssecret'.freeze
7
+ raise "#{AWS_SECRET_PATH} not found" unless File.exist?(File.expand_path(AWS_SECRET_PATH))
8
+
9
+ access_key_id, secret_access_key = File.readlines(File.expand_path(AWS_SECRET_PATH)).map(&:chomp)
10
+ credentials = AWSCredentials.new(access_key_id, secret_access_key)
11
+ s3_service = RestS3Service.new(credentials)
12
+
13
+ BUCKET_NAME = 'test-bucket-12345'
14
+ # test_bucket = s3_service.create_bucket(BUCKET_NAME, Location::EUROPE)
15
+ test_bucket = s3_service.bucket(BUCKET_NAME)
16
+
17
+ # # simple string data
18
+ # data = "Hello World!"
19
+ # test_bucket.put('test/hello/world/hello_world.txt', data)
20
+
21
+ FILE_NAME = '/tmp/hello_world.file'
22
+ PATH = 'one/two/hello_world.txt'
23
+ File.open(FILE_NAME, 'w') {|f| f.write('Hello World!') }
24
+ file = File.new(FILE_NAME)
25
+ test_bucket.put(PATH, file)
26
+
27
+ object = test_bucket.get(PATH)
28
+ p object.data
29
+ end
data/jets3t-rb.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+
3
+ $: << File.expand_path('../lib', __FILE__)
4
+
5
+ require 'jets3t/version'
6
+
7
+ Dir['ext/*.jar'].each { |jar| require jar }
8
+
9
+
10
+ Gem::Specification.new do |s|
11
+ s.name = 'jets3t-rb'
12
+ s.version = JetS3t::VERSION
13
+ s.platform = Gem::Platform::RUBY
14
+ s.authors = ['Daniel Gaiottino']
15
+ s.email = ['daniel@burtcorp.com']
16
+ s.homepage = 'http://github.com/gaiottino/jets3t-rb'
17
+ s.summary = %q{JRuby wrapper for JetS3t}
18
+ s.description = %q{JRuby wrapper for JetS3t (http://jets3t.s3.amazonaws.com/)}
19
+
20
+ s.rubyforge_project = 'jets3t-rb'
21
+
22
+ s.files = `git ls-files`.split("\n")
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
+ s.require_paths = %w(lib)
26
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
data/lib/jets3t.rb ADDED
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+
3
+ require 'java'
4
+ require 'ext/commons-httpclient-3.1'
5
+ require 'ext/commons-logging-1.1.1'
6
+ require 'ext/commons-codec-1.3'
7
+ require 'ext/java-xmlbuilder-0.4'
8
+ require 'ext/java-xmlbuilder-0.4'
9
+ require 'ext/jets3t-0.8.1'
10
+
11
+
12
+ require 'jets3t/aws_credentials'
13
+ require 'jets3t/rest_s3_service'
14
+ require 'jets3t/s3_bucket'
15
+ require 'jets3t/s3_object'
@@ -0,0 +1,9 @@
1
+ module Jar
2
+ import org.jets3t.service.security.AWSCredentials
3
+ end
4
+
5
+ module JetS3t
6
+ class AWSCredentials < Jar::AWSCredentials
7
+
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ module Jar
2
+ import org.jets3t.service.impl.rest.httpclient.RestS3Service
3
+ end
4
+
5
+ module JetS3t
6
+ class RestS3Service < Jar::RestS3Service
7
+ def bucket(name)
8
+ S3Bucket.new(self, name)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,46 @@
1
+ require 'tempfile'
2
+
3
+ module Jar
4
+ import org.jets3t.service.model.S3Bucket
5
+ import org.jets3t.service.model.S3Object
6
+ end
7
+
8
+ module JetS3t
9
+ class Location
10
+ ASIA_PACIFIC = Jar::S3Bucket::LOCATION_ASIA_PACIFIC
11
+ EUROPE = Jar::S3Bucket::LOCATION_EUROPE
12
+ US = Jar::S3Bucket::LOCATION_US
13
+ end
14
+
15
+ class S3Bucket
16
+ def initialize(s3_service, name)
17
+ @s3_service = s3_service
18
+ @bucket = @s3_service.get_bucket(name)
19
+ end
20
+
21
+ def put(path, file)
22
+ java_file = java.io.File.new(file.path)
23
+ input_stream = java.io.FileInputStream.new(java_file)
24
+
25
+ object = Jar::S3Object.new(path)
26
+ object.set_data_input_stream(input_stream)
27
+ object.set_content_length(java_file.length)
28
+ object.set_content_type('application/octet-stream')
29
+
30
+ # if args.length == 1 && (args[0].instance_of?(File) || args[0].instance_of?(TempFile))
31
+ # java_file = java.io.File.new(args[0].path)
32
+ # object = Jar::S3Object.new(java_file)
33
+ # elsif args.length == 2
34
+ # object = Jar::S3Object.new(args[0], args[1])
35
+ # else
36
+ # raise 'either put(file) or put(filename, data)'
37
+ # end
38
+
39
+ @s3_service.put_object(@bucket, object)
40
+ end
41
+
42
+ def get(filename)
43
+ S3Object.new(@s3_service.get_object(@bucket, filename))
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,15 @@
1
+ # module Jar
2
+ # import org.jets3t.service.model.S3Object
3
+ # end
4
+
5
+ module JetS3t
6
+ class S3Object
7
+ def initialize(s3_object_impl)
8
+ @s3_object = s3_object_impl
9
+ end
10
+
11
+ def data
12
+ @s3_object.get_data_input_stream.to_io.read
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+
3
+ module JetS3t
4
+ VERSION = '1.0.0'
5
+ end
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jets3t-rb
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.0.0
6
+ platform: ruby
7
+ authors:
8
+ - Daniel Gaiottino
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-07-11 00:00:00 Z
14
+ dependencies: []
15
+
16
+ description: JRuby wrapper for JetS3t (http://jets3t.s3.amazonaws.com/)
17
+ email:
18
+ - daniel@burtcorp.com
19
+ executables: []
20
+
21
+ extensions: []
22
+
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - .gitignore
27
+ - README
28
+ - examples/s3.rb
29
+ - jets3t-rb.gemspec
30
+ - lib/ext/commons-codec-1.3.jar
31
+ - lib/ext/commons-httpclient-3.1.jar
32
+ - lib/ext/commons-logging-1.1.1.jar
33
+ - lib/ext/java-xmlbuilder-0.4.jar
34
+ - lib/ext/jets3t-0.8.1.jar
35
+ - lib/jets3t.rb
36
+ - lib/jets3t/aws_credentials.rb
37
+ - lib/jets3t/rest_s3_service.rb
38
+ - lib/jets3t/s3_bucket.rb
39
+ - lib/jets3t/s3_object.rb
40
+ - lib/jets3t/version.rb
41
+ homepage: http://github.com/gaiottino/jets3t-rb
42
+ licenses: []
43
+
44
+ post_install_message:
45
+ rdoc_options: []
46
+
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ requirements: []
62
+
63
+ rubyforge_project: jets3t-rb
64
+ rubygems_version: 1.8.5
65
+ signing_key:
66
+ specification_version: 3
67
+ summary: JRuby wrapper for JetS3t
68
+ test_files: []
69
+