railsbros-thrift4rails 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,5 +4,7 @@
4
4
  * Initial release
5
5
  * created ThriftClient
6
6
  * created first rake-tasks to generate thrift definitions
7
- * Version 0.2.0
7
+ * 2 Version 0.2.0
8
8
  * ThriftClient catches the Thrift::ProtocolException now
9
+ * Version 0.2.2
10
+ * ClientStubForTesting added, It catches all methods and returns true
@@ -4,6 +4,8 @@ PostInstall.txt
4
4
  README.rdoc
5
5
  Rakefile
6
6
  lib/thrift4rails.rb
7
+ lib/thrift4rails/client_stub_for_testing.rb
8
+ lib/thrift4rails/release_active_record_connection.rb
7
9
  lib/thrift4rails/tasks.rb
8
10
  lib/thrift4rails/tasks/generate.rake
9
11
  lib/thrift4rails/tasks/service.rake
@@ -14,6 +16,7 @@ script/destroy
14
16
  script/generate
15
17
  tasks/Rakefile
16
18
  tasks/thrift.rb
19
+ test/release_active_record_connection_test.rb
17
20
  test/test_helper.rb
18
21
  test/test_thrift4rails.rb
19
22
  thrift4rails.gemspec
@@ -4,7 +4,8 @@
4
4
 
5
5
  == DESCRIPTION:
6
6
 
7
- FIX (describe your package)
7
+ module Thrift4Rails::ReleaseActiveRecordConnection ist in der Version 0.3.0 dazugekommen
8
+ Wenn das Modul inkludiert wird, wird nach jedem Methodenaufruf zusaetzlich ActiveRecord::Base.clear_active_connections! aufgerufen.
8
9
 
9
10
  == FEATURES/PROBLEMS:
10
11
 
data/Rakefile CHANGED
@@ -11,9 +11,11 @@ $hoe = Hoe.new('thrift4rails', Thrift4Rails::VERSION) do |p|
11
11
  p.rubyforge_name = p.name # TODO this is default value
12
12
  p.extra_deps = [
13
13
  ['activesupport','>= 2.3.2'],
14
+ ['activerecord', '>= 2.3.2']
14
15
  ]
15
16
  p.extra_dev_deps = [
16
- ['newgem', ">= #{::Newgem::VERSION}"]
17
+ ['newgem', ">= #{::Newgem::VERSION}"],
18
+ ['mocha']
17
19
  ]
18
20
 
19
21
  p.clean_globs |= %w[**/.DS_Store tmp *.log]
@@ -2,8 +2,11 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  require 'activesupport'
5
+ require "activerecord"
5
6
  require 'thrift4rails/thrift_client'
7
+ require 'thrift4rails/client_stub_for_testing'
8
+ require 'thrift4rails/release_active_record_connection'
6
9
 
7
10
  module Thrift4Rails
8
- VERSION = '0.2.0'
11
+ VERSION = '0.3.1'
9
12
  end
@@ -0,0 +1,7 @@
1
+ module Thrift4Rails
2
+ class ClientStubForTesting
3
+ def method_missing(meth, *args, &blk)
4
+ return true
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,40 @@
1
+ module Thrift4Rails
2
+ module ReleaseActiveRecordConnection
3
+ def self.included(base)
4
+ base.extend ClassMethods
5
+ end
6
+
7
+ module ClassMethods
8
+ def singleton_method_added(method_name)
9
+ @@class_singleton_methods ||= []
10
+ if !(method_name.to_s =~ /_execution_callback/) && !@@class_singleton_methods.include?(method_name)
11
+ @@class_singleton_methods << method_name
12
+ @@current_method_name = method_name
13
+ class << self
14
+ method_name = @@current_method_name
15
+ define_method "#{method_name}_with_execution_callback" do |*args|
16
+ return_value = self.send("#{method_name}_without_execution_callback", *args)
17
+ ActiveRecord::Base.clear_active_connections!
18
+ return return_value
19
+ end
20
+ alias_method_chain method_name, :execution_callback
21
+ end
22
+ end
23
+ end
24
+
25
+ def method_added(method_name)
26
+ @@class_instance_methods ||= []
27
+ if !(method_name.to_s =~ /_execution_callback/) && !@@class_instance_methods.include?(method_name)
28
+ @@class_instance_methods << method_name
29
+ define_method "#{method_name}_with_execution_callback" do |*args|
30
+ return_value = self.send("#{method_name}_without_execution_callback", *args)
31
+ ActiveRecord::Base.clear_active_connections!
32
+ return return_value
33
+ end
34
+ alias_method_chain method_name, :execution_callback
35
+ end
36
+ end
37
+ end
38
+
39
+ end
40
+ end
@@ -2,7 +2,11 @@ namespace :service do
2
2
 
3
3
  desc "Start server of service on port #{Service.port}"
4
4
  task :start do
5
- system "script/server -p #{Service.port}"
5
+ add_rails_env = ""
6
+ if ENV["RAILS_ENV"]
7
+ add_rails_env = " -e #{ENV["RAILS_ENV"]}"
8
+ end
9
+ system "script/server -p #{Service.port}#{add_rails_env}"
6
10
  end
