fides 0.0.4 → 0.0.5
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.
- 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
|