prosto_cache 0.1.0 → 0.1.1

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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/prosto_cache.rb +9 -1
  3. data/prosto_cache.gemspec +91 -0
  4. metadata +94 -151
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/lib/prosto_cache.rb CHANGED
@@ -113,7 +113,15 @@ module ProstoCache
113
113
 
114
114
  def query_cache_signature
115
115
  raw_result = ActiveRecord::Base.connection.execute "select max(updated_at) as max_updated_at, max(id) as max_id, count(id) as count from #{model_class.name.tableize}"
116
- raw_result.map(&:to_hash).map(&:symbolize_keys).first
116
+ array_result = case raw_result.class.name
117
+ when 'Mysql::Result'
118
+ [].tap { |rows| raw_result.each_hash { |h| rows << h } }
119
+ when 'PGresult'
120
+ raw_result.map(&:to_hash)
121
+ else
122
+ raise "Result class #{raw_result.class.name} in unsupported"
123
+ end
124
+ array_result.map(&:symbolize_keys).first
117
125
  end
118
126
  end
119
127
 
@@ -0,0 +1,91 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "prosto_cache"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Olek Poplavsky"]
12
+ s.date = "2012-07-13"
13
+ s.description = "Use this gem if you want a simple 'enum-like' cache for your models that does not restrict updates, but will stay current with them."
14
+ s.email = "olek@woodenbits.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/prosto_cache.rb",
29
+ "prosto_cache.gemspec",
30
+ "spec/prosto_cache_spec.rb",
31
+ "spec/spec_helper.rb",
32
+ "vendor/cache/diff-lcs-1.1.2.gem",
33
+ "vendor/cache/git-1.2.5.gem",
34
+ "vendor/cache/hashie-1.0.0.gem",
35
+ "vendor/cache/jeweler-1.6.0.gem",
36
+ "vendor/cache/rake-0.8.7.gem",
37
+ "vendor/cache/rcov-0.9.9.gem",
38
+ "vendor/cache/reek-1.2.8.gem",
39
+ "vendor/cache/roodi-2.1.0.gem",
40
+ "vendor/cache/rspec-2.3.0.gem",
41
+ "vendor/cache/rspec-core-2.3.1.gem",
42
+ "vendor/cache/rspec-expectations-2.3.0.gem",
43
+ "vendor/cache/rspec-mocks-2.3.0.gem",
44
+ "vendor/cache/ruby2ruby-1.2.5.gem",
45
+ "vendor/cache/ruby_parser-2.0.6.gem",
46
+ "vendor/cache/sexp_processor-3.0.5.gem",
47
+ "vendor/cache/yard-0.6.8.gem"
48
+ ]
49
+ s.homepage = "http://github.com/olek/prosto_cache"
50
+ s.licenses = ["MIT"]
51
+ s.require_paths = ["lib"]
52
+ s.rubygems_version = "1.8.11"
53
+ s.summary = "Very simple caching for your ActiveRecord models."
54
+
55
+ if s.respond_to? :specification_version then
56
+ s.specification_version = 3
57
+
58
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
+ s.add_runtime_dependency(%q<hashie>, [">= 1.0.0"])
60
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
61
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
62
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
63
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
64
+ s.add_development_dependency(%q<rcov>, [">= 0"])
65
+ s.add_development_dependency(%q<reek>, ["~> 1.2.8"])
66
+ s.add_development_dependency(%q<roodi>, ["~> 2.1.0"])
67
+ s.add_development_dependency(%q<rake>, ["= 0.8.7"])
68
+ else
69
+ s.add_dependency(%q<hashie>, [">= 1.0.0"])
70
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
71
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
72
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
73
+ s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
74
+ s.add_dependency(%q<rcov>, [">= 0"])
75
+ s.add_dependency(%q<reek>, ["~> 1.2.8"])
76
+ s.add_dependency(%q<roodi>, ["~> 2.1.0"])
77
+ s.add_dependency(%q<rake>, ["= 0.8.7"])
78
+ end
79
+ else
80
+ s.add_dependency(%q<hashie>, [">= 1.0.0"])
81
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
82
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
83
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
84
+ s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
85
+ s.add_dependency(%q<rcov>, [">= 0"])
86
+ s.add_dependency(%q<reek>, ["~> 1.2.8"])
87
+ s.add_dependency(%q<roodi>, ["~> 2.1.0"])
88
+ s.add_dependency(%q<rake>, ["= 0.8.7"])
89
+ end
90
+ end
91
+
metadata CHANGED
@@ -1,175 +1,124 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: prosto_cache
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 0
10
- version: 0.1.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Olek Poplavsky
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-05-25 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :runtime
24
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-07-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: hashie
16
+ requirement: &2152717360 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 23
30
- segments:
31
- - 1
32
- - 0
33
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.0.0
35
- name: hashie
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
22
+ type: :runtime
38
23
  prerelease: false
