conject 0.1.4 → 0.1.5

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/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ Conject v0.1.5
2
+ * Using __send__ instead of send. This avoids collisions with actual methods on target objects named "send"
3
+ * Added a more descriptive error handler when a constructor call fails in ObjectFactory
4
+
1
5
  Conject v0.1.4
2
6
  * Removed Conject::BorroredInflector, moved copies of the underscore and camelize functions into Conject::Utilities
3
7
 
@@ -82,7 +82,7 @@ class Class
82
82
  obj = allocate
83
83
  if has_object_definition?
84
84
  # Apply the given components
85
- obj.send(:set_components, component_map)
85
+ obj.__send__(:set_components, component_map)
86
86
  else
87
87
  raise "#{self.class} has an ancestor that uses construct_with, but has not declared any component dependencies. Will not be able to instantiate!"
88
88
  end
@@ -90,10 +90,10 @@ class Class
90
90
  arg_count = obj.method(:initialize).arity
91
91
  case arg_count
92
92
  when 0
93
- obj.send :initialize
93
+ obj.__send__ :initialize
94
94
 
95
95
  when 1, -1 # See Footnote a) at the bottom of this file
96
- obj.send :initialize, component_map
96
+ obj.__send__ :initialize, component_map
97
97
 
98
98
  else
99
99
  # We're not equipped to handle this
@@ -30,7 +30,7 @@ module Conject
30
30
  end
31
31
 
32
32
  # Stuff an internal back reference to the object context into the new object:
33
- object.send(:instance_variable_set, :@_conject_object_context, object_context)
33
+ object.__send__(:instance_variable_set, :@_conject_object_context, object_context)
34
34
 
35
35
  return object
36
36
  end
@@ -64,7 +64,12 @@ module Conject
64
64
 
65
65
  object = nil
66
66
  Conject.override_object_context_with object_context do
67
- object = constructor_func.call
67
+ begin
68
+ object = constructor_func.call
69
+ rescue Exception => ex
70
+ origin = "#{e.message}\n\t#{e.backtrace.join("\n\t")}"
71
+ raise "Error while constructing object '#{name}' of class #{klass}: #{origin}"
72
+ end
68
73
  end
69
74
  end
70
75
 
@@ -1,3 +1,3 @@
1
1
  module Conject
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-20 00:00:00.000000000 Z
12
+ date: 2013-01-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -199,7 +199,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
199
  version: '0'
200
200
  segments:
201
201
  - 0
202
- hash: 3533860768866738609
202
+ hash: -2394895087523991076
203
203
  required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
208
  version: '0'
209
209
  segments:
210
210
  - 0
211
- hash: 3533860768866738609
211
+ hash: -2394895087523991076
212
212
  requirements: []
213
213
  rubyforge_project:
214
214
  rubygems_version: 1.8.24