emmy-extends 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a0e3a4faca05d0d6a5c8538652143080296e81c
4
- data.tar.gz: e1d0b56934235795d602acdc37f0fa46b8025d4b
3
+ metadata.gz: 097746b50e4d27dba575c4fb189564590e7cea17
4
+ data.tar.gz: 9aa6795db438cf2209267123f0326effe1beac3f
5
5
  SHA512:
6
- metadata.gz: b9fca19b26b97bde2a10297b5c29861ce43c2bb04b4a5b37e036e44bd5bb866a4e2bb5d455337ffd540c96837c45ec571439eb12a83a6e936345a86d5138615d
7
- data.tar.gz: 046dc4b7d3bfbca15de50b826125bc94553ff558c8f59f12e644bfdd2cf105befa10d0e9122de62c596374edc1896a89e1c2183194a8f77f4fabcca988ec20aa
6
+ metadata.gz: 996f3d706ed8ebae5b9f81750b26ec250e2ce6e1fdb86b31bbe12c1665f0fd3e3e8a24beb460b6d9ee207be4318284cba4b6b3afc5e979dc33bf34a2f1021308
7
+ data.tar.gz: b9db1cc0221e4f6ca6b114c45bbae926ac41f173d22969cfe14be32ff7e157f11a8a5fa5faa8d597e4789ac070ffa0a20d2d70bcc013f7c815d088005d6a3c06
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in emmy-extends.gemspec
4
4
  gemspec
5
5
 
6
+ gem 'em-http-request', '~> 1.1.2'
7
+ gem 'mysql2'
6
8
  gem 'httpi'
7
9
  gem 'savon', github: 'chelovekov/savon', branch: 'version2'
8
- gem 'mysql2'
data/emmy-extends.gemspec CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "eventmachine", "~> 1.0.3"
22
- spec.add_dependency "em-http-request", "~> 1.1.2"
23
22
  spec.add_dependency "emmy-machine", "~> 0.1.6"
24
23
  spec.add_dependency "emmy-http", "~> 0.1.1"
25
24
 