39
- type: :development
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2152717360
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &2152716740 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
29
+ requirements:
43
30
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 2
48
- - 3
49
- - 0
31
+ - !ruby/object:Gem::Version
50
32
  version: 2.3.0
51
- name: rspec
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- prerelease: false
55
33
  type: :development
56
- requirement: &id003 !ruby/object:Gem::Requirement
34
+ prerelease: false
35
+ version_requirements: *2152716740
36
+ - !ruby/object:Gem::Dependency
37
+ name: yard
38
+ requirement: &2152716160 !ruby/object:Gem::Requirement
57
39
  none: false
58
- requirements:
40
+ requirements:
59
41
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 7
62
- segments:
63
- - 0
64
- - 6
65
- - 0
42
+ - !ruby/object:Gem::Version
66
43
  version: 0.6.0
67
- name: yard
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- prerelease: false
71
44
  type: :development
72
- requirement: &id004 !ruby/object:Gem::Requirement
45
+ prerelease: false
46
+ version_requirements: *2152716160
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: &2152715480 !ruby/object:Gem::Requirement
73
50
  none: false
74
- requirements:
51
+ requirements:
75
52
  - - ~>
76
- - !ruby/object:Gem::Version
77
- hash: 23
78
- segments:
79
- - 1
80
- - 0
81
- - 0
53
+ - !ruby/object:Gem::Version
82
54
  version: 1.0.0
83
- name: bundler
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- prerelease: false
87
55
  type: :development
88
- requirement: &id005 !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: *2152715480
58
+ - !ruby/object:Gem::Dependency
59
+ name: jeweler
60
+ requirement: &2152714520 !ruby/object:Gem::Requirement
89
61
  none: false
90
- requirements:
62
+ requirements:
91
63
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 15
94
- segments:
95
- - 1
96
- - 6
97
- - 0
64
+ - !ruby/object:Gem::Version
98
65
  version: 1.6.0
99
- name: jeweler
100
- version_requirements: *id005
101
- - !ruby/object:Gem::Dependency
102
- prerelease: false
103
66
  type: :development
104
- requirement: &id006 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- hash: 3
110
- segments:
111
- - 0
112
- version: "0"
113
- name: rcov
114
- version_requirements: *id006
115
- - !ruby/object:Gem::Dependency
116
67
  prerelease: false
68
+ version_requirements: *2152714520
69
+ - !ruby/object:Gem::Dependency
70
+ name: rcov
71
+ requirement: &2152713460 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
117
77
  type: :development
118
- requirement: &id007 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ version_requirements: *2152713460
80
+ - !ruby/object:Gem::Dependency
81
+ name: reek
82
+ requirement: &2152712960 !ruby/object:Gem::Requirement
119
83
  none: false
120
- requirements:
84
+ requirements:
121
85
  - - ~>
122
- - !ruby/object:Gem::Version
123
- hash: 15
124
- segments:
125
- - 1
126
- - 2
127
- - 8
86
+ - !ruby/object:Gem::Version
128
87
  version: 1.2.8
129
- name: reek
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- prerelease: false
133
88
  type: :development
