ssdb-attr 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d0a8577ee7cc342983ced7c743a36fb4bf06a99
4
- data.tar.gz: c202f59301160470540f18f6fd8bfb7a6c346d97
3
+ metadata.gz: 4a289ae79142236400a07707a60202ab5b1f6145
4
+ data.tar.gz: 2215310bf7c08fbfd041b65fe7f8e3c3e7755579
5
5
  SHA512:
6
- metadata.gz: 0ab615231b7df6dc1bc6e9a9db48c1120150636c474961ba9d0653c7634e4bbe9580cf360fa4951d9f8257ab7f48b7ff98fee9f19b3c4478275ecb9cfe294110
7
- data.tar.gz: 18e23b76f1d825bc3dd5bfb26be2756c976d06f58e31aaade8bb89393d6dbcd29c2380c2dca7dd3d13abac32352179813e3f3846fb36acda64daf1eab2ab14f9
6
+ metadata.gz: 192fec65d8cfaef017ce5b1b96080f1b46ecb638957187d6014273d1b501e8d5bb6e31add92c26a02d5640c56a0570746514b53e28108e74c2c7ae87b0481b95
7
+ data.tar.gz: 5c459ca635fd3ce0c916ecdae4dac4cb7460e708ab0dfb51c5ebd33e7891002643b2666e1af21867d758047b544e404393a3355ae8b8bb388becc901808bf8ae
@@ -1 +1 @@
1
- ruby-2.3.0
1
+ 2.3.4
@@ -1,7 +1,11 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.3.0
4
+ - 2.3.4
5
+
6
+ gemfile:
7
+ - Gemfile
8
+ - gemfiles/Gemfile.activerecord-4.2.x
5
9
 
6
10
  before_install:
7
11
  - git clone -b stable-1.9.2 git://github.com/ideawu/ssdb.git
data/Gemfile CHANGED
@@ -1,4 +1,11 @@
1
- source 'https://gems.ruby-china.org'
1
+ source "https://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in ssdb-attr.gemspec
4
3
  gemspec
4
+
5
+ gem "activerecord", "~> 5.0"
6
+
7
+ gem "rake"
8
+ gem "pry"
9
+ gem "sqlite3"
10
+ gem "activerecord-nulldb-adapter"
11
+ gem "rspec"
@@ -1,73 +1,69 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ssdb-attr (0.1.3)
5
- activesupport (~> 4.2.1)
4
+ ssdb-attr (0.1.4)
5
+ activerecord (>= 4.2.1, < 5.1)
6
6
  connection_pool (~> 2.2.0)
7
7
  redis (~> 3.2.1)
8
8
 
9
9
  GEM
10
- remote: https://gems.ruby-china.org/
10
+ remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (4.2.1)
13
- activesupport (= 4.2.1)
14
- builder (~> 3.1)
15
- activerecord (4.2.1)
16
- activemodel (= 4.2.1)
17
- activesupport (= 4.2.1)
18
- arel (~> 6.0)
19
- activerecord-nulldb-adapter (0.3.1)
12
+ activemodel (5.0.5)
13
+ activesupport (= 5.0.5)
14
+ activerecord (5.0.5)
15
+ activemodel (= 5.0.5)
16
+ activesupport (= 5.0.5)
17
+ arel (~> 7.0)
18
+ activerecord-nulldb-adapter (0.3.7)
20
19
  activerecord (>= 2.0.0)
21
- activesupport (4.2.1)
20
+ activesupport (5.0.5)
21
+ concurrent-ruby (~> 1.0, >= 1.0.2)
22
22
  i18n (~> 0.7)
23
- json (~> 1.7, >= 1.7.7)
24
23
  minitest (~> 5.1)
25
- thread_safe (~> 0.3, >= 0.3.4)
26
24
  tzinfo (~> 1.1)
27
- arel (6.0.0)
28
- builder (3.2.2)
25
+ arel (7.1.4)
29
26
  coderay (1.1.1)