@@ -0,0 +1,70 @@
1
+ module EmmyExtends
2
+ class ActiveRecord::Adapter < ::ActiveRecord::ConnectionAdapters::Mysql2Adapter
3
+ def configure_connection
4
+ nil
5
+ end
6
+
7
+ def transaction(*args, &blk)
8
+ @connection.execute(false) do |conn|
9
+ super
10
+ end
11
+ end
12
+
13
+ def real_connection
14
+ @connection.connection
15
+ end
16
+
17
+ def open_transactions
18
+ real_connection.open_transactions
19
+ end
20
+
21
+ def increment_open_transactions
22
+ real_connection.open_transactions += 1
23
+ end
24
+
25
+ def decrement_open_transactions
26
+ real_connection.open_transactions -= 1
27
+ end
28
+
29
+ def current_transaction #:nodoc:
30
+ @transaction[Fiber.current.object_id] || @closed_transaction
31
+ end
32
+
33
+ def transaction_open?
34
+ current_transaction.open?
35
+ end
36
+
37
+ def begin_transaction(options = {}) #:nodoc:
38
+ set_current_transaction(current_transaction.begin(options))
39
+ end
40
+
41
+ def commit_transaction #:nodoc:
42
+ set_current_transaction(current_transaction.commit)
43
+ end
44
+
45
+ def rollback_transaction #:nodoc:
46
+ set_current_transaction(current_transaction.rollback)
47
+ end
48
+
49
+ def reset_transaction #:nodoc:
50
+ @transaction = {}
51
+ @closed_transaction = ::ActiveRecord::ConnectionAdapters::ClosedTransaction.new(self)
52
+ end
53
+
54
+ # Register a record with the current transaction so that its after_commit and after_rollback callbacks
55
+ # can be called.
56
+ def add_transaction_record(record)
57
+ current_transaction.add_record(record)
58
+ end
59
+
60
+ protected
61
+
62
+ def set_current_transaction(t)
63
+ if t == @closed_transaction
64
+ @transaction.delete(Fiber.current.object_id)
65
+ else
66
+ @transaction[Fiber.current.object_id] = t
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,26 @@
1
+ module EmmyExtends
2
+ module ConnectionHandling
3
+ def self.emmy_mysql2_connection(config)
4
+ client = ConnectionPool.new(size: config[:pool]) do
5
+ conn = ActiveRecord::ConnectionAdapters::EMMysql2Adapter::Client.new(config.symbolize_keys)
6
+ # From Mysql2Adapter#configure_connection
7
+ conn.query_options.merge!(:as => :array)
8
+
9
+ # By default, MySQL 'where id is null' selects the last inserted id.
10
+ # Turn this off. http://dev.rubyonrails.org/ticket/6778
11
+ variable_assignments = ['SQL_AUTO_IS_NULL=0']
12
+ encoding = config[:encoding]
13
+ variable_assignments << "NAMES '#{encoding}'" if encoding
14
+
15
+ wait_timeout = config[:wait_timeout]
16
+ wait_timeout = 2592000 unless wait_timeout.is_a?(Fixnum)
17
+ variable_assignments << "@@wait_timeout = #{wait_timeout}"
18
+
19
+ conn.query("SET #{variable_assignments.join(', ')}")
20
+ conn
21
+ end
22
+ options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], 0]
23
+ Adapter.new(client, logger, options, config)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ module ActiveRecord
2
+ class ConnectionPool < EM::Synchrony::ConnectionPool
3
+
4
+ def execute(async)
5
+ f = Fiber.current
6
+ begin
7
+ conn = acquire(f)
8
+ conn.acquired_for_connection_pool += 1
9
+ yield conn
10
+ ensure
11
+ conn.acquired_for_connection_pool -= 1
12
+ release(f) if !async && conn.acquired_for_connection_pool == 0
13
+ end
14
+ end
15
+
16
+ def acquire(fiber)
17
+ return @reserved[fiber.object_id] if @reserved[fiber.object_id]
18
+ super
19
+ end
20
+
21
+ def connection
22
+ acquire(Fiber.current)
23
+ end
24
+
25
+ def affected_rows(*args, &blk)
26
+ execute(false) do |conn|
27
+ conn.send(:affected_rows, *args, &blk)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,3 @@
1
- require 'em-http-request'
2
-
3
1
  module EmmyExtends
4
2
  class EmHttpRequest::Adapter < EmmyHttp::Adapter
5
3
  using EventObject
@@ -0,0 +1,8 @@
1
+ require 'em-http-request'
2
+
3
+ module EmmyExtends
4
+ module EmHttpRequest
5
+ autoload :Connection, "emmy_extends/em_http_request/connection"
6
+ autoload :Adapter, "emmy_extends/em_http_request/adapter"
7
+ end
8
+ end
@@ -1,5 +1,3 @@
1
- require "httpi"
2
-
3
1
  module EmmyExtends
4
2
  class HTTPI::Adapter < ::HTTPI::Adapter::Base
5
3
  register :emmy
@@ -30,12 +28,20 @@ module EmmyExtends
30
28
  raise NotSupportedError, "EM-HTTP-Request does not support response streaming"
31
29
  end
32
30
 
31
+ if @request.ssl
32
+ ssl = {
33
+ cert_chain_file: @request.ssl.ca_cert_file,
34
+ verify_peer: @request.ssl.verify_mode
35
+ }
36
+ end
37
+
33
38
  @http_request = EmmyHttp::Request.new(
34
39
  url: build_request_url(@request.url),
35
40
  method: method,
36
41
  timeouts: { connect: @request.open_timeout, inactivity: @request.read_timeout },
37
42
  headers: @request.headers.to_hash,
38
- body: @request.body
43
+ body: @request.body,
44
+ ssl: ssl
39
45
  )
40
46
 
41
47
  # FIXME: proxy support # proxy_options if @request.proxy
