model_observer 0.1.3 → 0.2.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf412199be4736e145ee9a287d228ef9f0518f2e
|
4
|
+
data.tar.gz: d10fdb791caeeb708cfa73eb462d13ec75efd01b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8c5c481161ca36ea6d09b33cd92ba457a4650b062f4da21f141fd471178b28cb48cf03bf1f1afefe5875bf76cfdc5a98b33bc3eb6ab69fc47f45d3ac7e8f512
|
7
|
+
data.tar.gz: 50921cf6c28d7a1f0eadc6ea89c7a57f92c8ac645928dbf0bb9e66b5937a88b4c1f68e54ad6939c263c581ee13cbe1dd5e4fdd3210f1a8b29f0d76e8e1cf3357
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module ModelObserver
|
2
|
+
module ActiveRecord
|
3
|
+
def self.enable
|
4
|
+
require 'active_record'
|
5
|
+
::ActiveRecord::Persistence::ClassMethods.class_eval do
|
6
|
+
alias_method :origin_instantiate, :instantiate
|
7
|
+
|
8
|
+
def instantiate(record, column_types = {})
|
9
|
+
started_at = Time.now
|
10
|
+
instance = origin_instantiate(record, column_types)
|
11
|
+
ModelObserver::Collector.add_metric(ModelObserver::Metric.new(instance, started_at, Time.now))
|
12
|
+
instance
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/model_observer.rb
CHANGED
@@ -10,8 +10,15 @@ module ModelObserver
|
|
10
10
|
autoload :Rack, 'model_observer/rack'
|
11
11
|
|
12
12
|
if active_record?
|
13
|
-
|
14
|
-
|
13
|
+
if active_record4?
|
14
|
+
autoload :ActiveRecord, 'model_observer/active_record4'
|
15
|
+
ModelObserver::ActiveRecord.enable
|
16
|
+
elsif active_record3?
|
17
|
+
autoload :ActiveRecord, 'model_observer/active_record3'
|
18
|
+
ModelObserver::ActiveRecord.enable
|
19
|
+
else
|
20
|
+
raise "Current version of active_record is not supported."
|
21
|
+
end
|
15
22
|
end
|
16
23
|
|
17
24
|
class << self
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: model_observer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Weihu Chen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rails
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '3'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '3'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: sqlite3
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,7 +46,8 @@ executables: []
|
|
60
46
|
extensions: []
|
61
47
|
extra_rdoc_files: []
|
62
48
|
files:
|
63
|
-
- lib/model_observer/
|
49
|
+
- lib/model_observer/active_record3.rb
|
50
|
+
- lib/model_observer/active_record4.rb
|
64
51
|
- lib/model_observer/analyser.rb
|
65
52
|
- lib/model_observer/collector.rb
|
66
53
|
- lib/model_observer/dependency.rb
|