dependent_restrict 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-