@@ -0,0 +1,9 @@
1
+ require "emmy_extends/em_http_request"
2
+ require "httpi"
3
+
4
+ module EmmyExtends
5
+ module HTTPI
6
+ require "emmy_extends/httpi/adapter"
7
+ autoload :Operation, "emmy_extends/httpi/operation"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require "mysql2"
2
+
3
+ module EmmyExtends
4
+ module Mysql2
5
+ autoload :Operation, "emmy_extends/mysql2/operation"
6
+ autoload :Client, "emmy_extends/mysql2/client"
7
+ autoload :Watcher, "emmy_extends/mysql2/watcher"
8
+ end
9
+ end
@@ -1,5 +1,3 @@
1
- require "savon"
2
-
3
1
  # Example,
4
2
  # client = Savon.client do
5
3
  # endpoint "http://example.com"
@@ -10,7 +8,8 @@ require "savon"
10
8
  module EmmyExtends
11
9
  module Savon::ClassMethods
12
10
  def client(globals = {}, &block)
13
- globals[:response_class] = Savon::Response
11
+ globals[:response_class] = Savon::Operation
12
+ globals[:raise_errors] = false
14
13
  ::Savon::Client.new(globals, &block)
15
14
  end
16
15
  end
@@ -2,7 +2,7 @@ module EmmyExtends
2
2
  module Savon::Model
3
3
  def self.included(base)
4
4
  base.extend ::Savon::Model
5
- base.global :response_class, Response
5
+ base.global :response_class, Operation
6
6
  end
7
7
  end
8
8
  end
@@ -1,10 +1,9 @@
1
1
  module EmmyExtends
2
- class Savon::Response
2
+ class Savon::Operation
3
3
  using EventObject
4
4
 
5
5
  attr_reader :request
6
6
  attr_reader :response
7
- attr_reader :connection
8
7
  attr_reader :httpi
9
8
  attr_reader :globals
10
9
  attr_reader :locals
@@ -40,9 +39,16 @@ module EmmyExtends
40
39
 
41
40
  def setup
42
41
  @httpi.on :success do |response, httpi, conn|
43
- @response = ::Savon::Response.new(response, globals, locals)
44
- @connection = conn
45
- success!(@response, self, conn)
42
+ unless response.http_error
43
+ unless response.soap_fault
44
+ @response = ::Savon::Response.new(response, globals, locals)
45
+ success!(@response, self, conn)
46
+ else
47
+ error!("SOAP error (#{response.soap_fault.to_s})", self, conn)
48
+ end
49
+ else
50
+ error!("HTTP error (#{response.http.code})", self, conn)
51
+ end
46
52
  end
47
53
 
48
54
  @httpi.on :error do |error, httpi, conn|
@@ -0,0 +1,12 @@
1
+ require "emmy_extends/httpi"
2
+ require "savon"
3
+
4
+ module EmmyExtends
5
+ module Savon
6
+ autoload :ClassMethods, "emmy_extends/savon/class_methods"
7
+ autoload :Operation, "emmy_extends/savon/operation"
8
+ autoload :Model, "emmy_extends/savon/model"
9
+
10
+ extend ClassMethods
11
+ end
12
+ end
@@ -5,7 +5,7 @@ module EmmyExtends
5
5
  attr_accessor :url
6
6
 
7
7
  def initialize(host, port, options)
8
- super
8
+ super()
9
9
  end
10
10
 
11
11
  def connect
@@ -3,7 +3,7 @@ module EmmyExtends
3
3
  using CoreExt
4
4
 
5
5
  def server(url, app, opt={})
6
- Controller.new(url, app, opt.to_options).start
6
+ Thin::Controller.new(url, app, opt.to_options).start
7
7
  end
8
8
  end
9
9
  end
@@ -1,15 +1,25 @@
1
+ require 'uri'
2
+
1
3
  module EmmyExtends
2
4
  class Thin::Controller < ::Thin::Controllers::Controller
3
5
 
4
- def initialize(url, app, options)
5
- @url = URL(url.to_s)
6
+ attr_accessor :app, :url
7
+
8
+ def initialize(url, app, options={})
9
+ @url = URI(url.to_s)
6
10
  @app = app
