nobrainer 0.31.0 → 0.32.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: 657fd4dc2ef9b4dd9383ea99fa14b99d386e19ad
4
- data.tar.gz: 63b01fce35c08ffed01ff23496a5cc7eb394e1ab
3
+ metadata.gz: 28eb4dcb91f5c381ec20a21ed37d01992a3d6eb7
4
+ data.tar.gz: 395bfd26595f42e290805ebb9ebfa82dda89b99a
5
5
  SHA512:
6
- metadata.gz: fc92ed2d5c2cbdfee45b3f32504090412820b205f1cdd45f3deca3ed5a98754c23ffafef30f32c2aa2fe3b96d7cecd4a88165a7d014a7c3205efebe81c016501
7
- data.tar.gz: 45428c47e16c508b1845314d01221b749b14588ee20c0ca76b9cf981216f6c1728fccd396072c3935eded21491d78596ccc76167f59cb0fbbff7fbfd4ca5fda1
6
+ metadata.gz: 390139f43cf843350f0c345f42b15dfef87174961123376643d193dfd0265975daf4c2b3979f6497b605d4ed08175570df76e96e907a01ab3ed8168e71d27253
7
+ data.tar.gz: 5fb98fd5f37020b9bda60837a0e86d1f761953a5b0c0220a1e22e79d2f823419a39a927e1c6592791bd6e90111c1cc9bf1f33c48137a01cd6d33e40fb545792a
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  NoBrainer
2
2
  ===========
3
3
 
4
+ [![Join the chat at https://gitter.im/nviennot/nobrainer](https://badges.gitter.im/nviennot/nobrainer.svg)](https://gitter.im/nviennot/nobrainer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+
4
6
  NoBrainer is a Ruby ORM for [RethinkDB](http://www.rethinkdb.com/).
5
7
 
6
8
  The documentation can be found on [http://nobrainer.io](http://nobrainer.io).
@@ -24,6 +24,8 @@ module NoBrainer::Criteria::OrderBy
24
24
  :reversed_ordering => false)
25
25
  end
26
26
 
27
+ alias_method :order, :order_by
28
+
27
29
  def without_ordering
28
30
  chain(:ordering_mode => :disabled)
29
31
  end
@@ -1,11 +1,18 @@
1
1
  module NoBrainer::Document::Callbacks
2
2
  extend ActiveSupport::Concern
3
3
 
4
+ def self.define_callbacks_options(options={})
5
+ if ActiveSupport::Callbacks.respond_to?(:halt_and_display_warning_on_return_false)
6
+ ActiveSupport::Callbacks.halt_and_display_warning_on_return_false = false
7
+ end
8
+ NoBrainer.rails5? ? options : options.merge(:terminator => proc { false })
9
+ end
10
+
4
11
  included do
5
12
  extend ActiveModel::Callbacks
6
13
 
7
- define_model_callbacks :initialize, :create, :update, :save, :destroy, :terminator => proc { false }
8
- define_model_callbacks :find, :only => [:after], :terminator => proc { false }
14
+ define_model_callbacks :initialize, :create, :update, :save, :destroy, NoBrainer::Document::Callbacks.define_callbacks_options
15
+ define_model_callbacks :find, NoBrainer::Document::Callbacks.define_callbacks_options(:only => [:after])
9
16
  end
10
17
 
11
18
  def initialize(*args, &block)
@@ -16,7 +16,7 @@ module NoBrainer::Document::Criteria
16
16
  delegate :to_rql, # Core
17
17
  :raw, # Raw
18
18
  :limit, :offset, :skip, # Limit
19
- :order_by, :reverse_order, :without_ordering, :order_by_indexed?, :order_by_index_name, # OrderBy
19
+ :order_by, :order, :reverse_order, :without_ordering, :order_by_indexed?, :order_by_index_name, # OrderBy
20
20
  :unscoped, # Scope
21
21
  :_where, :where, :where_indexed?, :where_index_name, :where_index_type, # Where
22
22
  :with_index, :without_index, :used_index, # Index
@@ -61,6 +61,11 @@ module NoBrainer::Document::Dirty
61
61
  end
62
62
  end
63
63
 
64
+ def attribute_will_change!(*)
65
+ # Provided for comatibility. See issue #190
66
+ :not_implemented_in_no_brainer_see_issue_190
67
+ end
68
+
64
69
  def _read_attribute(name)
65
70
  super.tap do |value|
66
71
  # This take care of string/arrays/hashes that could change without going
@@ -4,9 +4,8 @@ module NoBrainer::Document::Validation::Core
4
4
  include ActiveModel::Validations::Callbacks
5
5
 
6
6
  included do
7
- # We don't want before_validation returning false to halt the chain.
8
- define_callbacks :validation, :skip_after_callbacks_if_terminated => true,
9
- :scope => [:kind, :name], :terminator => proc { false }
7
+ define_callbacks :validation, NoBrainer::Document::Callbacks.define_callbacks_options(
8
+ :skip_after_callbacks_if_terminated => true, :scope => [:kind, :name])
10
9
  end
11
10
 
12
11
  def valid?(context=nil, options={})
@@ -26,7 +26,7 @@ class NoBrainer::Railtie < Rails::Railtie
26
26
  config.after_initialize do
27
27
  NoBrainer::Config.configure unless NoBrainer::Config.configured?
28
28
 
29
- ActionDispatch::Reloader.to_prepare do
29
+ (NoBrainer.rails5? ? ActiveSupport::Reloader : ActionDispatch::Reloader).to_prepare do
30
30
  NoBrainer::Loader.cleanup
31
31
  end
32
32
  end
@@ -37,6 +37,10 @@ module NoBrainer
37
37
  RUBY_PLATFORM == 'java'
38
38
  end
39
39
 
40
+ def rails5?
41
+ Gem.loaded_specs['activesupport'].version >= Gem::Version.new('5.0.0.beta')
42
+ end
43
+
40
44
  def eager_load!
41
45
  # XXX This forces all the NoBrainer code to be loaded in memory.
42
46
  # Not to be confused with eager_load() that operates on documents.
@@ -37,9 +37,12 @@ module NoBrainer::Generators
37
37
  (Dir['config/environments/*'] + ['config/application.rb']).each do |config_file|
38
38
  comment_lines(config_file, /active_record/)
39
39
  end
40
- remove_file('config/database.yml')
41
- end
42
40
 
41
+ (Dir['config/**/*active_record*.rb'] +
42
+ Dir['app/models/application_record.rb'] +
43
+ ['config/database.yml'])
44
+ .each { |f| remove_file(f) }
45
+ end
43
46
 
44
47
  def copy_initializer
45
48
  template('nobrainer.rb', 'config/initializers/nobrainer.rb')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nobrainer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Viennot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-07 00:00:00.000000000 Z
11
+ date: 2016-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rethinkdb