sentiql 0.2.3 → 0.2.4
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/lib/sentiql/version.rb +1 -1
- data/lib/sentiql.rb +7 -5
- data/spec/sentiql_spec.rb +6 -13
- metadata +2 -2
data/lib/sentiql/version.rb
CHANGED
data/lib/sentiql.rb
CHANGED
@@ -9,7 +9,7 @@ module SentiQL
|
|
9
9
|
@attrs = {}
|
10
10
|
@errors = {}
|
11
11
|
attrs.each_pair do |key, value|
|
12
|
-
@attrs[key
|
12
|
+
@attrs[key] = value
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -29,13 +29,15 @@ module SentiQL
|
|
29
29
|
filter_with :before_save_filters
|
30
30
|
|
31
31
|
if @attrs[:id]
|
32
|
+
|
33
|
+
self[:updated_at] = Time.now
|
34
|
+
|
32
35
|
i = @attrs.select { |k| self.class.schema.include?(k) }
|
33
36
|
values = i.keys.map { |k| @attrs[k] }
|
34
37
|
values << @attrs[:id]
|
35
38
|
|
36
39
|
return self unless valid?
|
37
40
|
|
38
|
-
self[:updated_at] = Time.now
|
39
41
|
|
40
42
|
SentiQL::Base.execute "UPDATE #{self.class.table} SET #{i.keys.map{|m| "#{m.to_s}=?"}.join(",")} WHERE id=?", values
|
41
43
|
|
@@ -43,14 +45,14 @@ module SentiQL
|
|
43
45
|
|
44
46
|
filter_with :before_create_filters
|
45
47
|
|
48
|
+
self[:created_at] = Time.now
|
49
|
+
self[:updated_at] = Time.now
|
50
|
+
|
46
51
|
i = @attrs.select { |k| self.class.schema.include?(k) }
|
47
52
|
values = i.keys.map { |k| @attrs[k] }
|
48
53
|
|
49
54
|
return self unless valid?
|
50
55
|
|
51
|
-
self[:created_at] = Time.now
|
52
|
-
self[:updated_at] = Time.now
|
53
|
-
|
54
56
|
id = SentiQL::Base.insert "INSERT INTO #{self.class.table} (#{i.keys.map{|k| k.to_s}.join(",")}) VALUES (#{i.map{|k| k="?"}.join(",")})", values
|
55
57
|
@attrs[:id] = id
|
56
58
|
|
data/spec/sentiql_spec.rb
CHANGED
@@ -6,8 +6,6 @@ class User < SentiQL::Base
|
|
6
6
|
set_schema :name, :full_name, :email, :crypted_password, :salt, :created_at, :updated_at
|
7
7
|
set_table :users
|
8
8
|
|
9
|
-
#before_save :set_updated_at
|
10
|
-
#before_create :set_created_at
|
11
9
|
before_save :touch_before_save
|
12
10
|
before_create :touch_before_create
|
13
11
|
after_create :touch_after_create
|
@@ -23,14 +21,6 @@ class User < SentiQL::Base
|
|
23
21
|
end
|
24
22
|
|
25
23
|
protected
|
26
|
-
|
27
|
-
#def set_updated_at
|
28
|
-
#self[:updated_at] = Time.now
|
29
|
-
#end
|
30
|
-
|
31
|
-
#def set_created_at
|
32
|
-
#self[:created_at] = Time.now
|
33
|
-
#end
|
34
24
|
|
35
25
|
def touch_before_save
|
36
26
|
self[:before_save_touched] = Time.now
|
@@ -87,7 +77,8 @@ describe SentiQL::Base do
|
|
87
77
|
it "sets created_at attr" do
|
88
78
|
u = User.new :name=>'Natalie'
|
89
79
|
u.save
|
90
|
-
u.
|
80
|
+
uu = User.find_by :id=>u.id
|
81
|
+
uu.created_at.should_not be_nil
|
91
82
|
sleep(1)
|
92
83
|
lambda { u.save }.should_not change(u, :created_at)
|
93
84
|
end
|
@@ -95,8 +86,10 @@ describe SentiQL::Base do
|
|
95
86
|
it "updates updated_at attr" do
|
96
87
|
u = User.new :name=>'Natalie'
|
97
88
|
u.save
|
98
|
-
|
99
|
-
|
89
|
+
uu = User.find_by :id=>u.id
|
90
|
+
uu.updated_at.should_not be_nil
|
91
|
+
uu[:full_name] = 'Natalie Portman'
|
92
|
+
lambda { uu.save }.should change(uu, :updated_at)
|
100
93
|
end
|
101
94
|
|
102
95
|
end
|