junk_drawer 1.3.0 → 1.4.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
2
  SHA1:
3
- metadata.gz: fa1bc248af13f000203f8c72364c382c44de203a
4
- data.tar.gz: 05ad7bf2b95cb6630eab0129811dcb68cd8e1e6b
3
+ metadata.gz: 238eb68d411dc0c6089296530a43a2465975d417
4
+ data.tar.gz: 655fec097bfbdf9aa9ad42d1b3ebb95b96f5e6de
5
5
  SHA512:
6
- metadata.gz: 99d8ee5d88bc1bcd7d3253fc4dbac3be7be6418ede9a772bc4963233b0785344429ee40a2f8b2078e8d51e678aead1701eeba99ed4227ade2206b79e7af1912b
7
- data.tar.gz: 108ff56c6ed5bbe24e81edcfa099e0ae7a55cada04469a0e9900d76b4b3623b64f334f39eaa52ed048b18811bf7fd8e907b83e95f7169d9f745de2ee93f4673b
6
+ metadata.gz: 97e29c483b957b9de82874825ec57a185f4b44ec4bfb00db45cdc7666fba99bc1466a0cbec786428efcbeec02843919373e1fd5177bfb4413b9e4b8b7fb5069b
7
+ data.tar.gz: 361c72c75c5263153d8ca6b0bcdd1fcc0cc2a158710492ba30de723f4ef1bfdc866a9745d7ab712f78a47b7769a5a7bc4297ed068a67213a3bc3f7a792582331
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
+ *gems.lock
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.1
4
+ - 2.3.3
5
5
  addons:
6
6
  postgresql: '9.4'
7
7
  before_install: gem install bundler -v 1.13.6
@@ -11,3 +11,7 @@ script:
11
11
  - bundle exec rubocop
12
12
  - bundle exec rake
13
13
  - bundle exec rake build
14
+ gemfile:
15
+ - Gemfile
16
+ - gemfiles/rails_5.0.gems
17
+ - gemfiles/rails_4.2.gems
data/Gemfile CHANGED
@@ -3,3 +3,6 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
+
7
+ gem 'activerecord', '~> 5.1.0'
8
+ gem 'activesupport', '~> 5.1.0'
data/README.md CHANGED
@@ -211,7 +211,8 @@ database.
211
211
  ## Development
212
212
 
213
213
  After checking out the repo, run `bin/setup` to install dependencies. Then, run
214
- `rake spec` to run the tests. You can also run `bin/console` for an interactive
214
+ `rake spec` to run the tests, or `bin/test` to run tests for all supported
215
+ ActiveRecord versions. You can also run `bin/console` for an interactive
215
216
  prompt that will allow you to experiment.
216
217
 
217
218
  To install this gem onto your local machine, run `bundle exec rake install`. To
@@ -222,7 +223,7 @@ git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygem
222
223
  ## Contributing
223
224
 
224
225
  Bug reports and pull requests are welcome on GitHub at
225
- https://github.com/mockdeep/junk_drawer. This project is intended to be a
226
+ https://github.com/thread-pond/junk_drawer. This project is intended to be a
226
227
  safe, welcoming space for collaboration, and contributors are expected to
227
228
  adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
228
229
 
data/bin/setup CHANGED
@@ -3,6 +3,9 @@ set -euo pipefail
3
3
  IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
+ createuser -s -r postgres
7
+ createdb junk_drawer_test -U postgres
8
+
6
9
  bundle install
7
10
 
8
11
  # Do any other automated setup that you need to do here
data/bin/test ADDED
@@ -0,0 +1,3 @@
1
+ (export BUNDLE_GEMFILE=Gemfile; bundle && bundle exec rake)
2
+ (export BUNDLE_GEMFILE=gemfiles/rails_5.0.gems; bundle && bundle exec rake spec)
3
+ (export BUNDLE_GEMFILE=gemfiles/rails_4.2.gems; bundle && bundle exec rake spec)
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec path: '../'
6
+
7
+ gem 'activerecord', '~> 4.2.0'
8
+ gem 'activesupport', '~> 4.2.0'
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec path: '../'
6
+
7
+ gem 'activerecord', '~> 5.0.0'
8
+ gem 'activesupport', '~> 5.0.0'
data/junk_drawer.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ['lobatifricha@gmail.com']
10
10
 
11
11
  spec.summary = 'random useful Ruby utilities'
12
- spec.homepage = 'https://github.com/mockdeep/junk_drawer'
12
+ spec.homepage = 'https://github.com/thread-pond/junk_drawer'
13
13
  spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -21,8 +21,6 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.required_ruby_version = '>= 2.1'
23
23
 
24
- spec.add_development_dependency 'activerecord', '~> 4.2'
25
- spec.add_development_dependency 'activesupport', '~> 4.2'
26
24
  spec.add_development_dependency 'bundler', '~> 1.13'
27
25
  spec.add_development_dependency 'guard', '~> 2.14'
28
26
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
@@ -66,12 +66,20 @@ module JunkDrawer
66
66
  attribute_type = columns_hash[attribute.to_s].type
67
67
  caster = POSTGRES_VALUE_CASTERS[attribute_type]
68
68
 
69
- caster ? caster.type_cast_for_database(value) : value
69
+ caster ? serialized_value(caster, value) : value
70
70
  end
71
71
 
72
72
  sanitize_sql_array(
73
73
  ["(?, #{postgres_types.join(', ')})", object.id, *postgres_values],
74
74
  )
75
75
  end
76
+
77
+ def serialized_value(caster, value)
78
+ if ::ActiveRecord::VERSION::MAJOR >= 5
79
+ caster.serialize(value)
80
+ else
81
+ caster.type_cast_for_database(value)
82
+ end
83
+ end
76
84
  end
77
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JunkDrawer
4
- VERSION = '1.3.0'
4
+ VERSION = '1.4.0'
5
5
  end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: junk_drawer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Fletcher
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-21 00:00:00.000000000 Z
11
+ date: 2017-09-14 00:00:00.000000000 Z
12
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: '4.2'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '4.2'
27
- - !ruby/object:Gem::Dependency
28
- name: activesupport
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '4.2'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '4.2'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: bundler
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -225,6 +197,9 @@ files:
225
197
  - Rakefile
226
198
  - bin/console
227
199
  - bin/setup
200
+ - bin/test
201
+ - gemfiles/rails_4.2.gems
202
+ - gemfiles/rails_5.0.gems
228
203
  - junk_drawer.gemspec
229
204
  - lib/junk_drawer.rb
230
205
  - lib/junk_drawer/callable.rb
@@ -235,7 +210,7 @@ files:
235
210
  - lib/junk_drawer/rails.rb
236
211
  - lib/junk_drawer/rails/bulk_updatable.rb
237
212
  - lib/junk_drawer/version.rb
238
- homepage: https://github.com/mockdeep/junk_drawer
213
+ homepage: https://github.com/thread-pond/junk_drawer
239
214
  licenses:
240
215
  - MIT
241
216
  metadata: {}
@@ -255,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
230
  version: '0'
256
231
  requirements: []
257
232
  rubyforge_project:
258
- rubygems_version: 2.6.11
233
+ rubygems_version: 2.6.13
259
234
  signing_key:
260
235
  specification_version: 4
261
236
  summary: random useful Ruby utilities