acts_as_archive 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -5,16 +5,11 @@ Don't delete your records, move them to a different table.
5
5
 
6
6
  Like <code>acts\_as\_paranoid</code>, but doesn't mess with your SQL queries.
7
7
 
8
- Compatibility
9
- -------------
10
-
11
- Tested with Ruby 1.8.6, 1.8.7, and 1.9.1.
12
-
13
8
  Install
14
9
  -------
15
10
 
16
11
  <pre>
17
- sudo gem install acts_as_archive --source http://gemcutter.org
12
+ sudo gem install acts_as_archive
18
13
  </pre>
19
14
 
20
15
  **environment.rb**:
@@ -39,19 +34,17 @@ end
39
34
  Run acts\_as\_archive
40
35
  ---------------------
41
36
 
42
- Terminal:
43
-
44
37
  <pre>
45
38
  cd your_rails_app
46
39
  acts_as_archive Article
47
40
  </pre>
48
41
 
42
+ Run this command every time you add <code>acts\_as\_archive</code> to a new model.
43
+
49
44
  This command creates your archive tables (<code>archived_articles</code> as per the example).
50
45
 
51
46
  Archive tables mirror your table's structure, but with an additional <code>deleted_at</code> column.
52
47
 
53
- Run this command every time you add <code>acts\_as\_archive</code> to a new model.
54
-
55
48
  That's it!
56
49
  ----------
57
50
 
@@ -62,7 +55,7 @@ Records move into the archive table instead of being destroyed.
62
55
  What if my schema changes?
63
56
  --------------------------
64
57
 
65
- Any new migrations on your table are automatically applied to the archive table.
58
+ New migrations are automatically applied to the archive table.
66
59
 
67
60
  Query the archive
68
61
  -----------------
@@ -85,7 +78,7 @@ Article.restore_all([ 'id = ?', 1 ])
85
78
  Auto-migrate from acts\_as\_paranoid
86
79
  ------------------------------------
87
80
 
88
- If you previously used <code>acts\_as\_paranoid</code>, running the <code>acts\_as\_archive</code>
81
+ If you previously used <code>acts\_as\_paranoid</code>, the <code>acts\_as\_archive</code>
89
82
  command will automatically move your deleted records to the archive table
90
83
  (see <a href="#run_acts_as_archive">_Run acts\_as\_archive_</a>).
91
84
 
@@ -104,5 +97,5 @@ class Article < ActiveRecord::Base
104
97
  end
105
98
  </pre>
106
99
 
107
- Run the <code>acts\_as\_archive</code> command any time you add new indexes
100
+ Run the <code>acts\_as\_archive</code> command upon adding new indexes
108
101
  (see <a href="#run_acts_as_archive">_Run acts\_as\_archive_</a>).
data/Rakefile CHANGED
@@ -1,49 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/gempackagetask'
4
- require 'spec/rake/spectask'
5
-
6
- GEM_NAME = 'acts_as_archive'
7
- PKG_FILES = FileList['**/*'] - FileList['coverage', 'coverage/**/*', 'pkg', 'pkg/**/*', 'spec/db/log/*.log']
8
-
9
- spec = Gem::Specification.new do |s|
10
- s.author = "Winton Welsh"
11
- s.email = "mail@wintoni.us"
12
- s.executables << GEM_NAME
13
- s.extra_rdoc_files = [ "README.markdown" ]
14
- s.files = PKG_FILES.to_a
15
- s.homepage = "http://github.com/winton/#{GEM_NAME}"
16
- s.name = GEM_NAME
17
- s.platform = Gem::Platform::RUBY
18
- s.require_path = "lib"
19
- s.summary = "Don't delete your records, move them to a different table"
20
- s.version = "0.1.6"
21
- end
22
-
23
- desc "Package gem"
24
- Rake::GemPackageTask.new(spec) do |pkg|
25
- pkg.gem_spec = spec
26
- end
27
-
28
- desc "Install gem"
29
- task :install do
30
- Rake::Task['gem'].invoke
31
- `gem uninstall #{GEM_NAME} -x`
32
- `gem install pkg/#{GEM_NAME}*.gem`
33
- `rm -Rf pkg`
34
- end
35
-
36
- desc "Generate gemspec"
37
- task :gemspec do
38
- File.open("#{File.dirname(__FILE__)}/#{GEM_NAME}.gemspec", 'w') do |f|
39
- f.write(spec.to_ruby)
40
- end
41
- end
42
-
43
- desc "Run specs"
44
- Spec::Rake::SpecTask.new do |t|
45
- t.spec_opts = ["--format", "specdoc", "--colour"]
46
- t.spec_files = FileList["spec/**/*_spec.rb"]
47
- end
48
-
49
- task :default => :spec
1
+ require "#{File.dirname(__FILE__)}/require"
2
+ Require.rakefile!
data/bin/acts_as_archive CHANGED
@@ -1,3 +1,2 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- puts `script/runner "ActsAsArchive.update #{ARGV.join ', '}"`
2
+ puts `script/runner "ActsAsArchive.update #{ARGV.join ', '}"`
@@ -1,20 +1,5 @@
1
- require File.dirname(__FILE__) + "/base/destroy"
2
- require File.dirname(__FILE__) + "/base/restore"
3
- require File.dirname(__FILE__) + "/base/table"
4
-
5
1
  module ActsAsArchive
