condition 0.0.2 → 0.0.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.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/lib/condition/param.rb +12 -4
- data/lib/condition/param_item.rb +11 -3
- data/lib/condition/version.rb +1 -1
- data/spec/condition_spec.rb +11 -6
- data/spec/files/t_user.ods +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56f8176e26996112edd1da8178bdbdc10ea723e5
|
4
|
+
data.tar.gz: 87d8a3b31df12240ecbb2d6155d311e7629e175e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c58d2270aa657f59be34cab672c0edf05a8d7399116b969c87d0f2abcff24f8e5ff2c349c6b3686e5272cb9fc183df72233180ac2d105158f7da0d1ca3180b7
|
7
|
+
data.tar.gz: f5e00fe61661aeace89ab6dc7ac4ef9ec655b782dc86c812afa2be8f13f53708e8e048f860cb721bf99612de1a3f4d8c9e19caa1e5507b595952c52726ae11d7
|
data/README.md
CHANGED
data/lib/condition/param.rb
CHANGED
@@ -42,12 +42,20 @@ module Condition
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
+
def item(name)
|
46
|
+
@item_map[name]
|
47
|
+
end
|
48
|
+
|
45
49
|
def get(name)
|
46
|
-
@item_map[name]
|
50
|
+
item = @item_map[name]
|
51
|
+
return nil if !item
|
52
|
+
item.values
|
47
53
|
end
|
48
54
|
|
49
55
|
def get_one(name)
|
50
|
-
@item_map[name]
|
56
|
+
item = @item_map[name]
|
57
|
+
return nil if !item
|
58
|
+
item.value
|
51
59
|
end
|
52
60
|
|
53
61
|
def check(name, data)
|
@@ -57,10 +65,10 @@ module Condition
|
|
57
65
|
end
|
58
66
|
end
|
59
67
|
|
60
|
-
def pre(db)
|
68
|
+
def pre(db, default=nil)
|
61
69
|
@item_map.each_value do |item|
|
62
70
|
item.delete(db)
|
63
|
-
item.insert(db)
|
71
|
+
item.insert(db, default)
|
64
72
|
end
|
65
73
|
end
|
66
74
|
|
data/lib/condition/param_item.rb
CHANGED
@@ -36,6 +36,10 @@ module Condition
|
|
36
36
|
@values
|
37
37
|
end
|
38
38
|
|
39
|
+
def params
|
40
|
+
@params
|
41
|
+
end
|
42
|
+
|
39
43
|
def all(db)
|
40
44
|
db["SELECT * FROM #{@name}"].all
|
41
45
|
end
|
@@ -44,10 +48,14 @@ module Condition
|
|
44
48
|
db["DELETE FROM #{@name}"].delete
|
45
49
|
end
|
46
50
|
|
47
|
-
def insert(db)
|
48
|
-
|
51
|
+
def insert(db, default)
|
52
|
+
item = default.item(@name) if default
|
53
|
+
ds = db[@name.to_sym].prepare(
|
54
|
+
:insert,
|
55
|
+
:insert_with_name,
|
56
|
+
item ? item.params.merge(@params) : @params)
|
49
57
|
@values.each do |it|
|
50
|
-
ds.call(it)
|
58
|
+
ds.call(item ? item.value.merge(it) : it)
|
51
59
|
end
|
52
60
|
end
|
53
61
|
|
data/lib/condition/version.rb
CHANGED
data/spec/condition_spec.rb
CHANGED
@@ -1,24 +1,29 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
describe Condition do
|
3
3
|
before(:all) do
|
4
|
-
DB << "
|
5
|
-
DB << "
|
4
|
+
DB << "DROP TABLE IF EXISTS t_user"
|
5
|
+
DB << "DROP TABLE IF EXISTS t_test"
|
6
|
+
DB << "CREATE TABLE t_user(user_id BIGINT, user_name TEXT, login_ts TIMESTAMPTZ NOT NULL)"
|
7
|
+
DB << "CREATE TABLE t_test(id BIGINT, name TEXT, flag BOOLEAN, ts TIMESTAMPTZ, iary BIGINT[], tary TEXT[], test_name TEXT NOT NULL)"
|
6
8
|
end
|
7
9
|
|
8
10
|
it 'pre and post' do
|
9
11
|
param = Condition::Param.new(FILES + '/t_user.ods')
|
10
|
-
|
12
|
+
default = Condition::Param.new(FILES + '/t_user.ods', 3)
|
13
|
+
param.pre(DB, default)
|
11
14
|
param = Condition::Param.new(FILES + '/t_user.ods', 1)
|
12
15
|
param.post(DB)
|
13
16
|
end
|
14
17
|
|
15
18
|
it 'pre and params' do
|
16
19
|
param = Condition::Param.new(FILES + '/t_user.ods')
|
17
|
-
|
20
|
+
default = Condition::Param.new(FILES + '/t_user.ods', 3)
|
21
|
+
param.pre(DB, default)
|
18
22
|
|
19
23
|
param = Condition::Param.new(FILES + '/t_user.ods', 2)
|
20
|
-
|
21
|
-
ds.
|
24
|
+
item = default.item('t_user')
|
25
|
+
ds = DB[:t_user].prepare(:insert, :insert_with_name, item.params.merge({user_id: :$user_id, user_name: :$user_name}))
|
26
|
+
ds.call(item.value.merge(param.get_one('ins')))
|
22
27
|
|
23
28
|
list = DB["SELECT * FROM t_user"].all
|
24
29
|
param.check('list', list)
|
data/spec/files/t_user.ods
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: condition
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aoyagikouhei
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|