adkron-legacy_woes 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc ADDED
@@ -0,0 +1,11 @@
1
+ = 0.2.0
2
+ * create_on_colum(Amos King)
3
+ * updated_on_colum(Amos King)
4
+ * condensed backend code to make it easy to add new column methods(Amos King)
5
+
6
+ = 0.1.2
7
+ * clean up code(Amos King)
8
+
9
+ = 0.1.0
10
+ * created_at_column(Amos King)
11
+ * updated_at_column(Amos King)
data/Manifest CHANGED
@@ -1,3 +1,4 @@
1
+ CHANGELOG.rdoc
1
2
  lib/legacy_woes.rb
2
3
  Manifest
3
4
  MIT-LICENSE
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('legacy_woes', '0.1.1') do |p|
6
+ Echoe.new('legacy_woes', '0.2.0') do |p|
7
7
  p.description = 'Tools for legacy databases and ActiveRecord'
8
8
  p.url = 'http://github.com/adkron/legacy_woes'
9
9
  p.author = 'Amos King'
data/legacy_woes.gemspec CHANGED
@@ -2,18 +2,18 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{legacy_woes}
5
- s.version = "0.1.1"
5
+ s.version = "0.2.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Amos King"]
9
- s.date = %q{2008-12-19}
9
+ s.date = %q{2009-01-28}
10
10
  s.description = %q{Tools for legacy databases and ActiveRecord}
11
11
  s.email = %q{amos.l.king@gmail.com}
12
- s.extra_rdoc_files = ["lib/legacy_woes.rb", "README.rdoc"]
13
- s.files = ["lib/legacy_woes.rb", "Manifest", "MIT-LICENSE", "Rakefile", "README.rdoc", "legacy_woes.gemspec"]
12
+ s.extra_rdoc_files = ["CHANGELOG.rdoc", "lib/legacy_woes.rb", "README.rdoc"]
13
+ s.files = ["CHANGELOG.rdoc", "lib/legacy_woes.rb", "Manifest", "MIT-LICENSE", "Rakefile", "README.rdoc", "legacy_woes.gemspec", "CHANGELOG.rdoc"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://github.com/adkron/legacy_woes}
16
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Legacy_woes", "--main", "README.rdoc"]
16
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Legacy_woes", "--main", "README.rdoc", "CHANGELOG.rdoc", "MIT-LICENSE"]
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{legacy_woes}
19
19
  s.rubygems_version = %q{1.3.1}
data/lib/legacy_woes.rb CHANGED
@@ -14,48 +14,42 @@ module LegacyWoes
14
14
  # Sets the created_at column.
15
15
  # Also defines methods for created_at and created_at=.
16
16
  def created_at_column(legacy_column_name)
17
- module_eval <<-EOB
18
- def write_attribute_with_#{legacy_column_name}_created_at(name, value, &block)
19
- if name == 'created_at'
20
- write_attribute('#{legacy_column_name}', value)
21
- else
22
- send(:write_attribute_without_#{legacy_column_name}_created_at, name, value, &block)
23
- end
24
- end
25
- EOB
26
-
27
- define_method :created_at do
28
- send(legacy_column_name)
29
- end
30
-
31
- define_method :created_at= do |value|
32
- send('#{legacy_column_name}=', value)
33
- end
34
- alias_method_chain :write_attribute, "#{legacy_column_name}_created_at"
17
+ setup_legacy_method(legacy_column_name, :created_at)
35
18
  end
36
19
 
37
20
  # Sets the updated_at column.
38
21
  # Also defines methods for updated_at and updated_at=.
39
22
  def updated_at_column(legacy_column_name)
23
+ setup_legacy_method(legacy_column_name, :updated_at)
24
+ end
25
+
26
+ # Sets the created_on column.
27
+ # Also defines methods for created_on and created_on=.
28
+ def created_on_column(legacy_column_name)
29
+ setup_legacy_method(legacy_column_name, :created_on)
30
+ end
31
+
32
+ # Sets the updated_on column.
33
+ # Also defines methods for updated_on and updated_on=.
34
+ def updated_on_column(legacy_column_name)
35
+ setup_legacy_method(legacy_column_name, :updated_on)
36
+ end
37
+
38
+ def setup_legacy_method(legacy_column_name, replacement_column)
40
39
  module_eval <<-EOB
41
- def write_attribute_with_#{legacy_column_name}_updated_at(name, value, &block)
42
- if name == 'updated_at'
40
+ def write_attribute_with_#{legacy_column_name}_#{replacement_column}(name, value, &block)
41
+ if name == '#{replacement_column}'
43
42
  write_attribute('#{legacy_column_name}', value)
44
43
  else
45
- send(:write_attribute_without_#{legacy_column_name}_updated_at, name, value, &block)
44
+ send(:write_attribute_without_#{legacy_column_name}_#{replacement_column}, name, value, &block)
46
45
  end
47
46
  end
48
47
  EOB
49
-
50
- define_method :updated_at do
51
- send(legacy_column_name)
52
- end
53
-
54
- define_method :updated_at= do |value|
55
- send('#{legacy_column_name}=', value)
56
- end
57
- alias_method_chain :write_attribute, "#{legacy_column_name}_updated_at"
48
+
49
+ alias_attribute replacement_column, legacy_column_name
50
+ alias_method_chain :write_attribute, "#{legacy_column_name}_#{replacement_column}"
58
51
  end
52
+ protected :setup_legacy_method
59
53
  end
60
54
  end
61
55
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adkron-legacy_woes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amos King
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-19 00:00:00 -08:00
12
+ date: 2009-01-28 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -20,9 +20,11 @@ executables: []
20
20
  extensions: []
21
21
 
22
22
  extra_rdoc_files:
23
+ - CHANGELOG.rdoc
23
24
  - lib/legacy_woes.rb
24
25
  - README.rdoc
25
26
  files:
27
+ - CHANGELOG.rdoc
26
28
  - lib/legacy_woes.rb
27
29
  - Manifest
28
30
  - MIT-LICENSE
@@ -39,6 +41,8 @@ rdoc_options:
39
41
  - Legacy_woes
40
42
  - --main
41
43
  - README.rdoc
44
+ - CHANGELOG.rdoc
45
+ - MIT-LICENSE
42
46
  require_paths:
43
47
  - lib
44
48
  required_ruby_version: !ruby/object:Gem::Requirement