ascheink-active_yaml 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/VERSION +1 -1
- data/active_yaml.gemspec +1 -1
- data/lib/active_yaml.rb +14 -4
- data/test/active_yaml_test.rb +6 -0
- metadata +1 -1
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
data/active_yaml.gemspec
CHANGED
data/lib/active_yaml.rb
CHANGED
@@ -24,15 +24,25 @@ class ActiveYAML
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
27
|
-
|
28
|
-
class_eval "def self.first; @instances.first; end"
|
29
|
-
class_eval "def self.last; @instances.last; end"
|
30
|
-
class_eval "def self.each; @instances.each { |b| yield b }; end"
|
27
|
+
@instances.freeze
|
31
28
|
s = "#{p.to_s}(#{fields.join(', ')})"
|
32
29
|
class_eval "def self.to_s; \"#{s}\"; end"
|
30
|
+
|
33
31
|
def self.find_all
|
34
32
|
@instances
|
35
33
|
end
|
34
|
+
def self.find(id)
|
35
|
+
find_by_id(id) or raise ActiveRecord::RecordNotFound
|
36
|
+
end
|
37
|
+
def self.first
|
38
|
+
@instances.first
|
39
|
+
end
|
40
|
+
def self.last
|
41
|
+
@instances.last
|
42
|
+
end
|
43
|
+
def self.each
|
44
|
+
@instances.each { |b| yield b }
|
45
|
+
end
|
36
46
|
end
|
37
47
|
end
|
38
48
|
end
|
data/test/active_yaml_test.rb
CHANGED
@@ -70,5 +70,11 @@ class ActiveYamlTest < Test::Unit::TestCase
|
|
70
70
|
should "support enumerable" do
|
71
71
|
assert_equal 14951385, City.inject(0) { |a, c| a + c.population }
|
72
72
|
end
|
73
|
+
should "freeze contents" do
|
74
|
+
assert_raises(TypeError) do
|
75
|
+
a = City.find_all
|
76
|
+
a << 1
|
77
|
+
end
|
78
|
+
end
|
73
79
|
end
|
74
80
|
end
|