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 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