7
11
 
8
12
  end
@@ -72,7 +72,7 @@ module Thrift4Rails
72
72
  client_exception = ClientException.new("No connection to Provider: #{@url}. (Original Error: #{e.message})")
73
73
  client_exception.set_backtrace(e.backtrace)
74
74
  raise client_exception
75
- rescue Errno::ETIMEDOUT => e
75
+ rescue Errno::ETIMEDOUT, Timeout::Error => e
76
76
  client_exception = ClientException.new("Connection to Provider '#{@url}' timed out. (Original Error: #{e.message})")
77
77
  client_exception.set_backtrace(e.backtrace)
78
78
  raise client_exception
@@ -0,0 +1,58 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+ require File.dirname(__FILE__) + '/../lib/thrift4rails/release_active_record_connection'
3
+
4
+
5
+ # class definition
6
+ class TestClass
7
+ include Thrift4Rails::ReleaseActiveRecordConnection
8
+
9
+ def self.class_test1
10
+ Array.new
11
+ end
12
+
13
+ def self.class_test2(arg)
14
+ Array.new
15
+ arg
16
+ end
17
+
18
+ def instance_test1
19
+ Array.new
20
+ end
21
+
22
+ def instance_test2(arg)
23
+ Array.new
24
+ arg
25
+ end
26
+
27
+ end
28
+ # end class definition
29
+
30
+ class TestThrift4Rails < Test::Unit::TestCase
31
+
32
+ def test_should_code_after_class_method_calls_without_params
33
+ Array.expects(:new).times(2)
34
+ ActiveRecord::Base.expects(:clear_active_connections!)
35
+ assert_equal Array.new ,TestClass.class_test1
36
+ end
37
+
38
+ def test_should_code_after_class_method_calls_with_params
39
+ Array.expects(:new)
40
+ ActiveRecord::Base.expects(:clear_active_connections!)
41
+ assert_equal "success",TestClass.class_test2("success")
42
+ end
43
+
44
+ def test_should_code_after_instance_method_calls_without_params
45
+ test_class = TestClass.new
46
+ Array.expects(:new).times(2)
47
+ ActiveRecord::Base.expects(:clear_active_connections!)
48
+ assert_equal Array.new ,test_class.instance_test1
49
+ end
50
+
51
+ def test_should_code_after_instance_method_calls_with_params
52
+ test_class = TestClass.new
53
+ Array.expects(:new)
54
+ ActiveRecord::Base.expects(:clear_active_connections!)
55
+ assert_equal "success" ,test_class.instance_test2("success")
56
+ end
57
+
58
+ end
@@ -1,3 +1,5 @@
1
+ require 'rubygems'
1
2
  require 'stringio'
2
3
  require 'test/unit'
4
+ require 'mocha'
3
5
  require File.dirname(__FILE__) + '/../lib/thrift4rails'
@@ -1,11 +1,11 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
2
-
3
- class TestThrift4Rails < Test::Unit::TestCase
4
-
5
- def setup
6
- end
7
-
8
- def test_truth
9
- assert true
10
- end
11
- end
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestThrift4Rails < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
@@ -2,41 +2,47 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{thrift4rails}
5
- s.version = "0.2.0"
5
+ s.version = "0.3.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["pkw.de Development Team"]
9
- s.date = %q{2009-07-30}
10
- s.description = %q{FIX (describe your package)}
9
+ s.date = %q{2009-09-03}
10
+ s.description = %q{module Thrift4Rails::ReleaseActiveRecordConnection ist in der Version 0.3.0 dazugekommen
11
+ Wenn das Modul inkludiert wird, wird nach jedem Methodenaufruf zusaetzlich ActiveRecord::Base.clear_active_connections! aufgerufen.}
11
12
  s.email = ["dev@pkw.de"]