27
+ concurrent-ruby (1.0.5)
30
28
  connection_pool (2.2.1)
31
- diff-lcs (1.2.5)
32
- i18n (0.7.0)
33
- json (1.8.2)
29
+ diff-lcs (1.3)
30
+ i18n (0.8.6)
34
31
  method_source (0.8.2)
35
- minitest (5.5.1)
32
+ minitest (5.10.3)
36
33
  pry (0.10.4)
37
34
  coderay (~> 1.1.0)
38
35
  method_source (~> 0.8.1)
39
36
  slop (~> 3.4)
40
- rake (10.4.2)
37
+ rake (12.0.0)
41
38
  redis (3.2.2)
42
- rspec (3.5.0)
43
- rspec-core (~> 3.5.0)
44
- rspec-expectations (~> 3.5.0)
45
- rspec-mocks (~> 3.5.0)
46
- rspec-core (3.5.4)
47
- rspec-support (~> 3.5.0)
48
- rspec-expectations (3.5.0)
39
+ rspec (3.6.0)
40
+ rspec-core (~> 3.6.0)
41
+ rspec-expectations (~> 3.6.0)
42
+ rspec-mocks (~> 3.6.0)
43
+ rspec-core (3.6.0)
44
+ rspec-support (~> 3.6.0)
45
+ rspec-expectations (3.6.0)
49
46
  diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.5.0)
51
- rspec-mocks (3.5.0)
47
+ rspec-support (~> 3.6.0)
48
+ rspec-mocks (3.6.0)
52
49
  diff-lcs (>= 1.2.0, < 2.0)
53
- rspec-support (~> 3.5.0)
54
- rspec-support (3.5.0)
50
+ rspec-support (~> 3.6.0)
51
+ rspec-support (3.6.0)
55
52
  slop (3.6.0)
56
- sqlite3 (1.3.10)
57
- thread_safe (0.3.5)
58
- tzinfo (1.2.2)
53
+ sqlite3 (1.3.13)
54
+ thread_safe (0.3.6)
55
+ tzinfo (1.2.3)
59
56
  thread_safe (~> 0.1)
60
57
 
61
58
  PLATFORMS
62
59
  ruby
63
60
 
64
61
  DEPENDENCIES
65
- activerecord (~> 4.2.1)
62
+ activerecord (~> 5.0)
66
63
  activerecord-nulldb-adapter
67
- bundler (~> 1.5)
68
64
  pry
69
65
  rake
70
- rspec (~> 3.5.0)
66
+ rspec
71
67
  sqlite3
72
68
  ssdb-attr!
73
69
 
data/README.md CHANGED
@@ -6,6 +6,11 @@ This gem provides an intuitive interface to define attributes on your ActiveMode
6
6
 
7
7
  # Changelog
8
8
 
9
+ ### 0.1.5
10
+
11
+ - Upgrade `activerecord` dependency to support 5.1
12
+ - Change `after_commit` callback to use `after_create` & `after_save`
13
+
9
14
  ### 0.1.4
10
15
 
11
16
  - Add `SSDBAttr.load_attrs(objects, *fields)` to load multiple attrs for multiple same objects at one time.
