em_aws 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- em_aws (0.1.3)
4
+ em_aws (0.1.4)
5
5
  aws-sdk
6
6
  em-http-request
7
7
  em-synchrony
@@ -15,6 +15,7 @@ GEM
15
15
  json (~> 1.4)
16
16
  nokogiri (>= 1.4.4)
17
17
  uuidtools (~> 2.1)
18
+ builder (3.0.0)
18
19
  cookiejar (0.3.0)
19
20
  diff-lcs (1.1.3)
20
21
  em-http-request (1.0.2)
@@ -28,27 +29,33 @@ GEM
28
29
  em-synchrony (1.0.1)
29
30
  eventmachine (>= 1.0.0.beta.1)
30
31
  eventmachine (1.0.0.beta.4)
32
+ eventmachine (1.0.0.beta.4-java)
31
33
  http_parser.rb (0.5.3)
34
+ http_parser.rb (0.5.3-java)
32
35
  httparty (0.8.3)
33
36
  multi_json (~> 1.0)
34
37
  multi_xml
35
38
  json (1.7.3)
36
- multi_json (1.3.5)
39
+ json (1.7.3-java)
40
+ multi_json (1.3.6)
37
41
  multi_xml (0.5.1)
38
- nokogiri (1.5.2)
42
+ nokogiri (1.5.3)
43
+ nokogiri (1.5.3-java)
39
44
  rspec (2.10.0)
40
45
  rspec-core (~> 2.10.0)
41
46
  rspec-expectations (~> 2.10.0)
42
47
  rspec-mocks (~> 2.10.0)
43
- rspec-core (2.10.0)
48
+ rspec-core (2.10.1)
44
49
  rspec-expectations (2.10.0)
45
50
  diff-lcs (~> 1.1.3)
46
51
  rspec-mocks (2.10.1)
47
52
  uuidtools (2.1.2)
48
53
 
49
54
  PLATFORMS
55
+ java
50
56
  ruby
51
57
 
52
58
  DEPENDENCIES
59
+ builder
53
60
  em_aws!
54
61
  rspec
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_runtime_dependency "em-synchrony"
19
19
  s.add_runtime_dependency "em-http-request"
20
20
  s.add_development_dependency "rspec"
21
+ s.add_development_dependency "builder"
21
22
 
22
23
  s.files = `git ls-files`.split("\n")
23
24
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -88,8 +88,6 @@ module AWS
88
88
  merge(fetch_ssl(request))
89
89
  end
90
90
 
91
- # We get AWS::S3::SignatureDoesNotMatch when path is used to fetch an s3 object
92
- # so for now we won't use the pool for requests where the path is more than just '/'
93
91
  def fetch_response(url,method,opts={})
94
92
  return EM::HttpRequest.new("#{url}").send(method, opts)
95
93
  end
@@ -110,8 +108,8 @@ module AWS
110
108
  # get, post, put, delete, head
111
109
  method = request.http_method.downcase.to_sym
112
110
 
113
- opts = default_request_options.
114
- merge(request_options(request))
111
+ opts = default_request_options.merge(request_options(request))
112
+
115
113
  if (method == :get)
116
114
  opts[:query] = request.body
117
115
  else
@@ -22,3 +22,6 @@ module AWS
22
22
  end
23
23
  end
24
24
  end
25
+
26
+ # Load monkey patch after loading aws
27
+ require 'em_aws/core/session_signer'
@@ -0,0 +1,14 @@
1
+ require 'em-synchrony/thread'
2
+ module AWS
3
+ module Core
4
+ class SessionSigner
5
+ @create_mutex = EM::Synchrony::Thread::Mutex.new
6
+
7
+ # Monkey patch to use EM::Synchrony::Thread::Mutex instead of ::Mutex
8
+ def initialize config
9
+ @config = config
10
+ @session_mutex = EM::Synchrony::Thread::Mutex.new
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module EmAws
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -6,5 +6,12 @@ describe AWS::Core::SessionSigner do
6
6
  AWS::Core::SessionSigner.instance_variable_get(:@create_mutex).should be_kind_of(EM::Synchrony::Thread::Mutex)
7
7
  end
8
8
  end
9
- end
10
9
 
10
+ context '@session_mutex' do
11
+ let(:config) { double("config").as_null_object }
12
+ it "should be a fiber safe mutex" do
13
+ session_signer = AWS::Core::SessionSigner.new(config)
14
+ session_signer.instance_variable_get(:@session_mutex).should be_kind_of(EM::Synchrony::Thread::Mutex)
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em_aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-16 00:00:00.000000000Z
12
+ date: 2012-06-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-sdk
16
- requirement: &70246363093540 !ruby/object:Gem::Requirement
16
+ requirement: &70341995956080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70246363093540
24
+ version_requirements: *70341995956080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: em-synchrony
27
- requirement: &70246363093020 !ruby/object:Gem::Requirement
27
+ requirement: &70341995955620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70246363093020
35
+ version_requirements: *70341995955620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: em-http-request
38
- requirement: &70246363092500 !ruby/object:Gem::Requirement
38
+ requirement: &70341995955200 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70246363092500
46
+ version_requirements: *70341995955200
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70246363091940 !ruby/object:Gem::Requirement
49
+ requirement: &70341995954780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,18 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70246363091940
57
+ version_requirements: *70341995954780
58
+ - !ruby/object:Gem::Dependency
59
+ name: builder
60
+ requirement: &70341995954240 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70341995954240
58
69
  description: Adds EM-Synchrony support to AWS-SDK gem
59
70
  email:
60
71
  - joshmckin@gmail.com
@@ -71,8 +82,8 @@ files:
71
82
  - Rakefile
72
83
  - em_aws.gemspec
73
84
  - lib/aws/core/http/em_http_handler.rb
74
- - lib/aws/core/session_signer.rb
75
85
  - lib/em_aws.rb
86
+ - lib/em_aws/core/session_signer.rb
76
87
  - lib/em_aws/version.rb
77
88
  - spec/em_http_handler_spec.rb
78
89
  - spec/session_signer_spec.rb
@@ -1,8 +0,0 @@
1
- require 'em-synchrony/thread'
2
- module AWS
3
- module Core
4
- class SessionSigner
5
- @create_mutex = EM::Synchrony::Thread::Mutex.new
6
- end
7
- end
8
- end