11
+ options[:backend] ||= EmmyExtends::Thin::Backend
7
12
  super(options)
8
- options[:backend] ||= Backend
9
13
  end
10
14
 
11
15
  def start
12
- server = ::Thin::Server.new(@options[:socket] || @url.host, @url.port, @options)
16
+ if @options[:socket]
17
+ server = ::Thin::Server.new(@options[:socket], @options)
18
+ else
19
+ server = ::Thin::Server.new(url.host, url.port, @options)
20
+ end
21
+ server.backend.url = url
22
+
13
23
  # Set options
14
24
  server.pid_file = @options[:pid]
15
25
  server.log_file = @options[:log]
@@ -41,5 +51,24 @@ module EmmyExtends
41
51
  # just return thin-backend
42
52
  server.backend
43
53
  end
54
+
55
+ private
56
+
57
+ def options_with_defaults(opt)
58
+ {
59
+ chdir: Dir.pwd,
60
+ environment: env,
61
+ address: '0.0.0.0',
62
+ port: 3434,
63
+ timeout: 30, #sec
64
+ pid: "tmp/pids/server.pid",
65
+ log: File.join(Dir.pwd, "log/server.log"),
66
+ max_conns: 1024,
67
+ max_persistent_conns: 100,
68
+ require: [],
69
+ wait: 30, #sec
70
+ daemonize: false
71
+ }.update(opt)
72
+ end
44
73
  end
45
74
  end
@@ -0,0 +1,10 @@
1
+ module EmmyExtends
2
+ module Thin
3
+ autoload :Connection, "emmy_extends/thin/connection"
4
+ autoload :Backend, "emmy_extends/thin/backend"
5
+ autoload :Controller, "emmy_extends/thin/controller"
6
+ autoload :ClassMethods, "emmy_extends/thin/class_methods"
7
+
8
+ extend ClassMethods
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module EmmyExtends
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/npm-debug.log ADDED
@@ -0,0 +1,62 @@
1
+ 0 info it worked if it ends with ok
2
+ 1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', 'bit8' ]
3
+ 2 info using npm@1.3.11
4
+ 3 info using node@v0.10.21
5
+ 4 verbose cache add [ 'bit8', null ]
6
+ 5 verbose cache add name=undefined spec="bit8" args=["bit8",null]
7
+ 6 verbose parsed url { protocol: null,
8
+ 6 verbose parsed url slashes: null,
9
+ 6 verbose parsed url auth: null,
10
+ 6 verbose parsed url host: null,
11
+ 6 verbose parsed url port: null,
12
+ 6 verbose parsed url hostname: null,
13
+ 6 verbose parsed url hash: null,
14
+ 6 verbose parsed url search: null,
15
+ 6 verbose parsed url query: null,
16
+ 6 verbose parsed url pathname: 'bit8',
17
+ 6 verbose parsed url path: 'bit8',
18
+ 6 verbose parsed url href: 'bit8' }
19
+ 7 silly lockFile dda9e3ba-bit8 bit8
20
+ 8 verbose lock bit8 /Users/che/.npm/dda9e3ba-bit8.lock
21
+ 9 silly lockFile dda9e3ba-bit8 bit8
22
+ 10 silly lockFile dda9e3ba-bit8 bit8
23
+ 11 verbose addNamed [ 'bit8', '' ]
24
+ 12 verbose addNamed [ null, '*' ]
25
+ 13 silly lockFile b74efb73-bit8 bit8@
26
+ 14 verbose lock bit8@ /Users/che/.npm/b74efb73-bit8.lock
27
+ 15 silly addNameRange { name: 'bit8', range: '*', hasData: false }
28
+ 16 verbose url raw bit8
29
+ 17 verbose url resolving [ 'https://registry.npmjs.org/', './bit8' ]
30
+ 18 verbose url resolved https://registry.npmjs.org/bit8
31
+ 19 info trying registry request attempt 1 at 18:31:24
32
+ 20 http GET https://registry.npmjs.org/bit8
33
+ 21 http 404 https://registry.npmjs.org/bit8
34
+ 22 silly registry.get cb [ 404,
35
+ 22 silly registry.get { date: 'Sat, 20 Sep 2014 14:31:25 GMT',
36
+ 22 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
37
+ 22 silly registry.get 'content-type': 'application/json',
38
+ 22 silly registry.get 'cache-control': 'max-age=0',
39
+ 22 silly registry.get 'content-length': '52',
40
+ 22 silly registry.get 'accept-ranges': 'bytes',
41
+ 22 silly registry.get via: '1.1 varnish',
42
+ 22 silly registry.get age: '0',
43
+ 22 silly registry.get 'x-served-by': 'cache-ams4133-AMS',
44
+ 22 silly registry.get 'x-cache': 'MISS',
45
+ 22 silly registry.get 'x-cache-hits': '0',
46
+ 22 silly registry.get 'x-timer': 'S1411223485.110665,VS0,VE714',
47
+ 22 silly registry.get 'keep-alive': 'timeout=10, max=50',
48
+ 22 silly registry.get connection: 'Keep-Alive' } ]
49
+ 23 silly lockFile b74efb73-bit8 bit8@
50
+ 24 silly lockFile b74efb73-bit8 bit8@
51
+ 25 error 404 'bit8' is not in the npm registry.
52
+ 25 error 404 You should bug the author to publish it
53
+ 25 error 404
54
+ 25 error 404 Note that you can also install from a
55
+ 25 error 404 tarball, folder, or http url, or git url.
56
+ 26 error System Darwin 13.3.0
57
+ 27 error command "node" "/usr/local/bin/npm" "install" "bit8"
58
+ 28 error cwd /Users/che/Dropbox/Projects/emmy-extends
59
+ 29 error node -v v0.10.21
60
+ 30 error npm -v 1.3.11
61
+ 31 error code E404
62
+ 32 verbose exit [ 1, true ]
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ require "emmy_extends/em_http_request"
2
3
 
