sentiql 0.1.3 → 0.2.3
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 +5 -0
- data/spec/sentiql_spec.rb +34 -8
- metadata +23 -4
data/lib/sentiql/version.rb
CHANGED
data/lib/sentiql.rb
CHANGED
@@ -35,6 +35,8 @@ module SentiQL
|
|
35
35
|
|
36
36
|
return self unless valid?
|
37
37
|
|
38
|
+
self[:updated_at] = Time.now
|
39
|
+
|
38
40
|
SentiQL::Base.execute "UPDATE #{self.class.table} SET #{i.keys.map{|m| "#{m.to_s}=?"}.join(",")} WHERE id=?", values
|
39
41
|
|
40
42
|
else
|
@@ -46,6 +48,9 @@ module SentiQL
|
|
46
48
|
|
47
49
|
return self unless valid?
|
48
50
|
|
51
|
+
self[:created_at] = Time.now
|
52
|
+
self[:updated_at] = Time.now
|
53
|
+
|
49
54
|
id = SentiQL::Base.insert "INSERT INTO #{self.class.table} (#{i.keys.map{|k| k.to_s}.join(",")}) VALUES (#{i.map{|k| k="?"}.join(",")})", values
|
50
55
|
@attrs[:id] = id
|
51
56
|
|
data/spec/sentiql_spec.rb
CHANGED
@@ -6,8 +6,10 @@ 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
|
9
|
+
#before_save :set_updated_at
|
10
|
+
#before_create :set_created_at
|
11
|
+
before_save :touch_before_save
|
12
|
+
before_create :touch_before_create
|
11
13
|
after_create :touch_after_create
|
12
14
|
after_save :touch_after_save
|
13
15
|
|
@@ -22,12 +24,20 @@ class User < SentiQL::Base
|
|
22
24
|
|
23
25
|
protected
|
24
26
|
|
25
|
-
def set_updated_at
|
26
|
-
self[:updated_at] = Time.now
|
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
|
+
|
35
|
+
def touch_before_save
|
36
|
+
self[:before_save_touched] = Time.now
|
27
37
|
end
|
28
38
|
|
29
|
-
def
|
30
|
-
self[:
|
39
|
+
def touch_before_create
|
40
|
+
self[:before_create_touched] = Time.now
|
31
41
|
end
|
32
42
|
|
33
43
|
def touch_after_create
|
@@ -73,6 +83,22 @@ describe SentiQL::Base do
|
|
73
83
|
u[:full_name] = 'Natalie Portman'
|
74
84
|
lambda { u.save }.should_not change(User, :count)
|
75
85
|
end
|
86
|
+
|
87
|
+
it "sets created_at attr" do
|
88
|
+
u = User.new :name=>'Natalie'
|
89
|
+
u.save
|
90
|
+
u.created_at.should_not be_nil
|
91
|
+
sleep(1)
|
92
|
+
lambda { u.save }.should_not change(u, :created_at)
|
93
|
+
end
|
94
|
+
|
95
|
+
it "updates updated_at attr" do
|
96
|
+
u = User.new :name=>'Natalie'
|
97
|
+
u.save
|
98
|
+
u[:full_name] = 'Natalie Portman'
|
99
|
+
lambda { u.save }.should change(u, :updated_at)
|
100
|
+
end
|
101
|
+
|
76
102
|
end
|
77
103
|
|
78
104
|
describe 'filters' do
|
@@ -84,14 +110,14 @@ describe SentiQL::Base do
|
|
84
110
|
u = User.new :name=>'Natalie'
|
85
111
|
u.save
|
86
112
|
sleep(1)
|
87
|
-
lambda { u.save }.should change(u, :
|
113
|
+
lambda { u.save }.should change(u, :before_save_touched)
|
88
114
|
end
|
89
115
|
|
90
116
|
it "executes before_create filters only when record is created" do
|
91
117
|
u = User.new :name=>'Natalie'
|
92
118
|
u.save
|
93
119
|
sleep(1)
|
94
|
-
lambda { u.save }.should_not change(u, :
|
120
|
+
lambda { u.save }.should_not change(u, :before_create_touched)
|
95
121
|
end
|
96
122
|
|
97
123
|
it "executes after_create filters only after record is created" do
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentiql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 2
|
8
|
+
- 3
|
9
|
+
version: 0.2.3
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Martynas Miliauskas
|
@@ -10,7 +14,7 @@ autorequire:
|
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
16
|
|
13
|
-
date: 2011-05-
|
17
|
+
date: 2011-05-27 00:00:00 +01:00
|
14
18
|
default_executable:
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +25,9 @@ dependencies:
|
|
21
25
|
requirements:
|
22
26
|
- - <
|
23
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 3
|
24
31
|
version: "0.3"
|
25
32
|
type: :runtime
|
26
33
|
version_requirements: *id001
|
@@ -32,6 +39,8 @@ dependencies:
|
|
32
39
|
requirements:
|
33
40
|
- - ">="
|
34
41
|
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 0
|
35
44
|
version: "0"
|
36
45
|
type: :development
|
37
46
|
version_requirements: *id002
|
@@ -43,6 +52,8 @@ dependencies:
|
|
43
52
|
requirements:
|
44
53
|
- - ">="
|
45
54
|
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 0
|
46
57
|
version: "0"
|
47
58
|
type: :development
|
48
59
|
version_requirements: *id003
|
@@ -54,6 +65,10 @@ dependencies:
|
|
54
65
|
requirements:
|
55
66
|
- - ~>
|
56
67
|
- !ruby/object:Gem::Version
|
68
|
+
segments:
|
69
|
+
- 3
|
70
|
+
- 0
|
71
|
+
- 5
|
57
72
|
version: 3.0.5
|
58
73
|
type: :development
|
59
74
|
version_requirements: *id004
|
@@ -92,17 +107,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
92
107
|
requirements:
|
93
108
|
- - ">="
|
94
109
|
- !ruby/object:Gem::Version
|
110
|
+
segments:
|
111
|
+
- 0
|
95
112
|
version: "0"
|
96
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
114
|
none: false
|
98
115
|
requirements:
|
99
116
|
- - ">="
|
100
117
|
- !ruby/object:Gem::Version
|
118
|
+
segments:
|
119
|
+
- 0
|
101
120
|
version: "0"
|
102
121
|
requirements: []
|
103
122
|
|
104
123
|
rubyforge_project: sentiql
|
105
|
-
rubygems_version: 1.
|
124
|
+
rubygems_version: 1.3.7
|
106
125
|
signing_key:
|
107
126
|
specification_version: 3
|
108
127
|
summary: A minimalistic Ruby wrapper for MySQL
|