activerecord_snapshot_view 0.11.4 → 0.11.5

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -13,7 +13,9 @@ begin
13
13
  gem.email = "mccraigmccraig@googlemail.com"
14
14
  gem.homepage = "http://github.com/mccraigmccraig/activerecord_snapshot_view"
15
15
  gem.authors = ["mccraig mccraig of the clan mccraig"]
16
+ gem.add_dependency "activerecord", ">= 2.3.9"
16
17
  gem.add_development_dependency "rspec"
18
+ gem.add_development_dependency "rr", ">= 0.10.5"
17
19
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
20
  end
19
21
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.4
1
+ 0.11.5
@@ -10,13 +10,17 @@
10
10
  # version table in the database
11
11
 
12
12
  # AssocationReflection caches table names... we have to undo this
13
- class ActiveRecord::Reflection::AssociationReflection
14
- def table_name
15
- klass.table_name
16
- end
13
+ module ActiveRecord
14
+ module Reflection
15
+ class AssociationReflection
16
+ def table_name
17
+ klass.table_name
18
+ end
17
19
 
18
- def quoted_table_name
19
- klass.quoted_table_name
20
+ def quoted_table_name
21
+ klass.quoted_table_name
22
+ end
23
+ end
20
24
  end
21
25
  end
22
26
 
@@ -30,19 +34,22 @@ module ActiveRecord
30
34
  end
31
35
  end
32
36
 
37
+ def self.class_from_symbol(sym)
38
+ eval(sym.to_s.camelize)
39
+ end
40
+
33
41
  # prepare a SnapshotView model for migration... move all data to the
34
42
  # base table, make that current, and remove the other store tables.
35
43
  # if the model no longer exists, or is no longer a SnapshotView,
36
44
  # catch any errors
37
- def self.prepare_to_migrate(model)
38
- klassname = model.to_s.singularize.camelize
45
+ def self.prepare_to_migrate(model_sym)
39
46
  begin
40
- klass = eval(klassname)
47
+ klass = class_from_symbol(model_sym)
41
48
  if klass.ancestors.include?(ActiveRecord::SnapshotView)
42
49
  klass.prepare_to_migrate
43
50
  end
44
51
  rescue
45
- $stderr << "model: #{klassname} no longer exists?\n"
52
+ $stderr << "model: #{model_sym} no longer exists?\n"
46
53
  end
47
54
  end
48
55
 
@@ -0,0 +1,12 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "ActiverecordSnapshotView" do
4
+ describe "prepare_to_migrate" do
5
+ describe "class from symbol" do
6
+ it "should return a class given a symbol" do
7
+ ActiveRecord::SnapshotView.class_from_symbol(:object).should == Object
8
+ ActiveRecord::SnapshotView.class_from_symbol(:"active_record/snapshot_view").should == ActiveRecord::SnapshotView
9
+ end
10
+ end
11
+ end
12
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'activerecord_worm_table/worm_table'
3
+ require 'activerecord_snapshot_view'
4
4
  require 'spec'
5
5
  require 'spec/autorun'
6
6
 
7
7
  Spec::Runner.configure do |config|
8
-
8
+ config.mock_with :rr
9
9
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_snapshot_view
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 57
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 11
8
- - 4
9
- version: 0.11.4
9
+ - 5
10
+ version: 0.11.5
10
11
  platform: ruby
11
12
  authors:
12
13
  - mccraig mccraig of the clan mccraig
@@ -14,21 +15,55 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-06-15 00:00:00 +01:00
18
+ date: 2010-10-03 00:00:00 +01:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: rspec
22
+ name: activerecord
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 17
30
+ segments:
31
+ - 2
32
+ - 3
33
+ - 9
34
+ version: 2.3.9
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
24
42
  requirements:
25
43
  - - ">="
26
44
  - !ruby/object:Gem::Version
45
+ hash: 3
27
46
  segments:
28
47
  - 0
29
48
  version: "0"
30
49
  type: :development
31
- version_requirements: *id001
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rr
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 61
60
+ segments:
61
+ - 0
62
+ - 10
63
+ - 5
64
+ version: 0.10.5
65
+ type: :development
66
+ version_requirements: *id003
32
67
  description: |-
33
68
  manage snapshot materialized views for ActiveRecord. multiple
34
69
  versions of each view are maintained, a live version, a working
@@ -51,7 +86,7 @@ files:
51
86
  - VERSION
52
87
  - lib/activerecord_snapshot_view.rb
53
88
  - lib/activerecord_snapshot_view/snapshot_view.rb
54
- - spec/activerecord_snapshot_view.rb
89
+ - spec/activerecord_snapshot_view_spec.rb
55
90
  - spec/spec_helper.rb
56
91
  has_rdoc: true
57
92
  homepage: http://github.com/mccraigmccraig/activerecord_snapshot_view
@@ -63,26 +98,30 @@ rdoc_options:
63
98
  require_paths:
64
99
  - lib
65
100
  required_ruby_version: !ruby/object:Gem::Requirement
101
+ none: false
66
102
  requirements:
67
103
  - - ">="
68
104
  - !ruby/object:Gem::Version
105
+ hash: 3
69
106
  segments:
70
107
  - 0
71
108
  version: "0"
72
109
  required_rubygems_version: !ruby/object:Gem::Requirement
110
+ none: false
73
111
  requirements:
74
112
  - - ">="
75
113
  - !ruby/object:Gem::Version
114
+ hash: 3
76
115
  segments:
77
116
  - 0
78
117
  version: "0"
79
118
  requirements: []
80
119
 
81
120
  rubyforge_project:
82
- rubygems_version: 1.3.6
121
+ rubygems_version: 1.3.7
83
122
  signing_key:
84
123
  specification_version: 3
85
124
  summary: snapshot materialized view support for ActiveRecord
86
125
  test_files:
87
- - spec/activerecord_snapshot_view.rb
126
+ - spec/activerecord_snapshot_view_spec.rb
88
127
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "ActiverecordSnapshotView" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
6
- end
7
- end