3
4
  describe EmmyExtends::EmHttpRequest do
4
5
 
data/spec/httpi_spec.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require "spec_helper"
2
- require "emmy_extends/httpi/adapter"
3
- require "httpi"
2
+ require "emmy_extends/httpi"
4
3
 
5
4
  describe EmmyExtends::HTTPI do
6
5
  around do |example|
@@ -10,7 +9,7 @@ describe EmmyExtends::HTTPI do
10
9
  it "should send request to github.com home page" do
11
10
  request = HTTPI.get("http://httpbin.org", :emmy)
12
11
  response = request.sync
13
-
12
+
14
13
  expect(response).to be_a(HTTPI::Response)
15
14
  expect(response.code).to be 200
16
15
  expect(response.headers).to include("Content-Type")
data/spec/mysql2_spec.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "spec_helper"
2
- require "mysql2"
2
+ require "emmy_extends/mysql2"
3
3
 
4
4
  describe EmmyExtends::Mysql2 do
5
5
  using EventObject
data/spec/savon_spec.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  require "spec_helper"
2
- require "httpi"
3
- require "emmy_extends/httpi/adapter"
4
- require "savon"
2
+ require "emmy_extends/savon"
5
3
 
6
4
  describe EmmyExtends::Savon do
7
5
  around do |example|
@@ -18,8 +16,8 @@ describe EmmyExtends::Savon do
18
16
  read_timeout: 10,
19
17
  log: false
20
18
  )
21
- request = client.call(:convert_temp, :message => { :temperature => 30, :from_unit => "degreeCelsius", :to_unit => "degreeFahrenheit" })
22
- response = request.sync
19
+ operation = client.call(:convert_temp, :message => { :temperature => 30, :from_unit => "degreeCelsius", :to_unit => "degreeFahrenheit" })
20
+ response = operation.sync
23
21
 
24
22
  fahrenheit = response.body[:convert_temp_response][:convert_temp_result]
25
23
  expect(fahrenheit).to eq("86")
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'bundler/setup'
2
2
  Bundler.setup
