data_miner 0.4.7 → 0.4.8
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.
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/data_miner.gemspec +5 -5
- data/lib/data_miner.rb +11 -10
- data/lib/data_miner/configuration.rb +6 -16
- data/lib/data_miner/run.rb +14 -1
- data/test/test_helper.rb +2 -0
- metadata +5 -5
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ begin
|
|
15
15
|
gem.add_dependency 'activesupport', '>=2.3.4'
|
16
16
|
gem.add_dependency 'andand', '>=1.3.1'
|
17
17
|
gem.add_dependency 'errata', '>=0.1.7'
|
18
|
-
gem.add_dependency 'conversions', '>=1.4.
|
18
|
+
gem.add_dependency 'conversions', '>=1.4.4'
|
19
19
|
gem.add_dependency 'blockenspiel', '>=0.3.2'
|
20
20
|
gem.add_dependency 'log4r', '>=1.1.7'
|
21
21
|
gem.require_path = "lib"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.8
|
data/data_miner.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{data_miner}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Seamus Abshere", "Andy Rossmeissl"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-04-05}
|
13
13
|
s.description = %q{Mine remote data into your ActiveRecord models. You can also perform associations and convert units.}
|
14
14
|
s.email = %q{seamus@abshere.net}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -56,7 +56,7 @@ Gem::Specification.new do |s|
|
|
56
56
|
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
|
57
57
|
s.add_runtime_dependency(%q<andand>, [">= 1.3.1"])
|
58
58
|
s.add_runtime_dependency(%q<errata>, [">= 0.1.7"])
|
59
|
-
s.add_runtime_dependency(%q<conversions>, [">= 1.4.
|
59
|
+
s.add_runtime_dependency(%q<conversions>, [">= 1.4.4"])
|
60
60
|
s.add_runtime_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
61
61
|
s.add_runtime_dependency(%q<log4r>, [">= 1.1.7"])
|
62
62
|
else
|
@@ -65,7 +65,7 @@ Gem::Specification.new do |s|
|
|
65
65
|
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
66
66
|
s.add_dependency(%q<andand>, [">= 1.3.1"])
|
67
67
|
s.add_dependency(%q<errata>, [">= 0.1.7"])
|
68
|
-
s.add_dependency(%q<conversions>, [">= 1.4.
|
68
|
+
s.add_dependency(%q<conversions>, [">= 1.4.4"])
|
69
69
|
s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
70
70
|
s.add_dependency(%q<log4r>, [">= 1.1.7"])
|
71
71
|
end
|
@@ -75,7 +75,7 @@ Gem::Specification.new do |s|
|
|
75
75
|
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
76
76
|
s.add_dependency(%q<andand>, [">= 1.3.1"])
|
77
77
|
s.add_dependency(%q<errata>, [">= 0.1.7"])
|
78
|
-
s.add_dependency(%q<conversions>, [">= 1.4.
|
78
|
+
s.add_dependency(%q<conversions>, [">= 1.4.4"])
|
79
79
|
s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
80
80
|
s.add_dependency(%q<log4r>, [">= 1.1.7"])
|
81
81
|
end
|
data/lib/data_miner.rb
CHANGED
@@ -17,14 +17,15 @@ require 'data_miner/run'
|
|
17
17
|
module DataMiner
|
18
18
|
class MissingHashColumn < RuntimeError; end
|
19
19
|
|
20
|
-
include Log4r unless defined? Rails
|
21
|
-
|
22
20
|
mattr_accessor :logger
|
23
21
|
|
24
22
|
def self.start_logging
|
23
|
+
return if logger
|
24
|
+
|
25
25
|
if defined? Rails
|
26
26
|
self.logger = Rails.logger
|
27
27
|
else
|
28
|
+
class_eval { include Log4r }
|
28
29
|
info_outputter = FileOutputter.new 'f1', :filename => 'data_miner.log'
|
29
30
|
error_outputter = Outputter.stderr
|
30
31
|
info_outputter.only_at DEBUG, INFO
|
@@ -33,7 +34,6 @@ module DataMiner
|
|
33
34
|
self.logger = Logger.new 'data_miner'
|
34
35
|
logger.add info_outputter, error_outputter
|
35
36
|
ActiveRecord::Base.logger = logger
|
36
|
-
ActiveRecord::Base.colorize_logging = false
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -53,21 +53,24 @@ module DataMiner
|
|
53
53
|
def self.resource_names
|
54
54
|
DataMiner::Configuration.resource_names
|
55
55
|
end
|
56
|
-
|
57
|
-
def self.create_tables
|
58
|
-
DataMiner::Configuration.create_tables
|
59
|
-
end
|
60
56
|
end
|
61
57
|
|
62
58
|
ActiveRecord::Base.class_eval do
|
59
|
+
def self.x_data_miner(&block)
|
60
|
+
DataMiner.start_logging
|
61
|
+
|
62
|
+
DataMiner.logger.info "Skipping data_miner block in #{self.name} because called as x_data_miner"
|
63
|
+
end
|
64
|
+
|
63
65
|
def self.data_miner(&block)
|
66
|
+
DataMiner.start_logging
|
67
|
+
|
64
68
|
unless table_exists?
|
65
69
|
DataMiner.log_or_raise "Database table `#{table_name}` doesn't exist. DataMiner probably won't work properly until you run a migration or otherwise fix the schema."
|
66
70
|
return
|
67
71
|
end
|
68
72
|
|
69
73
|
DataMiner.resource_names.push self.name unless DataMiner.resource_names.include? self.name
|
70
|
-
DataMiner.create_tables
|
71
74
|
|
72
75
|
belongs_to :data_miner_last_run, :class_name => 'DataMiner::Run'
|
73
76
|
|
@@ -88,5 +91,3 @@ ActiveRecord::Base.class_eval do
|
|
88
91
|
data_miner_config.after_invoke
|
89
92
|
end
|
90
93
|
end
|
91
|
-
|
92
|
-
DataMiner.start_logging
|
@@ -35,13 +35,17 @@ module DataMiner
|
|
35
35
|
options.symbolize_keys!
|
36
36
|
|
37
37
|
finished = false
|
38
|
-
|
38
|
+
if DataMiner::Run.table_exists?
|
39
|
+
run = DataMiner::Run.create! :started_at => Time.now, :resource_name => resource.name if DataMiner::Run.table_exists?
|
40
|
+
else
|
41
|
+
DataMiner.info "Not logging individual runs. Please run DataMiner::Run.create_tables if you want to enable this."
|
42
|
+
end
|
39
43
|
resource.delete_all if options[:from_scratch]
|
40
44
|
begin
|
41
45
|
runnables.each { |runnable| runnable.run(run) }
|
42
46
|
finished = true
|
43
47
|
ensure
|
44
|
-
run.update_attributes! :ended_at => Time.now, :finished => finished
|
48
|
+
run.update_attributes! :ended_at => Time.now, :finished => finished if DataMiner::Run.table_exists?
|
45
49
|
end
|
46
50
|
nil
|
47
51
|
end
|
@@ -151,20 +155,6 @@ On the other hand, if you're working directly with create_table, this might be h
|
|
151
155
|
end
|
152
156
|
end
|
153
157
|
end
|
154
|
-
|
155
|
-
def create_tables
|
156
|
-
c = ActiveRecord::Base.connection
|
157
|
-
unless c.table_exists?('data_miner_runs')
|
158
|
-
c.create_table 'data_miner_runs', :options => 'ENGINE=InnoDB default charset=utf8' do |t|
|
159
|
-
t.string 'resource_name'
|
160
|
-
t.boolean 'finished'
|
161
|
-
t.datetime 'started_at'
|
162
|
-
t.datetime 'ended_at'
|
163
|
-
t.datetime 'created_at'
|
164
|
-
t.datetime 'updated_at'
|
165
|
-
end
|
166
|
-
end
|
167
|
-
end
|
168
158
|
end
|
169
159
|
end
|
170
160
|
end
|
data/lib/data_miner/run.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
module DataMiner
|
2
2
|
class Run < ActiveRecord::Base
|
3
3
|
set_table_name 'data_miner_runs'
|
4
|
-
default_scope :order => 'id ASC'
|
5
4
|
|
6
5
|
def resource
|
7
6
|
resource_name.constantize
|
@@ -10,5 +9,19 @@ module DataMiner
|
|
10
9
|
def resource_records_last_touched_by_me
|
11
10
|
resource.scoped :conditions => { :data_miner_last_run_id => id }
|
12
11
|
end
|
12
|
+
|
13
|
+
class << self
|
14
|
+
def create_tables
|
15
|
+
return if table_exists?
|
16
|
+
connection.create_table 'data_miner_runs' do |t|
|
17
|
+
t.string 'resource_name'
|
18
|
+
t.boolean 'finished'
|
19
|
+
t.datetime 'started_at'
|
20
|
+
t.datetime 'ended_at'
|
21
|
+
t.datetime 'created_at'
|
22
|
+
t.datetime 'updated_at'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
13
26
|
end
|
14
27
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
8
|
+
- 8
|
9
|
+
version: 0.4.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Seamus Abshere
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-04-05 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -98,8 +98,8 @@ dependencies:
|
|
98
98
|
segments:
|
99
99
|
- 1
|
100
100
|
- 4
|
101
|
-
-
|
102
|
-
version: 1.4.
|
101
|
+
- 4
|
102
|
+
version: 1.4.4
|
103
103
|
type: :runtime
|
104
104
|
version_requirements: *id006
|
105
105
|
- !ruby/object:Gem::Dependency
|