prosto_cache 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
-