ssdb-attr 0.1.4 → 0.1.5

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 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