fides 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fides.gemspec +1 -0
- data/lib/fides/version.rb +1 -1
- data/lib/fides.rb +3 -0
- data/test/lib/fides/fides_test.rb +36 -0
- data/test/test_helper.rb +2 -1
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a82cfd49301152615ac3d4de87fac479ccac6c67
|
4
|
+
data.tar.gz: a9555468a30498b5e8ac435e80add08cebbcc8f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95e82e9e861cf6514a403c86cf602e870789332833a0dfec9b09a091bdf61bb6404e3ef75f99300c459245697492e9dd8ac4112c70b0350b5620794c6e3e0b5c
|
7
|
+
data.tar.gz: 1cdc8ca81e96aad7e20446182ac67dc5eb687975bb62325177689213164c6e46051f7f2c1fa9f2e519201d2f8895e76d5f96709d1f477707d456deaea8d5c94f
|
data/fides.gemspec
CHANGED
data/lib/fides/version.rb
CHANGED
data/lib/fides.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "fides/version"
|
2
2
|
require 'active_support/concern'
|
3
3
|
require 'active_record'
|
4
|
+
require 'active_support/inflector'
|
4
5
|
|
5
6
|
module Fides
|
6
7
|
|
@@ -9,6 +10,8 @@ module Fides
|
|
9
10
|
module ClassMethods
|
10
11
|
|
11
12
|
def add_polymorphic_triggers(opts)
|
13
|
+
raise ArgumentError, "missing :associated_models from options hash" if !opts.has_key?(:associated_models)
|
14
|
+
raise ArgumentError, "missing :polymorphic_model from options hash" if !opts.has_key?(:polymorphic_model)
|
12
15
|
associated_models = opts[:associated_models]
|
13
16
|
polymorphic_model = opts[:polymorphic_model]
|
14
17
|
interface_name = opts.has_key?(:interface_name) ? opts[:interface_name] : interface_name(polymorphic_model)
|
@@ -2,6 +2,21 @@ require_relative '../../test_helper'
|
|
2
2
|
|
3
3
|
describe Fides do
|
4
4
|
|
5
|
+
before do
|
6
|
+
class Picture < ActiveRecord::Base; end
|
7
|
+
class MyTestMigration < ActiveRecord::Migration; end
|
8
|
+
class MyTestAssociaiton
|
9
|
+
def options
|
10
|
+
{ :polymorphic => true }
|
11
|
+
end
|
12
|
+
|
13
|
+
def name
|
14
|
+
"imageable"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
@my_test_association = MyTestAssociaiton.new
|
18
|
+
end
|
19
|
+
|
5
20
|
it "responds to add_polymorphic_triggers" do
|
6
21
|
assert_respond_to ActiveRecord::Migration, :add_polymorphic_triggers
|
7
22
|
end
|
@@ -9,5 +24,26 @@ describe Fides do
|
|
9
24
|
it "responds to remove_polymorphic_triggers" do
|
10
25
|
assert_respond_to ActiveRecord::Migration, :remove_polymorphic_triggers
|
11
26
|
end
|
27
|
+
|
28
|
+
it "includes the ability to use of the constantize method" do
|
29
|
+
|
30
|
+
assert_equal "Picture".constantize, Picture
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
it "raises and exception if :associated_models isn't a parameter of #add_polymorphic_triggers" do
|
35
|
+
exception = assert_raises(ArgumentError) {
|
36
|
+
MyTestMigration.add_polymorphic_triggers(:polymorphic_model => "Picture")
|
37
|
+
}
|
38
|
+
assert_match /associated_models/, exception.message
|
39
|
+
end
|
40
|
+
|
41
|
+
it "raises and exception if :polymorphic_model isn't a parameter of #add_polymorphic_triggers" do
|
42
|
+
exception = assert_raises(ArgumentError) {
|
43
|
+
MyTestMigration.add_polymorphic_triggers(:associated_models => ["Product", "Employee"])
|
44
|
+
}
|
45
|
+
assert_match /polymorphic_model/, exception.message
|
46
|
+
end
|
47
|
+
|
12
48
|
|
13
49
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fides
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Kraft
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description: Maintains referential integrity of Rails polymorphic associations.
|
84
98
|
email:
|
85
99
|
- martin.kraft@gmail.com
|