3
3
 
4
- require File.expand_path("./lib/emmy_extends")
4
+ #require File.expand_path("./lib/emmy_extends")
5
5
  require "emmy_machine"
6
6
  require "emmy_http"
7
7
  require "fibre"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emmy-extends
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - che
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-20 00:00:00.000000000 Z
11
+ date: 2014-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.0.3
27
- - !ruby/object:Gem::Dependency
28
- name: em-http-request
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.1.2
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.1.2
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: emmy-machine
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -121,23 +107,31 @@ files:
121
107
  - README.md
122
108
  - Rakefile
123
109
  - emmy-extends.gemspec
124
- - lib/emmy_extends.rb
110
+ - lib/emmy_extends/activerecord/adapter.rb
111
+ - lib/emmy_extends/activerecord/connection_handling.rb
112
+ - lib/emmy_extends/activerecord/connection_pool.rb
125
113
  - lib/emmy_extends/core_ext.rb
114
+ - lib/emmy_extends/em_http_request.rb
126
115
  - lib/emmy_extends/em_http_request/adapter.rb
127
116
  - lib/emmy_extends/em_http_request/connection.rb
117
+ - lib/emmy_extends/httpi.rb
128
118
  - lib/emmy_extends/httpi/adapter.rb
129
119
  - lib/emmy_extends/httpi/operation.rb
120
+ - lib/emmy_extends/mysql2.rb
130
121
  - lib/emmy_extends/mysql2/client.rb
131
122
  - lib/emmy_extends/mysql2/operation.rb
132
123
  - lib/emmy_extends/mysql2/watcher.rb
124
+ - lib/emmy_extends/savon.rb
133
125
  - lib/emmy_extends/savon/class_methods.rb
134
126
  - lib/emmy_extends/savon/model.rb
135
- - lib/emmy_extends/savon/response.rb
127
+ - lib/emmy_extends/savon/operation.rb
128
+ - lib/emmy_extends/thin.rb
136
129
  - lib/emmy_extends/thin/backend.rb
137
130
  - lib/emmy_extends/thin/class_methods.rb
138
131
  - lib/emmy_extends/thin/connection.rb
139
132
  - lib/emmy_extends/thin/controller.rb
140
133
  - lib/emmy_extends/version.rb
134
+ - npm-debug.log
141
135
  - spec/ConvertTemperature.asmx.xml
142
136
  - spec/em_http_request_spec.rb
143
137
  - spec/httpi_spec.rb
data/lib/emmy_extends.rb DELETED
@@ -1,38 +0,0 @@
1
- require "emmy_extends/version"
2
-
3
- module EmmyExtends
4
- autoload :CoreExt, "emmy_extends/core_ext"
5
-
6
- module EmHttpRequest
7
- autoload :Connection, "emmy_extends/em_http_request/connection"
8
- autoload :Adapter, "emmy_extends/em_http_request/adapter"
9
- end
10
-
11
- module HTTPI
12
- autoload :Adapter, "emmy_extends/httpi/adapter"
13
- autoload :Operation, "emmy_extends/httpi/operation"
14
- end
15
-
16
- module Mysql2
17
- autoload :Operation, "emmy_extends/mysql2/operation"
18
- autoload :Client, "emmy_extends/mysql2/client"
19
- autoload :Watcher, "emmy_extends/mysql2/watcher"
20
- end
21
-
22
- module Savon
23
- autoload :ClassMethods, "emmy_extends/savon/class_methods"
24
- autoload :Response, "emmy_extends/savon/response"
25
- autoload :Model, "emmy_extends/savon/model"
26
-
27
- extend ClassMethods
28
- end
29
-
30
- module Thin
31
- autoload :Connection, "emmy_extends/thin/connection"
32
- autoload :Backend, "emmy_extends/thin/backend"
33
- autoload :Controller, "emmy_extends/thin/controller"
34
- autoload :ClassMethods, "emmy_extends/thin/class_methods"
35
-
36
- extend ClassMethods
37
- end
38
- end