dependent_restrict 0.2.2 → 0.2.3

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a13975da1f4b033d23035fbddb74120b616bd9a0
4
+ data.tar.gz: 00c61e7a441bdda8223791f3e4b775e4e7c6d467
5
+ SHA512:
6
+ metadata.gz: cb667fb26ec0e0d53fba2921f11be61a7495a44f120bcafbeeb74f3fd6116bbff39ad9b65c8ff87f60add46e1e253150f6cd97042e9e3688184abe962ffcf2ae
7
+ data.tar.gz: 7e35405f820b9c6a0a90e58a915680e50a61074581e5eb82f43b61ec7dd3a54dddc67c74bd49587e8e19838fdce960f18ab51daf695388a6bd419896db7cb4fe
@@ -1,13 +1,16 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- script: "bundle exec rake coverage"
3
+ - 2.2.2
4
+ - 2.3.0
5
+ script: "bundle exec rake spec"
6
6
  gemfile:
7
7
  - gemfiles/rails3.gemfile
8
- - gemfiles/rails4_0.gemfile
9
- - gemfiles/rails4_1.gemfile
8
+ - gemfiles/rails4.gemfile
9
+ - gemfiles/rails5.gemfile
10
10
  notifications:
11
11
  email:
12
12
  - support@travellink.com.au
13
- flowdock: e69dcafad1fea15c6b8c76e9ced965af
13
+ flowdock:
14
+ secure: YaSDa7UIM2IN5iSrWDQAXly2VjA6AJ9/821oPjhF8w+tqeSJabCJAFTipOQoHr+5KD1yEGJsvbXYHQv9JBdAXUeXyitPG0sPyXBvLsnygxisrvahEFL7/G7rCWfW0QEL7qe6A5Zx5Zl6CfDCo/lXfRSzKasBoFvgbrrCjpTFEbg=
15
+ sudo: false
16
+ cache: bundler
data/Gemfile CHANGED
@@ -4,4 +4,4 @@ gemspec
4
4
  group :development, :test do
5
5
  gem 'activerecord', '~> 4.0.0'
6
6
  gem 'mime-types', '< 2.0', :platforms => :ruby_18 # coveralls
7
- end
7
+ end
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  Dependent Restrict
2
2
  ==================
3
3
 