@@ -0,0 +1,11 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec path: ".."
4
+
5
+ gem "activerecord", "~> 4.2", ">= 4.2.1"
6
+
7
+ gem "rake"
8
+ gem "pry"
9
+ gem "sqlite3"
10
+ gem "activerecord-nulldb-adapter"
11
+ gem "rspec"
@@ -0,0 +1,72 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ ssdb-attr (0.1.4)
5
+ activerecord (>= 4.2.1, < 5.1)
6
+ connection_pool (~> 2.2.0)
7
+ redis (~> 3.2.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activemodel (4.2.9)
13
+ activesupport (= 4.2.9)
14
+ builder (~> 3.1)
15
+ activerecord (4.2.9)
16
+ activemodel (= 4.2.9)
17
+ activesupport (= 4.2.9)
18
+ arel (~> 6.0)
19
+ activerecord-nulldb-adapter (0.3.7)
20
+ activerecord (>= 2.0.0)
21
+ activesupport (4.2.9)
22
+ i18n (~> 0.7)
23
+ minitest (~> 5.1)
24
+ thread_safe (~> 0.3, >= 0.3.4)
25
+ tzinfo (~> 1.1)
26
+ arel (6.0.4)
27
+ builder (3.2.3)
28
+ coderay (1.1.1)
29
+ connection_pool (2.2.1)
30
+ diff-lcs (1.3)
31
+ i18n (0.8.6)
32
+ method_source (0.8.2)
33
+ minitest (5.10.3)
34
+ pry (0.10.4)
35
+ coderay (~> 1.1.0)
36
+ method_source (~> 0.8.1)
37
+ slop (~> 3.4)
38
+ rake (12.0.0)
39
+ redis (3.2.2)
40
+ rspec (3.6.0)
41
+ rspec-core (~> 3.6.0)
42
+ rspec-expectations (~> 3.6.0)
43
+ rspec-mocks (~> 3.6.0)
44
+ rspec-core (3.6.0)
45
+ rspec-support (~> 3.6.0)
46
+ rspec-expectations (3.6.0)
47
+ diff-lcs (>= 1.2.0, < 2.0)
48
+ rspec-support (~> 3.6.0)
49
+ rspec-mocks (3.6.0)
50
+ diff-lcs (>= 1.2.0, < 2.0)
51
+ rspec-support (~> 3.6.0)
52
+ rspec-support (3.6.0)
53
+ slop (3.6.0)
54
+ sqlite3 (1.3.13)
55
+ thread_safe (0.3.6)
56
+ tzinfo (1.2.3)
57
+ thread_safe (~> 0.1)
58
+
59
+ PLATFORMS
60
+ ruby
61
+
62
+ DEPENDENCIES
63
+ activerecord (~> 4.2, >= 4.2.1)
64
+ activerecord-nulldb-adapter
65
+ pry
66
+ rake
67
+ rspec
68
+ sqlite3
69
+ ssdb-attr!
70
+
71
+ BUNDLED WITH
72
+ 1.15.3
@@ -1,3 +1,3 @@
1
1
  module SSDBAttr
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -5,7 +5,8 @@ module SSDB
5
5
  included do
6
6
  instance_variable_set(:@ssdb_attr_definition, {})
7
7
 
8
- after_commit :save_ssdb_attrs, on: %i(create update)
8
+ after_create :save_ssdb_attrs
9
+ after_update :save_ssdb_attrs
9
10
  after_commit :clear_ssdb_attrs, on: :destroy
10
11
  end
11
12
 
@@ -180,8 +181,8 @@ module SSDB
180
181
  # @return [void]
181
182
  #
182
183
  def save_ssdb_attrs
183
- params = (previous_changes.keys & self.class.ssdb_attr_names).map do |attr|
184
- ["#{ssdb_attr_key(attr)}", previous_changes[attr][1]]
184
+ params = (changes.keys & self.class.ssdb_attr_names).map do |attr|
185
+ ["#{ssdb_attr_key(attr)}", changes[attr][1]]
185
186
  end
186
187
 
187
188
  ssdb_attr_pool.with do |conn|
@@ -3,7 +3,7 @@ require "nulldb"
3
3
  require "ssdb-attr"
4
4
 
5
5
  # Setup ActiveRecord
6
- ActiveRecord::Base.raise_in_transactional_callbacks = true if ActiveRecord::VERSION::STRING >= "4.2"
6
+ ActiveRecord::Base.raise_in_transactional_callbacks = true if ActiveRecord::VERSION::STRING < "5.0"
7
7
  ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
8
8
 
9
9
  RSpec.configure do |config|
@@ -18,7 +18,7 @@ RSpec.configure do |config|
18
18
  # Clean up SSDB
19
19
  system('printf "7\nflushdb\n\n4\nping\n\n" | nc 127.0.0.1 8888 -i 1 > /dev/null')
20
20
 
21
- ActiveRecord::Base.connection.tables.each do |table|
21
+ ActiveRecord::Base.connection.data_sources.each do |table|
22
22
  ActiveRecord::Base.connection.execute "DELETE FROM #{table}"
23
23
  end
24
24
  end
@@ -76,10 +76,18 @@ describe SSDB::Attr do
76
76
  end
77
77
 
78
78
  describe "#save_ssdb_attrs" do
79
- it "should save attribute values in SSDB" do
80
- allow(post).to receive(:previous_changes).and_return({"title"=>["", "foobar2"]})
81
- post.send(:save_ssdb_attrs)
82
- expect(redis.get("posts:#{post.id}:title")).to eq("foobar2")
79
+ it "saves attribute values in ssdb when create a new record" do
80
+ post = Post.create(title: "foobar")
81
+
82
+ expect(redis.get("posts:#{post.id}:title")).to eq("foobar")
83
+ end
84
+
85
+ it "saves attribute values in ssdb when update a record" do
86
+ expect(redis.get("posts:#{post.id}:title")).to be_nil
87
+
88
+ post.update(title: "foobar")
89
+
90
+ expect(redis.get("posts:#{post.id}:title")).to eq("foobar")
83
91
  end
84
92
  end
85
93
 
@@ -20,13 +20,5 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "redis", "~> 3.2.1"
22
22
  spec.add_dependency "connection_pool", "~> 2.2.0"
23
- spec.add_dependency "activesupport", "~> 4.2.1"
24
-
25
- spec.add_development_dependency "bundler", "~> 1.5"
26
- spec.add_development_dependency "rake"
27
- spec.add_development_dependency "sqlite3"
28
- spec.add_development_dependency "pry"
29
- spec.add_development_dependency "rspec", "~> 3.5.0"
30
- spec.add_development_dependency "activerecord", "~> 4.2.1"
31
- spec.add_development_dependency "activerecord-nulldb-adapter"
23
+ spec.add_dependency "activerecord", ">= 4.2.1", "< 5.1"
32
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ssdb-attr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Larry Zhao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-14 00:00:00.000000000 Z
11
+ date: 2017-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -39,117 +39,25 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.2.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: activesupport
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 4.2.1
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 4.2.1
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.5'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.5'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: sqlite3
42
+ name: activerecord
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
45
  - - ">="
88
46
  - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: pry
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
47
+ version: 4.2.1
48
+ - - "<"
102
49
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
50
+ version: '5.1'
51
+ type: :runtime
105
52
  prerelease: false
106
53
  version_requirements: !ruby/object:Gem::Requirement
107
54
  requirements:
108
55
  - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 3.5.0
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: 3.5.0
125
- - !ruby/object:Gem::Dependency
126
- name: activerecord
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 4.2.1
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
56
  - !ruby/object:Gem::Version
138
57
  version: 4.2.1
139
- - !ruby/object:Gem::Dependency
140
- name: activerecord-nulldb-adapter
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
58
+ - - "<"
151
59
  - !ruby/object:Gem::Version
152
- version: '0'
60
+ version: '5.1'
153
61
  description: ''
154
62
  email:
155
63
  - thehiddendepth@gmail.com
@@ -166,6 +74,8 @@ files:
166
74
  - Gemfile.lock
167
75
  - README.md
168
76
  - Rakefile
77
+ - gemfiles/Gemfile.activerecord-4.2.x
78
+ - gemfiles/Gemfile.activerecord-4.2.x.lock
169
79
  - lib/ssdb-attr.rb
170
80
  - lib/ssdb-attr/version.rb
171
81
  - lib/ssdb/attr.rb
@@ -193,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
103
  version: '0'
194
104
  requirements: []
195
105
  rubyforge_project:
196
- rubygems_version: 2.6.11
106
+ rubygems_version: 2.6.12
197
107
  signing_key:
198
108
  specification_version: 4
199
109
  summary: Provide simple helpers on persist values in redis for performance. Works