12
13
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
13
- s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "lib/thrift4rails.rb", "lib/thrift4rails/tasks.rb", "lib/thrift4rails/tasks/generate.rake", "lib/thrift4rails/tasks/service.rake", "lib/thrift4rails/tasks/tunnel.rake", "lib/thrift4rails/thrift_client.rb", "script/console", "script/destroy", "script/generate", "tasks/Rakefile", "tasks/thrift.rb", "test/test_helper.rb", "test/test_thrift4rails.rb", "thrift4rails.gemspec"]
14
- s.has_rdoc = true
14
+ s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "lib/thrift4rails.rb", "lib/thrift4rails/client_stub_for_testing.rb", "lib/thrift4rails/release_active_record_connection.rb", "lib/thrift4rails/tasks.rb", "lib/thrift4rails/tasks/generate.rake", "lib/thrift4rails/tasks/service.rake", "lib/thrift4rails/tasks/tunnel.rake", "lib/thrift4rails/thrift_client.rb", "script/console", "script/destroy", "script/generate", "tasks/Rakefile", "tasks/thrift.rb", "test/release_active_record_connection_test.rb", "test/test_helper.rb", "test/test_thrift4rails.rb", "thrift4rails.gemspec"]
15
15
  s.homepage = %q{http://github.com/#{github_username}/#{project_name}}
16
16
  s.post_install_message = %q{PostInstall.txt}
17
17
  s.rdoc_options = ["--main", "README.rdoc"]
18
18
  s.require_paths = ["lib"]
19
19
  s.rubyforge_project = %q{thrift4rails}
20
- s.rubygems_version = %q{1.3.1}
21
- s.summary = %q{FIX (describe your package)}
20
+ s.rubygems_version = %q{1.3.5}
21
+ s.summary = %q{module Thrift4Rails::ReleaseActiveRecordConnection ist in der Version 0.3.0 dazugekommen Wenn das Modul inkludiert wird, wird nach jedem Methodenaufruf zusaetzlich ActiveRecord::Base.clear_active_connections! aufgerufen.}
22
22
  s.test_files = ["test/test_helper.rb", "test/test_thrift4rails.rb"]
23
23
 
24
24
  if s.respond_to? :specification_version then
25
25
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
- s.specification_version = 2
26
+ s.specification_version = 3
27
27
 
28
28
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
29
  s.add_runtime_dependency(%q<activesupport>, [">= 2.3.2"])
30
+ s.add_runtime_dependency(%q<activerecord>, [">= 2.3.2"])
30
31
  s.add_development_dependency(%q<newgem>, [">= 1.4.1"])
32
+ s.add_development_dependency(%q<mocha>, [">= 0"])
31
33
  s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
32
34
  else
33
35
  s.add_dependency(%q<activesupport>, [">= 2.3.2"])
36
+ s.add_dependency(%q<activerecord>, [">= 2.3.2"])
34
37
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
38
+ s.add_dependency(%q<mocha>, [">= 0"])
35
39
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
36
40
  end
37
41
  else
38
42
  s.add_dependency(%q<activesupport>, [">= 2.3.2"])
43
+ s.add_dependency(%q<activerecord>, [">= 2.3.2"])
39
44
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
45
+ s.add_dependency(%q<mocha>, [">= 0"])
40
46
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
41
47
  end
42
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railsbros-thrift4rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - pkw.de Development Team
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-30 00:00:00 -07:00
12
+ date: 2009-09-03 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,6 +22,16 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 2.3.2
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: activerecord
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.3.2
34
+ version:
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: newgem
27
37
  type: :development
@@ -32,6 +42,16 @@ dependencies:
32
42
  - !ruby/object:Gem::Version
33
43
  version: 1.4.1
34
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: mocha
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
35
55
  - !ruby/object:Gem::Dependency
36
56
  name: hoe
37
57
  type: :development
@@ -42,7 +62,7 @@ dependencies:
42
62
  - !ruby/object:Gem::Version
43
63
  version: 1.8.0
44
64
  version:
45
- description: FIX (describe your package)
65
+ description: module Thrift4Rails::ReleaseActiveRecordConnection ist in der Version 0.3.0 dazugekommen Wenn das Modul inkludiert wird, wird nach jedem Methodenaufruf zusaetzlich ActiveRecord::Base.clear_active_connections! aufgerufen.
46
66
  email:
47
67
  - dev@pkw.de
48
68
  executables: []
@@ -61,6 +81,8 @@ files:
61
81
  - README.rdoc
62
82
  - Rakefile
63
83
  - lib/thrift4rails.rb
84
+ - lib/thrift4rails/client_stub_for_testing.rb
85
+ - lib/thrift4rails/release_active_record_connection.rb
64
86
  - lib/thrift4rails/tasks.rb
65
87
  - lib/thrift4rails/tasks/generate.rake
66
88
  - lib/thrift4rails/tasks/service.rake
@@ -71,12 +93,12 @@ files:
71
93
  - script/generate
72
94
  - tasks/Rakefile
73
95
  - tasks/thrift.rb
96
+ - test/release_active_record_connection_test.rb
74
97
  - test/test_helper.rb
75
98
  - test/test_thrift4rails.rb
76
99
  - thrift4rails.gemspec
77
- has_rdoc: true
100
+ has_rdoc: false
78
101
  homepage: http://github.com/#{github_username}/#{project_name}
79
- licenses:
80
102
  post_install_message: PostInstall.txt
81
103
  rdoc_options:
82
104
  - --main
@@ -98,10 +120,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
120
  requirements: []
99
121
 
100
122
  rubyforge_project: thrift4rails
101
- rubygems_version: 1.3.5
123
+ rubygems_version: 1.2.0
102
124
  signing_key:
103
- specification_version: 2
104
- summary: FIX (describe your package)
125
+ specification_version: 3
126
+ summary: module Thrift4Rails::ReleaseActiveRecordConnection ist in der Version 0.3.0 dazugekommen Wenn das Modul inkludiert wird, wird nach jedem Methodenaufruf zusaetzlich ActiveRecord::Base.clear_active_connections! aufgerufen.
105
127
  test_files:
106
128
  - test/test_helper.rb
107
129
  - test/test_thrift4rails.rb