activerecord-delegation-expected_behaviour 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 879e4bcf5822aee3c6dda3aed6786da196a114dc
4
+ data.tar.gz: a6bb723ac40a764b15c73fa809cd84fa389989b0
5
+ SHA512:
6
+ metadata.gz: 408cb2ea634b2d24e4592abab60f2134f2c2b2e31e839d1265c0cf7021429f02842e382d28dd72413dbb18685e3b04ab33ae44ef61473f65b2d350e0225219c2
7
+ data.tar.gz: 1ae9a946714b7a373b67486f003587f2a382fcb1a42f01268861c003f207dd698b59ced273c51e89ab38a91b9a0dd2d1068dc404ccfc512b2c3a0aa11beeafa5
data/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # Expected behaviour for ActiveRecord::Delegation
2
+
3
+ Prefer some class methods over methods from Enumerable on ActiveRecord relations
4
+
5
+ ## Rationale
6
+
7
+ In Rails 5 you can no longer call some ActiveRecord class methods named like their Enumerable counterparts:
8
+
9
+ ```:encode_with, :to_ary, :join, :[], :&, :|, :+, :-, :sample, :reverse, :compact, :in_groups, :in_groups_of, :to_sentence, :to_formatted_s, :shuffle, :split, :index```
10
+
11
+ This gem reinstates the expected behaviour, where you can always get the method from Enumerable by calling to_a on the relation.
12
+
13
+ See: https://github.com/rails/rails/issues/26949
14
+
15
+ ## Licensing
16
+
17
+ Licensed under the MIT license.
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,21 @@
1
+ require 'active_record'
2
+
3
+ module ActiveRecord
4
+ module Delegation
5
+ module ExpectedBehaviour
6
+ VERSION = '1.0.0'
7
+
8
+ UNEXPECTED_METHODS = [:encode_with, :to_ary, :join, :[], :&, :|, :+, :-,
9
+ :sample, :reverse, :compact, :in_groups, :in_groups_of,
10
+ :to_sentence, :to_formatted_s, :shuffle, :split, :index]
11
+
12
+ def self.included(base)
13
+ base.module_eval do
14
+ UNEXPECTED_METHODS.each { |method| remove_method(method) }
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ ActiveRecord::Delegation.include ActiveRecord::Delegation::ExpectedBehaviour
metadata ADDED
@@ -0,0 +1,153 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: activerecord-delegation-expected_behaviour
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Matthias Grosser
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-04-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.1'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '5.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.1'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.14'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.14'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '10.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '10.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: minitest
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '5.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '5.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: sqlite3
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: byebug
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ description: In Rails 5 you can no longer call some ActiveRecord class methods named
118
+ like their Enumerable counterparts. This gem reinstates the expected behaviour,
119
+ where you can always get the method from Enumerable by calling to_a on the relation.
120
+ email:
121
+ - mtgrosser@gmx.net
122
+ executables: []
123
+ extensions: []
124
+ extra_rdoc_files: []
125
+ files:
126
+ - README.md
127
+ - Rakefile
128
+ - lib/activerecord-delegation-expected_behaviour.rb
129
+ homepage: https://github.com/mtgrosser/activerecord-delegation-expected_behaviour
130
+ licenses:
131
+ - MIT
132
+ metadata: {}
133
+ post_install_message:
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ requirements: []
148
+ rubyforge_project:
149
+ rubygems_version: 2.5.2
150
+ signing_key:
151
+ specification_version: 4
152
+ summary: Prefer some class methods over methods from Enumerable on relations
153
+ test_files: []