activemodel_object_info 0.3.1 → 0.3.3

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
  SHA256:
3
- metadata.gz: bbb6a128f372e595dd59cd9a82a97555a7b9604d67e37bfb7fb3bb4f3d423b66
4
- data.tar.gz: 73eb6de2ece21e4ff5ac9aaa3d0eedfd7e13ce5acd07cc5aeb0916716f7f8ec6
3
+ metadata.gz: 57c5e5b167d779ecddc9ef0880eae2eb80a1e5a5cfea65a041900952d105e746
4
+ data.tar.gz: 305b684a599a961fd454c06a9fb234abab64def44b629fc85ea53413973f9c93
5
5
  SHA512:
6
- metadata.gz: bf30d44c6941877a3b3cdfeb23abfbff40350411073a4d88a3e7787742bac6666c10c01f57723ed378a623b2ea7f9659520ce1d43c387679aac2fee28ea7d90f
7
- data.tar.gz: f1b45c95d45d360cf4881e890d7c9e92b1b6052d63d4ba577cecef74f8aa9e6b4ca158b239462303f577193979487931287d0aaf55753a1dc3ce52bc57101884
6
+ metadata.gz: a787ba950b878f3fc7e40955a4cc5cf50a55ad0e8c783891c74e3c0fcee8d2f9f2630bec312717bb52c13ee52c63b41ea2f61efd19da03396ace20ea7f859e6a
7
+ data.tar.gz: 2fafd8e49b9ad0e1b1a4cef8ef813f8ea0a57b1e60f23588d617bada644eb50302af6fa395ebd041aac86b2b97c8de53ae8a4e206259495ada4dc13c9185652c
@@ -12,11 +12,14 @@ module ActivemodelObjectInfo
12
12
  # 当被 include 关键字引入后的处理
13
13
  included do |_|
14
14
  # 定义好默认的删除查询语句
15
- deleted_field = 'deleted'
16
- deleted_value_valid = 0
17
- deleted_value_invalid = 1
15
+ deleted_field = const_defined?(:DELETED_FIELD) ? DELETED_FIELD : 'deleted'
16
+ deleted_value_valid = const_defined?(:DELETED_VALID_VALUE) ? DELETED_VALID_VALUE : 0
17
+ deleted_value_invalid = const_defined?(:DELETED_INVALID_VALUE) ? DELETED_INVALID_VALUE : 1
18
18
  # 如果定义了删除标记字段则默认搜索自动排除该内容
19
- default_scope { where(deleted_field.to_sym => deleted_value_valid) } if defined_method?(deleted_field)
19
+ default_scope do
20
+ _current_model = try(:name).to_s.safe_constantize
21
+ where(deleted_field.to_sym => deleted_value_valid) if _current_model.method_defined?(deleted_field)
22
+ end
20
23
 
21
24
  # 通用的删除过程
22
25
  define_method(:delete_block) do |**options|
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActivemodelObjectInfo
4
4
  module Version
5
- VERSION = '0.3.1'
5
+ VERSION = '0.3.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemodel_object_info
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - shiner