cloud_connect 2.0.2 → 3.0.3

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/lib/ext/module.rb DELETED
@@ -1,59 +0,0 @@
1
- # From active_support
2
- #
3
- # http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/module/delegation.rb
4
- # http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/module/remove_method.rb
5
- class Module
6
-
7
- # Used by delegate
8
- # @see http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/module/remove_method.rb
9
- def remove_possible_method(method)
10
- remove_method(method)
11
- rescue NameError
12
- end
13
-
14
- # Provides a delegate class method to easily expose contained objects' methods
15
- # as your own. Pass one or more methods (specified as symbols or strings)
16
- # and the name of the target object via the <tt>:to</tt> option (also a symbol
17
- # or string). At least one method and the <tt>:to</tt> option are required.
18
- # @see http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/module/delegation.rb
19
- def delegate(*methods)
20
- options = methods.pop
21
- unless options.is_a?(Hash) && to = options[:to]
22
- raise ArgumentError, "Delegation needs a target. Supply an options hash with a :to key as the last argument (e.g. delegate :hello, :to => :greeter)."
23
- end
24
-
25
- if options[:prefix] == true && options[:to].to_s =~ /^[^a-z_]/
26
- raise ArgumentError, "Can only automatically set the delegation prefix when delegating to a method."
27
- end
28
-
29
- prefix = options[:prefix] && "#{options[:prefix] == true ? to : options[:prefix]}_" || ''
30
-
31
- file, line = caller.first.split(':', 2)
32
- line = line.to_i
33
-
34
- methods.each do |method|
35
- on_nil =
36
- if options[:allow_nil]
37
- 'return'
38
- else
39
- %(raise "#{self}##{prefix}#{method} delegated to #{to}.#{method}, but #{to} is nil: \#{self.inspect}")
40
- end
41
-
42
- module_eval(<<-EOS, file, line - 5)
43
- if instance_methods(false).map(&:to_s).include?("#{prefix}#{method}")
44
- remove_possible_method("#{prefix}#{method}")
45
- end
46
-
47
- def #{prefix}#{method}(*args, &block) # def customer_name(*args, &block)
48
- #{to}.__send__(#{method.inspect}, *args, &block) # client.__send__(:name, *args, &block)
49
- rescue NoMethodError # rescue NoMethodError
50
- if #{to}.nil? # if client.nil?
51
- #{on_nil} # return # depends on :allow_nil
52
- else # else
53
- raise # raise
54
- end # end
55
- end # end
56
- EOS
57
- end
58
- end
59
- end
data/lib/ext/object.rb DELETED
@@ -1,57 +0,0 @@
1
- class Object
2
- # mainly from active_support on http://github.com/rails/rails/
3
-
4
- # Returns +value+ after yielding +value+ to the block. This simplifies the
5
- # process of constructing an object, performing work on the object, and then
6
- # returning the object from a method. It is a Ruby-ized realization of the K
7
- # combinator, courtesy of Mikael Brockman.
8
- #
9
- # ==== Examples
10
- #
11
- # # Without returning
12
- # def foo
13
- # values = []
14
- # values << "bar"
15
- # values << "baz"
16
- # return values
17
- # end
18
- #
19
- # foo # => ['bar', 'baz']
20
- #
21
- # # returning with a local variable
22
- # def foo
23
- # returning values = [] do
24
- # values << 'bar'
25
- # values << 'baz'
26
- # end
27
- # end
28
- #
29
- # foo # => ['bar', 'baz']
30
- #
31
- # # returning with a block argument
32
- # def foo
33
- # returning [] do |values|
34
- # values << 'bar'
35
- # values << 'baz'
36
- # end
37
- # end
38
- #
39
- # foo # => ['bar', 'baz']
40
- def returning(value)
41
- yield(value)
42
- value
43
- end
44
-
45
- # Tries to send the method only if object responds to it. Return +nil+ otherwise.
46
- #
47
- # ==== Example :
48
- #
49
- # # Without try
50
- # @person ? @person.name : nil
51
- #
52
- # With try
53
- # @person.try(:name)
54
- def try(method, *args, &block)
55
- send(method, *args, &block) if respond_to?(method, true)
56
- end
57
- end
@@ -1,21 +0,0 @@
1
- module Faraday
2
- class Request::CookieAuth < Faraday::Middleware
3
- delegate :cookie, :cookie=, :to => :@client, :allow_nil => true
4
-
5
- def call(env)
6
- env[:request_headers]['Cookie'] = cookie if cookie
7
-
8
- env[:response].on_complete do |finished_env|
9
- if finished_env[:response_headers]['set-cookie']
10
- self.cookie = finished_env[:response_headers]['set-cookie'].split('; ')[0]
11
- end
12
- end
13
-
14
- @app.call(env)
15
- end
16
-
17
- def initialize(app, client = nil)
18
- @app, @client = app, client
19
- end
20
- end
21
- end
@@ -1,41 +0,0 @@
1
- module Faraday
2
- class Response::RaiseHttp4xx < Response::Middleware
3
- def self.register_on_complete(env)
4
- env[:response].on_complete do |response|
5
- case response[:status].to_i
6
- when 400
7
- raise CloudConnect::BadRequest, error_message(response)
8
- when 401
9
- raise CloudConnect::Unauthorized, error_message(response)
10
- when 403
11
- raise CloudConnect::Forbidden, error_message(response)
12
- when 404
13
- raise CloudConnect::NotFound, error_message(response)
14
- when 406
15
- raise CloudConnect::NotAcceptable, error_message(response)
16
- when 422
17
- raise CloudConnect::UnprocessableEntity, error_message(response)
18
- #when 420
19
- # raise CloudConnect::EnhanceYourCalm.new error_message(response), response[:response_headers]
20
- end
21
- end
22
- end
23
-
24
- def initialize(app)
25
- super
26
- @parser = nil
27
- end
28
-
29
- private
30
-
31
- def self.error_message(response)
32
- if response[:body] && response[:body].is_a?(Hash) && response[:body]['error']
33
- "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:response_headers]['status']}: #{(response[:body]['error'])}"
34
- elsif response[:body] && response[:body].is_a?(Array)
35
- "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:response_headers]['status']}: #{(response[:body].join(', '))}"
36
- else
37
- "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:response_headers]['status']}: #{(response[:body])}"
38
- end
39
- end
40
- end
41
- end
@@ -1,27 +0,0 @@
1
- module Faraday
2
- class Response::RaiseHttp5xx < Response::Middleware
3
- def self.register_on_complete(env)
4
- env[:response].on_complete do |response|
5
- case response[:status].to_i
6
- when 500
7
- raise CloudConnect::InternalServerError, error_message(response, "Something is technically wrong.")
8
- when 502
9
- raise CloudConnect::BadGateway, error_message(response, "CloudConnect is down or being upgraded.")
10
- when 503
11
- raise CloudConnect::ServiceUnavailable, error_message(response, "(__-){ CloudConnect is over capacity.")
12
- end
13
- end
14
- end
15
-
16
- def initialize(app)
17
- super
18
- @parser = nil
19
- end
20
-
21
- private
22
-
23
- def self.error_message(response, body=nil)
24
- "#{response[:method].to_s.upcase} #{response[:url].to_s}: #{response[:response_headers]['status']}:#{(' ' + body) if body} Check http://status.g8teway.com/ for updates on the status of the CloudConnect service."
25
- end
26
- end
27
- end