em_aws 0.1.3 → 0.1.4

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.
@@ -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