4
+ [![Gem Version](https://badge.fury.io/rb/dependent_restrict.png)](http://badge.fury.io/rb/dependent_restrict)
4
5
  [![Build Status](https://travis-ci.org/sealink/dependent_restrict.png?branch=master)](https://travis-ci.org/sealink/dependent_restrict)
5
6
  [![Coverage Status](https://coveralls.io/repos/sealink/dependent_restrict/badge.png)](https://coveralls.io/r/sealink/dependent_restrict)
6
7
  [![Dependency Status](https://gemnasium.com/sealink/dependent_restrict.png?travis)](https://gemnasium.com/sealink/dependent_restrict)
data/Rakefile CHANGED
@@ -9,10 +9,4 @@ desc "Run specs"
9
9
  RSpec::Core::RakeTask.new do |t|
10
10
  t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
11
11
  # Put spec opts in a file named .rspec in root
12
- end
13
-
14
- desc "Generate SimpleCov test coverage and open in your browser"
15
- task :coverage do
16
- ENV['COVERAGE'] = 'true'
17
- Rake::Task['spec'].invoke
18
- end
12
+ end
@@ -1,12 +1,15 @@
1
- # -*- encoding: utf-8 -*-
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'dependent_restrict/version'
2
5
 
3
6
  Gem::Specification.new do |spec|
4
7
  spec.name = "dependent_restrict"
5
- spec.version = "0.2.2"
6
- spec.authors = ["Michael Noack"]
7
- spec.email = ["support@travellink.com.au"]
8
+ spec.version = DependentRestrict::VERSION
8
9
  spec.description = %q{This gem is not needed in Rails 3 as dependent => :raise is included in 3.0.}
9
10
  spec.summary = %q{Add dependent restrict and improves functionality to ActiveRecord 2/3/4.x.}
11
+ spec.authors = ["Michael Noack"]
12
+ spec.email = ['support@travellink.com.au']
10
13
  spec.homepage = 'http://github.com/sealink/dependent_restrict'
11
14
 
12
15
  spec.license = "MIT"
@@ -16,12 +19,14 @@ Gem::Specification.new do |spec|
16
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
20
  spec.require_paths = ["lib"]
18
21
 
19
- spec.add_runtime_dependency "activerecord", ">= 3.0"
20
- spec.add_development_dependency "bundler", "~> 1.3"
21
- spec.add_development_dependency "rake"
22
- spec.add_development_dependency "rspec"
23
- spec.add_development_dependency "simplecov"
24
- spec.add_development_dependency "simplecov-rcov"
25
- spec.add_development_dependency "coveralls"
22
+ spec.add_dependency 'activerecord', '>= 3.0', '< 6.0.0'
23
+
24
+ spec.add_development_dependency 'bundler'
25
+ spec.add_development_dependency 'rake'
26
+ spec.add_development_dependency 'rspec'
27
+ spec.add_development_dependency 'simplecov'
28
+ spec.add_development_dependency 'simplecov-rcov'
29
+ spec.add_development_dependency 'coveralls'
26
30
  spec.add_development_dependency 'sqlite3'
31
+ spec.add_development_dependency 'travis'
27
32
  end
@@ -2,12 +2,6 @@ source 'https://rubygems.org'
2
2
  gemspec :path => '../'
3
3
 
4
4
  group :development, :test do
5
- gem 'rake', '~> 0.9.2'
6
- gem 'rdoc', '~> 3.12'
7
- gem 'rspec'
8
- gem 'simplecov'
9
- gem 'simplecov-rcov'
10
- gem 'sqlite3'
11
5
  gem 'activerecord', '~> 3.2.0'
12
6
  gem 'mime-types', '< 2.0', :platforms => :ruby_18 # coveralls
13
7
  end
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activerecord', '~> 4.0'
6
+ end
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activerecord', '~> 5.0'
6
+ end
@@ -2,18 +2,11 @@ require 'active_record'
2
2
  require 'dependent_restrict/delete_restriction_error'
3
3
 
4
4
  module DependentRestrict
5
- VERSION = '0.2.2'
6
-
7
5
  def self.included(base)
8
6
  super
9
7
  base.extend(ClassMethods)
10
8
 
11
9
  base.class_eval do
12
- class << self
13
- alias_method_chain :has_one, :restrict
14
- alias_method_chain :has_many, :restrict
15
- alias_method_chain :has_and_belongs_to_many, :restrict
16
- end
17
10
  end
18
11
  end
19
12
 
@@ -23,7 +16,7 @@ module DependentRestrict
23
16
  # We should be aliasing configure_dependency_for_has_many but that method
24
17
  # is private so we can't. We alias has_many instead trying to be as fair
25
18
  # as we can to the original behaviour.
26
- def has_one_with_restrict(*args, &extension)
19
+ def has_one(*args, &extension)
27
20
  options = args.extract_options! || {}
28
21
  if VALID_DEPENDENTS.include?(options[:dependent].try(:to_sym))
29
22
  reflection = if active_record_4?
@@ -36,10 +29,10 @@ module DependentRestrict
36
29
  add_dependency_callback!(reflection, options)
37
30
  end
38
31
  args << options
39
- has_one_without_restrict(*args, &extension)
32
+ super(*args, &extension)
40
33
  end
41
34
 
42
- def has_many_with_restrict(*args, &extension)
35
+ def has_many(*args, &extension)
43
36
  options = args.extract_options! || {}
44
37
  if VALID_DEPENDENTS.include?(options[:dependent].try(:to_sym))
45
38
  reflection = if active_record_4?
@@ -52,10 +45,10 @@ module DependentRestrict
52
45
  add_dependency_callback!(reflection, options)
53
46
  end
54
47
  args << options
55
- has_many_without_restrict(*args, &extension)
48
+ super(*args, &extension)
56
49
  end
57
50
 
58
- def has_and_belongs_to_many_with_restrict(*args, &extension)
51
+ def has_and_belongs_to_many(*args, &extension)
59
52
  options = args.extract_options! || {}
60
53
  if VALID_DEPENDENTS.include?(options[:dependent].try(:to_sym))
61
54
  reflection = if active_record_4?
@@ -70,7 +63,7 @@ module DependentRestrict
70
63
  options.delete(:dependent)
71
64
  end
72
65
  args << options
73
- has_and_belongs_to_many_without_restrict(*args, &extension)
66
+ super(*args, &extension)
74
67
  end
75
68
 
76
69
  private
@@ -89,7 +82,7 @@ module DependentRestrict
89
82
  raise ActiveRecord::Rollback
90
83
  end
91
84
  end
92
- before_destroy method_name
85
+ before_destroy method_name.to_sym
93
86
  when :restrict, :restrict_with_exception
94
87
  options.delete(:dependent)
95
88
  define_method(method_name) do
@@ -98,12 +91,12 @@ module DependentRestrict
98
91
  raise ActiveRecord::DetailedDeleteRestrictionError.new(name, self)
99
92
  end
100
93
  end
101
- before_destroy method_name
94
+ before_destroy method_name.to_sym
102
95
  end
103
96
  end
104
97
 
105
98
  def active_record_4?
106
- ::ActiveRecord::VERSION::MAJOR == 4
99
+ ::ActiveRecord::VERSION::MAJOR >= 4
107
100
  end
108
101
 
109
102
  def restrict_create_reflection(*args)
@@ -0,0 +1,3 @@
1
+ module DependentRestrict
2
+ VERSION = '0.2.3'
3
+ end
@@ -40,7 +40,15 @@ describe DependentRestrict do
40
40
 
41
41
  after do
42
42
  [OrderInvoice, Order, Category, ProductsCategory, Product].each(&:delete_all)
43
- %w(OrderInvoice Order Category ProductsCategory Product).each { |klass| Object.send(:remove_const, klass) }
43
+ classes_to_remove = %w(
44
+ OrderInvoice
45
+ Order
46
+ Category
47
+ ProductsCategory
48
+ Product
49
+ CategoryOrdersAssociationExtension
50
+ )
51
+ classes_to_remove.each { |klass| Object.send(:remove_const, klass) }
44
52
  end
45
53
 
46
54
 
@@ -137,6 +145,7 @@ describe DependentRestrict do
137
145
 
138
146
  context "using i18n" do
139
147
  before do
148
+ I18n.available_locales = [:en, :br]
140
149
  I18n.backend.store_translations(:br, {
141
150
  :dependent_restrict => {
142
151
  :basic_message => {
@@ -8,28 +8,7 @@
8
8
  require 'rubygems'
9
9
  require 'bundler/setup'
10
10
 
11
- MINIMUM_COVERAGE = 81
12
-
13
- if ENV['COVERAGE']
14
- require 'simplecov'
15
- require 'coveralls'
16
- Coveralls.wear!
17
-
18
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
19
- SimpleCov.start do
20
- add_filter '/vendor/'
21
- add_filter '/spec/'
22
- add_group 'lib', 'lib'
23
- end
24
- SimpleCov.at_exit do
25
- SimpleCov.result.format!
26
- percent = SimpleCov.result.covered_percent
27
- unless percent >= MINIMUM_COVERAGE
28
- puts "Coverage must be above #{MINIMUM_COVERAGE}%. It is #{"%.2f" % percent}%"
29
- Kernel.exit(1)
30
- end
31
- end
32
- end
11
+ require 'support/coverage_loader'
33
12
 
34
13
  require 'dependent_restrict'
35
14
 
@@ -0,0 +1,26 @@
1
+ MINIMUM_COVERAGE = 40
2
+
3
+ unless ENV['COVERAGE'] == 'off'
4
+ require 'simplecov'
5
+ require 'simplecov-rcov'
6
+ require 'coveralls'
7
+ Coveralls.wear!
8
+
9
+ SimpleCov.formatters = [
10
+ SimpleCov::Formatter::RcovFormatter,
11
+ Coveralls::SimpleCov::Formatter
12
+ ]
13
+ SimpleCov.start do
14
+ add_filter '/vendor/'
15
+ add_filter '/spec/'
16
+ add_group 'lib', 'lib'
17
+ end
18
+ SimpleCov.at_exit do
19
+ SimpleCov.result.format!
20
+ percent = SimpleCov.result.covered_percent
21
+ unless percent >= MINIMUM_COVERAGE
22
+ puts "Coverage must be above #{MINIMUM_COVERAGE}%. It is #{"%.2f" % percent}%"
23
+ Kernel.exit(1)
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,142 +1,145 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependent_restrict
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.2.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michael Noack
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-07-23 00:00:00.000000000 Z
11
+ date: 2016-07-05 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.0
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 6.0.0
30
33
  - !ruby/object:Gem::Dependency
31
34
  name: bundler
32
35
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
36
  requirements:
35
- - - ~>
37
+ - - ">="
36
38
  - !ruby/object:Gem::Version
37
- version: '1.3'
39
+ version: '0'
38
40
  type: :development
39
41
  prerelease: false
40
42
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
43
  requirements:
43
- - - ~>
44
+ - - ">="
44
45
  - !ruby/object:Gem::Version
45
- version: '1.3'
46
+ version: '0'
46
47
  - !ruby/object:Gem::Dependency
47
48
  name: rake
48
49
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
57
  requirements:
59
- - - ! '>='
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0'
62
61
  - !ruby/object:Gem::Dependency
63
62
  name: rspec
64
63
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
64
  requirements:
67
- - - ! '>='
65
+ - - ">="
68
66
  - !ruby/object:Gem::Version
69
67
  version: '0'
70
68
  type: :development
71
69
  prerelease: false
72
70
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
71
  requirements:
75
- - - ! '>='
72
+ - - ">="
76
73
  - !ruby/object:Gem::Version
77
74
  version: '0'
78
75
  - !ruby/object:Gem::Dependency
79
76
  name: simplecov
80
77
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
78
  requirements:
83
- - - ! '>='
79
+ - - ">="
84
80
  - !ruby/object:Gem::Version
85
81
  version: '0'
86
82
  type: :development
87
83
  prerelease: false
88
84
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
- - - ! '>='
86
+ - - ">="
92
87
  - !ruby/object:Gem::Version
93
88
  version: '0'
94
89
  - !ruby/object:Gem::Dependency
95
90
  name: simplecov-rcov
96
91
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
92
  requirements:
99
- - - ! '>='
93
+ - - ">="
100
94
  - !ruby/object:Gem::Version
101
95
  version: '0'
102
96
  type: :development
103
97
  prerelease: false
104
98
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
99
  requirements:
107
- - - ! '>='
100
+ - - ">="
108
101
  - !ruby/object:Gem::Version
109
102
  version: '0'
110
103
  - !ruby/object:Gem::Dependency
111
104
  name: coveralls
112
105
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
106
  requirements:
115
- - - ! '>='
107
+ - - ">="
116
108
  - !ruby/object:Gem::Version
117
109
  version: '0'
118
110
  type: :development
119
111
  prerelease: false
120
112
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
113
  requirements:
123
- - - ! '>='
114
+ - - ">="
124
115
  - !ruby/object:Gem::Version
125
116
  version: '0'
126
117
  - !ruby/object:Gem::Dependency
127
118
  name: sqlite3
128
119
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
120
  requirements:
131
- - - ! '>='
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: travis
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
132
136
  - !ruby/object:Gem::Version
133
137
  version: '0'
134
138
  type: :development
135
139
  prerelease: false
136
140
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
141
  requirements:
139
- - - ! '>='
142
+ - - ">="
140
143
  - !ruby/object:Gem::Version
141
144
  version: '0'
142
145
  description: This gem is not needed in Rails 3 as dependent => :raise is included
@@ -147,54 +150,50 @@ executables: []
147
150
  extensions: []
148
151
  extra_rdoc_files: []
149
152
  files:
150
- - .gitignore
151
- - .rspec
152
- - .travis.yml
153
+ - ".gitignore"
154
+ - ".rspec"
155
+ - ".travis.yml"
153
156
  - Gemfile
154
157
  - LICENSE
155
158
  - README.md
156
159
  - Rakefile
157
160
  - dependent_restrict.gemspec
158
161
  - gemfiles/rails3.gemfile
159
- - gemfiles/rails4_0.gemfile
160
- - gemfiles/rails4_1.gemfile
162
+ - gemfiles/rails4.gemfile
163
+ - gemfiles/rails5.gemfile
161
164
  - lib/dependent_restrict.rb
162
165
  - lib/dependent_restrict/delete_restriction_error.rb
166
+ - lib/dependent_restrict/version.rb
163
167
  - spec/dependent_restrict_spec.rb
164
168
  - spec/schema.rb
165
169
  - spec/spec_helper.rb
170
+ - spec/support/coverage_loader.rb
166
171
  homepage: http://github.com/sealink/dependent_restrict
167
172
  licenses:
168
173
  - MIT
174
+ metadata: {}
169
175
  post_install_message:
170
176
  rdoc_options: []
171
177
  require_paths:
172
178
  - lib
173
179
  required_ruby_version: !ruby/object:Gem::Requirement
174
- none: false
175
180
  requirements:
176
- - - ! '>='
181
+ - - ">="
177
182
  - !ruby/object:Gem::Version
178
183
  version: '0'
179
- segments:
180
- - 0
181
- hash: 551629118570124682
182
184
  required_rubygems_version: !ruby/object:Gem::Requirement
183
- none: false
184
185
  requirements:
185
- - - ! '>='
186
+ - - ">="
186
187
  - !ruby/object:Gem::Version
187
188
  version: '0'
188
- segments:
189
- - 0
190
- hash: 551629118570124682
191
189
  requirements: []
192
190
  rubyforge_project:
193
- rubygems_version: 1.8.25
191
+ rubygems_version: 2.4.8
194
192
  signing_key:
195
- specification_version: 3
193
+ specification_version: 4
196
194
  summary: Add dependent restrict and improves functionality to ActiveRecord 2/3/4.x.
197
195
  test_files:
198
196
  - spec/dependent_restrict_spec.rb
199
197
  - spec/schema.rb
200
198
  - spec/spec_helper.rb
199
+ - spec/support/coverage_loader.rb
@@ -1,13 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec :path => '../'
3
-
4
- group :development, :test do
5
- gem 'rake', '~> 0.9.2'
6
- gem 'rdoc', '~> 3.12'
7
- gem 'rspec'
8
- gem 'simplecov'
9
- gem 'simplecov-rcov'
10
- gem 'sqlite3'
11
- gem 'activerecord', '~> 4.0.0'
12
- end
13
-
@@ -1,13 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec :path => '../'
3
-
4
- group :development, :test do
5
- gem 'rake', '~> 0.9.2'
6
- gem 'rdoc', '~> 3.12'
7
- gem 'rspec'
8
- gem 'simplecov'
9
- gem 'simplecov-rcov'
10
- gem 'sqlite3'
11
- gem 'activerecord', '~> 4.0'
12
- end
13
-