134
- requirement: &id008 !ruby/object:Gem::Requirement
89
+ prerelease: false
90
+ version_requirements: *2152712960
91
+ - !ruby/object:Gem::Dependency
92
+ name: roodi
93
+ requirement: &2152712460 !ruby/object:Gem::Requirement
135
94
  none: false
136
- requirements:
95
+ requirements:
137
96
  - - ~>
138
- - !ruby/object:Gem::Version
139
- hash: 11
140
- segments:
141
- - 2
142
- - 1
143
- - 0
97
+ - !ruby/object:Gem::Version
144
98
  version: 2.1.0
145
- name: roodi
146
- version_requirements: *id008
147
- - !ruby/object:Gem::Dependency
148
- prerelease: false
149
99
  type: :development
150
- requirement: &id009 !ruby/object:Gem::Requirement
100
+ prerelease: false
101
+ version_requirements: *2152712460
102
+ - !ruby/object:Gem::Dependency
103
+ name: rake
104
+ requirement: &2152728200 !ruby/object:Gem::Requirement
151
105
  none: false
152
- requirements:
153
- - - "="
154
- - !ruby/object:Gem::Version
155
- hash: 49
156
- segments:
157
- - 0
158
- - 8
159
- - 7
106
+ requirements:
107
+ - - =
108
+ - !ruby/object:Gem::Version
160
109
  version: 0.8.7
161
- name: rake
162
- version_requirements: *id009
163
- description: Use this gem if you want a simple 'enum-like' cache for your models that does not restrict updates, but will stay current with them.
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *2152728200
113
+ description: Use this gem if you want a simple 'enum-like' cache for your models that
114
+ does not restrict updates, but will stay current with them.
164
115
  email: olek@woodenbits.com
165
116
  executables: []
166
-
167
117
  extensions: []
168
-
169
- extra_rdoc_files:
118
+ extra_rdoc_files:
170
119
  - LICENSE.txt
171
120
  - README.rdoc
172
- files:
121
+ files:
173
122
  - .document
174
123
  - .rspec
175
124
  - Gemfile
@@ -179,6 +128,7 @@ files:
179
128
  - Rakefile
180
129
  - VERSION
181
130
  - lib/prosto_cache.rb
131
+ - prosto_cache.gemspec
182
132
  - spec/prosto_cache_spec.rb
183
133
  - spec/spec_helper.rb
184
134
  - vendor/cache/diff-lcs-1.1.2.gem
@@ -197,39 +147,32 @@ files:
197
147
  - vendor/cache/ruby_parser-2.0.6.gem
198
148
  - vendor/cache/sexp_processor-3.0.5.gem
199
149
  - vendor/cache/yard-0.6.8.gem
200
- has_rdoc: true
201
150
  homepage: http://github.com/olek/prosto_cache
202
- licenses:
151
+ licenses:
203
152
  - MIT
204
153
  post_install_message:
205
154
  rdoc_options: []
206
-
207
- require_paths:
155
+ require_paths:
208
156
  - lib
209
- required_ruby_version: !ruby/object:Gem::Requirement
157
+ required_ruby_version: !ruby/object:Gem::Requirement
210
158
  none: false
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- hash: 3
215
- segments:
159
+ requirements:
160
+ - - ! '>='
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ segments:
216
164
  - 0
217
- version: "0"
218
- required_rubygems_version: !ruby/object:Gem::Requirement
165
+ hash: -4108692343015697059
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
167
  none: false
220
- requirements:
221
- - - ">="
222
- - !ruby/object:Gem::Version
223
- hash: 3
224
- segments:
225
- - 0
226
- version: "0"
168
+ requirements:
169
+ - - ! '>='
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
227
172
  requirements: []
228
-
229
173
  rubyforge_project:
230
- rubygems_version: 1.6.2
174
+ rubygems_version: 1.8.11
231
175
  signing_key:
232
176
  specification_version: 3
233
177
  summary: Very simple caching for your ActiveRecord models.
234
178
  test_files: []
235
-