polymorphic_model 0.0.5 → 0.0.6

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.
Files changed (5) hide show
  1. data/README.rdoc +29 -1
  2. data/Rakefile +1 -0
  3. data/VERSION +1 -1
  4. data/polymorphic_model.gemspec +4 -1
  5. metadata +11 -1
data/README.rdoc CHANGED
@@ -1,6 +1,34 @@
1
1
  = polymorphic_model
2
2
 
3
+ Not everybody likes Single Table Ineritance or just not everywhere can be used.
3
4
  This is simple substitute for ActiveRecord's STI mechanism.
5
+ It uses defined column to determine object type.
6
+
7
+ Simple use case:
8
+
9
+ # migration:
10
+
11
+ create_table :configurations do |t|
12
+ t.string :entry_type
13
+ t.string :value
14
+ end
15
+
16
+ # model
17
+
18
+ class Configuration < ActiveRecord::Base
19
+ polymorphic_model :with_type_column => :entry_type
20
+ define_type :website_name, :singleton => true, :autocreate => true
21
+ define_type :author
22
+ end
23
+
24
+ # example usage
25
+
26
+ @name = Configuration.website_name.value
27
+ @authors = Configuration.author.map(&:value)
28
+
29
+ This is just example. It can be used wherever STI is too drastically splits model file
30
+ or more than one controller is not what you actually want.
31
+ You can avoid also problems with polymorphic_path.
4
32
 
5
33
  == Note on Patches/Pull Requests
6
34
 
@@ -15,4 +43,4 @@ This is simple substitute for ActiveRecord's STI mechanism.
15
43
 
16
44
  == Copyright
17
45
 
18
- Copyright (c) 2009 Artur Roszczyk. See LICENSE for details.
46
+ Distributed under MIT license. See LICENSE for details.
data/Rakefile CHANGED
@@ -11,6 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/sevos/polymorphic_model"
12
12
  gem.authors = ["Artur Roszczyk"]
13
13
  gem.add_development_dependency "rspec", ">= 1.2.9"
14
+ gem.add_development_dependency "rspec-rails", ">= 1.2.9"
14
15
  gem.add_development_dependency "sqlite3-ruby", ">= 1.2.4"
15
16
 
16
17
  gem.add_dependency "activerecord", ">= 2.3.4"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{polymorphic_model}
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Artur Roszczyk"]
@@ -53,15 +53,18 @@ Gem::Specification.new do |s|
53
53
 
54
54
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
55
55
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
56
+ s.add_development_dependency(%q<rspec-rails>, [">= 1.2.9"])
56
57
  s.add_development_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
57
58
  s.add_runtime_dependency(%q<activerecord>, [">= 2.3.4"])
58
59
  else
59
60
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
+ s.add_dependency(%q<rspec-rails>, [">= 1.2.9"])
60
62
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
61
63
  s.add_dependency(%q<activerecord>, [">= 2.3.4"])
62
64
  end
63
65
  else
64
66
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
67
+ s.add_dependency(%q<rspec-rails>, [">= 1.2.9"])
65
68
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
66
69
  s.add_dependency(%q<activerecord>, [">= 2.3.4"])
67
70
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polymorphic_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artur Roszczyk
@@ -22,6 +22,16 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 1.2.9
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec-rails
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.2.9
34
+ version:
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: sqlite3-ruby
27
37
  type: :development