activefacts-api 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/activefacts-api.gemspec +1 -1
- data/lib/activefacts/api/entity.rb +1 -2
- data/lib/activefacts/api/numeric.rb +5 -0
- data/spec/constellation/constellation_spec.rb +7 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.2
|
data/activefacts-api.gemspec
CHANGED
@@ -217,7 +217,7 @@ module ActiveFacts
|
|
217
217
|
# Find and return an existing instance matching this key
|
218
218
|
instances = constellation.instances[self] # All instances of this class in this constellation
|
219
219
|
instance = instances[key]
|
220
|
-
|
220
|
+
@created_instances ||= []
|
221
221
|
if instance
|
222
222
|
# raise "Additional role values are ignored when asserting an existing instance" if args[-1].is_a? Hash and !args[-1].empty?
|
223
223
|
assign_additional_roles(instance, args[-1]) if args[-1].is_a? Hash and !args[-1].empty?
|
@@ -226,7 +226,6 @@ module ActiveFacts
|
|
226
226
|
|
227
227
|
# Now construct each of this object's identifying roles
|
228
228
|
irns = identifying_role_names
|
229
|
-
@created_instances ||= []
|
230
229
|
|
231
230
|
has_hash = args[-1].is_a?(Hash)
|
232
231
|
if args.size == 1+(has_hash ? 1 : 0) and args[0].is_a?(self)
|
@@ -161,6 +161,11 @@ class AutoCounter
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
|
+
# if the value is unassigned, it equal?(:new).
|
165
|
+
def equal? value
|
166
|
+
value == :new ? @value == nil : super
|
167
|
+
end
|
168
|
+
|
164
169
|
# An AutoCounter may only be used in numeric expressions after a definite value has been assigned
|
165
170
|
def to_i
|
166
171
|
raise ArgumentError, "Illegal attempt to get integer value of an uncommitted AutoCounter" unless @value
|
@@ -147,10 +147,16 @@ describe "A Constellation instance" do
|
|
147
147
|
name1 = @constellation.Name("foo")
|
148
148
|
foo1 = @constellation.LegalEntity("foo")
|
149
149
|
acme1 = @constellation.Company("Acme, Inc", :auto_counter_val => :new)
|
150
|
+
acme1_id = acme1.auto_counter_val.to_s
|
150
151
|
|
151
152
|
name2 = @constellation.Name("foo")
|
152
153
|
foo2 = @constellation.LegalEntity("foo")
|
153
|
-
|
154
|
+
acme2 = nil
|
155
|
+
lambda { acme2 = @constellation.Company("Acme, Inc", :auto_counter_val => :new) }.should_not raise_error
|
156
|
+
acme2.auto_counter_val = :new
|
157
|
+
acme2.should == acme1
|
158
|
+
acme2.auto_counter_val.should_not be_defined
|
159
|
+
acme2.auto_counter_val.to_s.should == acme1_id
|
154
160
|
end
|
155
161
|
|
156
162
|
it "should support methods to assert instances via the class for that type" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activefacts-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -202,7 +202,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
202
202
|
version: '0'
|
203
203
|
segments:
|
204
204
|
- 0
|
205
|
-
hash: -
|
205
|
+
hash: -2189448494771312824
|
206
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
207
|
none: false
|
208
208
|
requirements:
|