activerecord-delegation-expected_behaviour 1.1.1 → 1.2.0

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: fc9524166ef902464385e71aa84a89e4825439fe
4
- data.tar.gz: '08f19408bf4d8ca070017ef3241af11b46cf3367'
3
+ metadata.gz: d47f29a5a2c62a84f92a3c6cde612ddbd870f8ef
4
+ data.tar.gz: '049874ede559a36683178311c886b074883177dd'
5
5
  SHA512:
6
- metadata.gz: 1d0f4bd9c6313020137ec2f8006a6e30be9a53e709e82c3df8d7eec992efb95a1381ee8e67cb0c7aa838b65ea8399828f538ea9db0e74771bb21346061647704
7
- data.tar.gz: 536e9fb52d82b7bfda121577fb301543b03158274f5ac9168e9bfa1159df9cfe7d22e821be264f0093dcd225a7d597b78c0eb20ed4290763cdb9fb96ae21d8ae
6
+ metadata.gz: 71390a32149180e30cf24877d08c794f728978f2e3b93de1fad1179742bfea3b76a1c8a722b2a18d2b318539399a278aaeb6c03954a175e53815c22cd6740624
7
+ data.tar.gz: 66ce496df2adf7bd955f42e379ea72a38614c01e0b524321ae6f29a75880b6b387f637e6f656565765781b319deaef6f593dfdcf7a3bf5aea367ca367759f49a
@@ -1,34 +1,25 @@
1
1
  require 'active_record'
2
2
 
3
- module ActiveRecord
4
- module Delegation
5
- module ExpectedBehaviour
6
- VERSION = '1.1.1'
7
-
8
- REDELEGATED_METHODS = [:encode_with, :to_ary, :join, :[], :&, :|, :+, :-, :sample,
9
- :reverse, :compact, :in_groups, :in_groups_of, :to_sentence, :to_formatted_s,
10
- :shuffle, :split, :index]
11
-
12
- REDELEGATED_METHODS.each do |method|
13
- if method =~ /[^\]]=$/
14
- define_method(method) { |arg| delegate_to_klass_or_records(method, arg) }
15
- else
16
- define_method(method) { |*args, &block| delegate_to_klass_or_records(method, *args, &block) }
17
- end
18
- end
19
-
20
- protected
3
+ ActiveRecord::Delegation.module_eval do
4
+ REDELEGATED_METHODS = [:encode_with, :to_ary, :join, :[], :&, :|, :+, :-, :sample,
5
+ :reverse, :compact, :in_groups, :in_groups_of, :to_sentence, :to_formatted_s,
6
+ :shuffle, :split, :index]
21
7
 
22
- def delegate_to_klass_or_records(method, *args, &block)
23
- if @klass.respond_to?(method)
24
- scoping { @klass.public_send(method, *args, &block) }
25
- else
26
- records.public_send(method, *args, &block)
27
- end
28
- end
29
-
8
+ REDELEGATED_METHODS.each do |method|
9
+ if method =~ /[^\]]=$/
10
+ define_method(method) { |arg| delegate_to_klass_or_records(method, arg) }
11
+ else
12
+ define_method(method) { |*args, &block| delegate_to_klass_or_records(method, *args, &block) }
30
13
  end
31
14
  end
32
- end
33
15
 
34
- ActiveRecord::Delegation.prepend ActiveRecord::Delegation::ExpectedBehaviour
16
+ protected
17
+
18
+ def delegate_to_klass_or_records(method, *args, &block)
19
+ if @klass.respond_to?(method)
20
+ scoping { @klass.public_send(method, *args, &block) }
21
+ else
22
+ records.public_send(method, *args, &block)
23
+ end
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-delegation-expected_behaviour
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-18 00:00:00.000000000 Z
11
+ date: 2017-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.5.2
149
+ rubygems_version: 2.6.11
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Prefer some class methods over methods from Enumerable on relations