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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2d47219197ccb9d9326b0057ba5d69a798df357
4
- data.tar.gz: 6321fd9a4f67e9c038370249b594dade0fd8062e
3
+ metadata.gz: a82cfd49301152615ac3d4de87fac479ccac6c67
4
+ data.tar.gz: a9555468a30498b5e8ac435e80add08cebbcc8f7
5
5
  SHA512:
6
- metadata.gz: 9e939739a46a4d095144e8345203ab32995b986e57ddab2fa4a21e7aeb5ee104295e4589ae48ded6ed2a193942677829de0a0654fe255d8533187b4ff4fbd67e
7
- data.tar.gz: 773ca17664cc3dc0daca0c650404d2423ee0729a4d57789af08ce80e4f71c016d592f0bf3197d1833bc0936cbd27b650f5f3cbad48b4c8c12dde8dee6778d236
6
+ metadata.gz: 95e82e9e861cf6514a403c86cf602e870789332833a0dfec9b09a091bdf61bb6404e3ef75f99300c459245697492e9dd8ac4112c70b0350b5620794c6e3e0b5c
7
+ data.tar.gz: 1cdc8ca81e96aad7e20446182ac67dc5eb687975bb62325177689213164c6e46051f7f2c1fa9f2e519201d2f8895e76d5f96709d1f477707d456deaea8d5c94f
data/fides.gemspec CHANGED
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "minitest"
28
+ spec.add_development_dependency "pry"
28
29
  end
data/lib/fides/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fides
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
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
@@ -1,3 +1,4 @@
1
1
  require 'minitest/autorun'
2
2
  require 'minitest/pride'
3
- require File.expand_path('../../lib/fides.rb', __FILE__)
3
+ require File.expand_path('../../lib/fides.rb', __FILE__)
4
+ require 'pry'
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
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