sequel_polymorphic 0.4.0 → 0.5.0

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
- SHA1:
3
- metadata.gz: 24f401afafb33d285fb0b2008fe2d4620f0147a7
4
- data.tar.gz: 8f342a1e1506642da11015bcaa81eeb043649900
2
+ SHA256:
3
+ metadata.gz: 27fb2188530df2e0fc2489a1494dfb76040507ac05184115fc904ed6a49bf066
4
+ data.tar.gz: 6854931f7f528a00b37038f9aa782b0ad59ea89444de21d46261cd4adf25d508
5
5
  SHA512:
6
- metadata.gz: 52f09f38901b1fc534b3b849fdcc92c057f31583de6a7b89d76445a84f18ad4aa9585e49fdecf5607ba8ca15bf1f54063fd251b5a8c62153bb2fac8e36b75ec9
7
- data.tar.gz: 26d5d0f09533e8c5c539119f8b6115248293fdd36e15715257f403805541191d76f44e68ce7371464a2faecad891d5ebf80f0d57737d0915910241a181a5e260
6
+ metadata.gz: 9596ba84fde30fc984b770b0742fdc733d1b94608fd19a45851a33bb2babe79f1e5f7ef384cfe549bacc2d9f9c47467620fa94c88b697d4b7c3cd01d206ccf6e
7
+ data.tar.gz: 9dad034162d9396fe5015aa8c7dcc38ddf1a5e1cf81f798fd6372d7c49bbef70f0dbf5a708c9822feb33ec3d8e91efea96a9de9e3f4b5c46bf44415f64b2c916
@@ -1,3 +1,10 @@
1
+ # 0.5.0 (2018-10-23)
2
+
3
+ * **Feature**: *add `#where` functionality.*
4
+
5
+ See [#25](https://github.com/jackdempsey/sequel_polymorphic/pull/25).
6
+ Thanks to [@jnylen](https://github.com/jnylen).
7
+
1
8
  # 0.4.0 (2017-10-25)
2
9
 
3
10
  * **Enhancements**: *migrate to new Sequel's plugins tree schema.*
@@ -16,7 +23,7 @@
16
23
 
17
24
  * **Fix**: *`one_to_one` association tries to add an adder, remover and clearer methods*.
18
25
 
19
- It's not correct and dues to an error in Sequel 5.
26
+ It's not correct and generates an error in Sequel 5.
20
27
 
21
28
  See [#26](https://github.com/jackdempsey/sequel_polymorphic/pull/26).
22
29
  Thanks to [@jnylen](https://github.com/jnylen).
data/README.md CHANGED
@@ -1,8 +1,13 @@
1
1
  # Sequel Polymorphic
2
2
 
3
- A simple plugin for [Sequel](http://sequel.jeremyevans.net) that lets you easily create polymorphic associations.
3
+ A plugin for [Sequel](http://sequel.jeremyevans.net) that lets you easily create polymorphic associations.
4
4
 
5
- Version 4.x.x or 5.x.x of Sequel is required.
5
+ Required:
6
+
7
+ * Sequel >= 4.0.0 and Ruby >= 1.8.7,
8
+ * or Sequel >= 5.0.0 and Ruby >= 1.9.2.
9
+
10
+ (Note: Ruby 1.8.7 option is not tested.)
6
11
 
7
12
  ## Usage examples
8
13
 
@@ -10,6 +10,26 @@ module Sequel
10
10
 
11
11
  end
12
12
 
13
+ module DatasetMethods
14
+ def where(*cond, &block)
15
+ if cond.first.is_a? Hash
16
+ cond.first.clone.each do |key, value|
17
+ # Does it respnd to #pk ? Then it's a model
18
+ next unless value.respond_to?("pk")
19
+ next unless self.model.association_reflections.key?(key.to_sym)
20
+ next unless self.model.association_reflections[key.to_sym].key?(:polymorphic)
21
+ next unless self.model.association_reflections[key.to_sym][:polymorphic]
22
+
23
+ cond.first.delete(key)
24
+ cond.first["#{key}_id".to_sym] = value.pk
25
+ cond.first["#{key}_type".to_sym] = value.class.to_s
26
+ end
27
+ end
28
+
29
+ super
30
+ end
31
+ end
32
+
13
33
  module ClassMethods
14
34
 
15
35
  # Creates a many-to-one relationship.
@@ -157,5 +177,3 @@ module Sequel
157
177
  end # Polymorphic
158
178
  end # Plugins
159
179
  end # Sequel
160
-
161
-
@@ -2,7 +2,7 @@ module Sequel
2
2
  module Plugins
3
3
  module Polymorphic
4
4
 
5
- VERSION = '0.4.0'
5
+ VERSION = '0.5.0'
6
6
 
7
7
  end # Polymorphic
8
8
  end # Plugins
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_polymorphic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Dempsey
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-10-25 00:00:00.000000000 Z
13
+ date: 2018-10-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sequel
@@ -139,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  version: '0'
140
140
  requirements: []
141
141
  rubyforge_project:
142
- rubygems_version: 2.5.2.1
142
+ rubygems_version: 2.7.7
143
143
  signing_key:
144
144
  specification_version: 4
145
145
  summary: A gem that provides Sequel::Models with polymorphic association capabilities