6
2
 
7
- def self.update(*models)
8
- models.each do |klass|
9
- if klass.respond_to?(:acts_as_archive?) && klass.acts_as_archive?
10
- klass.create_archive_table
11
- klass.migrate_from_acts_as_paranoid
12
- klass.create_archive_indexes
13
- puts 'Success!'
14
- end
15
- end
16
- end
17
-
18
3
  module Base
19
4
  def self.included(base)
20
5
  base.extend ActMethods
@@ -1,2 +1,16 @@
1
- require File.dirname(__FILE__) + "/acts_as_archive/base"
2
- require File.dirname(__FILE__) + "/acts_as_archive/migration"
1
+ require File.expand_path("#{File.dirname(__FILE__)}/../require")
2
+ Require.lib!
3
+
4
+ module ActsAsArchive
5
+
6
+ def self.update(*models)
7
+ models.each do |klass|
8
+ if klass.respond_to?(:acts_as_archive?) && klass.acts_as_archive?
9
+ klass.create_archive_table
10
+ klass.migrate_from_acts_as_paranoid
11
+ klass.create_archive_indexes
12
+ puts 'Success!'
13
+ end
14
+ end
15
+ end
16
+ end
data/rails/init.rb CHANGED
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/acts_as_archive")
1
+ require File.expand_path("#{File.dirname(__FILE__)}/../require")
2
+ Require.rails_init!
2
3
 
3
4
  ActiveRecord::Base.send(:include, ActsAsArchive::Base)
4
- ActiveRecord::Migration.send(:include, ActsAsArchive::Migration)
5
+ ActiveRecord::Migration.send(:include, ActsAsArchive::Migration)
data/require.rb ADDED
@@ -0,0 +1,47 @@
1
+ require 'rubygems'
2
+ gem 'require'
3
+ require 'require'
4
+
5
+ Require File.dirname(__FILE__) do
6
+ gem(:activerecord) { require 'active_record' }
7
+ gem :require, '=0.1.8'
8
+ gem(:rake, '=0.8.7') { require 'rake' }
9
+ gem :rspec, '=1.3.0'
10
+
11
+ gemspec do
12
+ author 'Winton Welsh'
13
+ dependencies do
14
+ gem :require
15
+ end
16
+ email 'mail@wintoni.us'
17
+ name 'acts_as_archive'
18
+ homepage "http://github.com/winton/#{name}"
19
+ summary "Don't delete your records, move them to a different table"
20
+ version '0.2.0'
21
+ end
22
+
23
+ lib do
24
+ require "lib/acts_as_archive/base"
25
+ require "lib/acts_as_archive/base/destroy"
26
+ require "lib/acts_as_archive/base/restore"
27
+ require "lib/acts_as_archive/base/table"
28
+ require "lib/acts_as_archive/migration"
29
+ end
30
+
31
+ rails_init { require 'lib/acts_as_archive' }
32
+
33
+ rakefile do
34
+ gem(:rake) { require 'rake/gempackagetask' }
35
+ gem(:rspec) { require 'spec/rake/spectask' }
36
+ require 'require/tasks'
37
+ end
38
+
39
+ spec_helper do
40
+ require 'require/spec_helper'
41
+ gem :activerecord
42
+ require 'logger'
43
+ require 'yaml'
44
+ require 'pp'
45
+ require 'rails/init'
46
+ end
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,5 @@
1
- $TESTING=true
2
- SPEC = File.expand_path(File.dirname(__FILE__))
3
-
4
- require 'rubygems'
5
- require 'active_record'
6
- require 'logger'
7
- require 'yaml'
8
- require 'pp'
9
-
10
- require File.expand_path("#{SPEC}/../rails/init")
1
+ require File.expand_path("#{File.dirname(__FILE__)}/../require")
2
+ Require.spec_helper!
11
3
 
12
4
  Spec::Runner.configure do |config|
13
5
  end
@@ -54,12 +46,6 @@ def create_records(klass=Article, values={})
54
46
  end
55
47
  end
56
48
 
57
- def debug(object)
58
- puts "<pre>"
59
- pp object
60
- puts "</pre>"
61
- end
62
-
63
49
  def establish_test_db
64
50
  # Establish connection
65
51
  unless ActiveRecord::Base.connected?
@@ -97,4 +83,4 @@ def migrate_up(directory='migrate')
97
83
  ActiveRecord::Migrator.migrate("#{SPEC}/db/#{directory}")
98
84
  @new_article_columns = columns("articles")
99
85
  @new_archive_columns = columns("archived_articles")
100
- end
86
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_archive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Winton Welsh
@@ -11,8 +11,17 @@ cert_chain: []
11
11
 
12
12
  date: 2010-02-03 00:00:00 -08:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: require
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.1.8
24
+ version:
16
25
  description:
17
26
  email: mail@wintoni.us
18
27
  executables:
@@ -34,6 +43,7 @@ files:
34
43
  - rails/init.rb
35
44
  - Rakefile
36
45
  - README.markdown
46
+ - require.rb
37
47
  - spec/acts_as_archive/base/destroy_spec.rb
38
48
  - spec/acts_as_archive/base/restore_spec.rb
39
49
  - spec/acts_as_archive/base/table_spec.rb