trace_location 0.9.3 → 0.10.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.
@@ -0,0 +1,11 @@
1
+ id,event,path,lineno,caller_path,caller_lineno,owner_with_name,hierarchy
2
+ 1,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,65,(irb),4,ActiveRecord::Validations#valid?,0
3
+ 2,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,75,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,66,ActiveRecord::Validations#default_validation_context,1
4
+ 3,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb,231,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,76,ActiveRecord::Persistence#new_record?,2
5
+ 4,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,490,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb,232,ActiveRecord::Transactions#sync_with_transaction_state,3
6
+ 5,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,494,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,491,ActiveRecord::Transactions#update_attributes_from_transaction_state,4
7
+ 6,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,500,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,491,ActiveRecord::Transactions#update_attributes_from_transaction_state,4
8
+ 7,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb,492,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb,232,ActiveRecord::Transactions#sync_with_transaction_state,3
9
+ 8,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb,234,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,76,ActiveRecord::Persistence#new_record?,2
10
+ 9,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,77,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,66,ActiveRecord::Validations#default_validation_context,1
11
+ 10,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb,69,(irb),4,ActiveRecord::Validations#valid?,0
@@ -0,0 +1,17 @@
1
+ Logged by TraceLocation gem at 2019-06-08 01:19:25 +0900
2
+ https://github.com/yhirano55/trace_location
3
+
4
+ [Tracing events] C: Call, R: Return
5
+
6
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:65 [ActiveRecord::Validations#valid?]
7
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:75 [ActiveRecord::Validations#default_validation_context]
8
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb:231 [ActiveRecord::Persistence#new_record?]
9
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:490 [ActiveRecord::Transactions#sync_with_transaction_state]
10
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:494 [ActiveRecord::Transactions#update_attributes_from_transaction_state]
11
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:500 [ActiveRecord::Transactions#update_attributes_from_transaction_state]
12
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:492 [ActiveRecord::Transactions#sync_with_transaction_state]
13
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb:234 [ActiveRecord::Persistence#new_record?]
14
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:77 [ActiveRecord::Validations#default_validation_context]
15
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:69 [ActiveRecord::Validations#valid?]
16
+
17
+ Result: true
@@ -0,0 +1,69 @@
1
+ Generated by [trace_location](https://github.com/yhirano55/trace_location) at 2019-06-08 01:19:34 +0900
2
+
3
+ <details open>
4
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:65</summary>
5
+
6
+ ##### ActiveRecord::Validations#valid?
7
+
8
+ ```ruby
9
+ def valid?(context = nil)
10
+ context ||= default_validation_context
11
+ output = super(context)
12
+ errors.empty? && output
13
+ end
14
+ # called from (irb):5
15
+ ```
16
+ </details>
17
+ <details open>
18
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:75</summary>
19
+
20
+ ##### ActiveRecord::Validations#default_validation_context
21
+
22
+ ```ruby
23
+ def default_validation_context
24
+ new_record? ? :create : :update
25
+ end
26
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:66
27
+ ```
28
+ </details>
29
+ <details open>
30
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb:231</summary>
31
+
32
+ ##### ActiveRecord::Persistence#new_record?
33
+
34
+ ```ruby
35
+ def new_record?
36
+ sync_with_transaction_state
37
+ @new_record
38
+ end
39
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations.rb:76
40
+ ```
41
+ </details>
42
+ <details open>
43
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:490</summary>
44
+
45
+ ##### ActiveRecord::Transactions#sync_with_transaction_state
46
+
47
+ ```ruby
48
+ def sync_with_transaction_state
49
+ update_attributes_from_transaction_state(@transaction_state)
50
+ end
51
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/persistence.rb:232
52
+ ```
53
+ </details>
54
+ <details open>
55
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:494</summary>
56
+
57
+ ##### ActiveRecord::Transactions#update_attributes_from_transaction_state
58
+
59
+ ```ruby
60
+ def update_attributes_from_transaction_state(transaction_state)
61
+ if transaction_state && transaction_state.finalized?
62
+ restore_transaction_record_state(transaction_state.fully_rolledback?) if transaction_state.rolledback?
63
+ force_clear_transaction_record_state if transaction_state.fully_committed?
64
+ clear_transaction_record_state if transaction_state.fully_completed?
65
+ end
66
+ end
67
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/transactions.rb:491
68
+ ```
69
+ </details>
@@ -0,0 +1,41 @@
1
+ id,event,path,lineno,caller_path,caller_lineno,owner_with_name,hierarchy
2
+ 1,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,55,app/models/user.rb,3,ActiveModel::SecurePassword::ClassMethods.has_secure_password,0
3
+ 2,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,154,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,75,ActiveModel::Validations::ClassMethods.validate,1
4
+ 3,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,175,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,75,ActiveModel::Validations::ClassMethods.validate,1
5
+ 4,call,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,19,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,79,ActiveRecord::Validations::ClassMethods.validates_length_of,1
6
+ 5,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb,7,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,20,ActiveModel::Validations::HelperMethods._merge_attributes,2
7
+ 6,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb,12,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,20,ActiveModel::Validations::HelperMethods._merge_attributes,2
8
+ 7,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,81,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,20,ActiveModel::Validations::ClassMethods.validates_with,2
9
+ 8,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,11,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,86,ActiveModel::Validations::LengthValidator#initialize,3
10
+ 9,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,138,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,21,ActiveModel::Validations::LengthValidator#initialize,4
11
+ 10,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,108,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,141,ActiveModel::Validations::LengthValidator#initialize,5
12
+ 11,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,110,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,141,ActiveModel::Validations::LengthValidator#initialize,5
13
+ 12,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,24,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,142,ActiveModel::Validations::LengthValidator#check_validity!,5
14
+ 13,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,38,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,142,ActiveModel::Validations::LengthValidator#check_validity!,5
15
+ 14,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,143,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,21,ActiveModel::Validations::LengthValidator#initialize,4
16
+ 15,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb,22,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,86,ActiveModel::Validations::LengthValidator#initialize,3
17
+ 16,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,90,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,89,User._validators,3
18
+ 17,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,154,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,96,ActiveModel::Validations::ClassMethods.validate,3
19
+ 18,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,175,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,96,ActiveModel::Validations::ClassMethods.validate,3
20
+ 19,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,98,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,20,ActiveModel::Validations::ClassMethods.validates_with,2
21
+ 20,return,vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb,21,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,79,ActiveRecord::Validations::ClassMethods.validates_length_of,1
22
+ 21,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,75,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,80,ActiveModel::Validations::HelperMethods.validates_confirmation_of,1
23
+ 22,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb,7,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,76,ActiveModel::Validations::HelperMethods._merge_attributes,2
24
+ 23,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb,12,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,76,ActiveModel::Validations::HelperMethods._merge_attributes,2
25
+ 24,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,81,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,76,ActiveModel::Validations::ClassMethods.validates_with,2
26
+ 25,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,6,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,86,ActiveModel::Validations::ConfirmationValidator#initialize,3
27
+ 26,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,138,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,7,ActiveModel::Validations::ConfirmationValidator#initialize,4
28
+ 27,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,108,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,141,ActiveModel::Validations::ConfirmationValidator#initialize,5
29
+ 28,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,110,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,141,ActiveModel::Validations::ConfirmationValidator#initialize,5
30
+ 29,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,165,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,142,ActiveModel::EachValidator#check_validity!,5
31
+ 30,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,166,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,142,ActiveModel::EachValidator#check_validity!,5
32
+ 31,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb,143,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,7,ActiveModel::Validations::ConfirmationValidator#initialize,4
33
+ 32,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,21,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,8,ActiveModel::Validations::ConfirmationValidator#setup!,4
34
+ 33,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,29,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,8,ActiveModel::Validations::ConfirmationValidator#setup!,4
35
+ 34,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,9,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,86,ActiveModel::Validations::ConfirmationValidator#initialize,3
36
+ 35,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,90,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,89,User._validators,3
37
+ 36,call,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,154,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,96,ActiveModel::Validations::ClassMethods.validate,3
38
+ 37,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb,175,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,96,ActiveModel::Validations::ClassMethods.validate,3
39
+ 38,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb,98,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,76,ActiveModel::Validations::ClassMethods.validates_with,2
40
+ 39,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb,77,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,80,ActiveModel::Validations::HelperMethods.validates_confirmation_of,1
41
+ 40,return,vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb,82,app/models/user.rb,3,ActiveModel::SecurePassword::ClassMethods.has_secure_password,0
@@ -0,0 +1,47 @@
1
+ Logged by TraceLocation gem at 2019-06-08 01:28:53 +0900
2
+ https://github.com/yhirano55/trace_location
3
+
4
+ [Tracing events] C: Call, R: Return
5
+
6
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:55 [ActiveModel::SecurePassword::ClassMethods.has_secure_password]
7
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154 [ActiveModel::Validations::ClassMethods.validate]
8
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:175 [ActiveModel::Validations::ClassMethods.validate]
9
+ C vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb:19 [ActiveRecord::Validations::ClassMethods.validates_length_of]
10
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:7 [ActiveModel::Validations::HelperMethods._merge_attributes]
11
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:12 [ActiveModel::Validations::HelperMethods._merge_attributes]
12
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:81 [ActiveModel::Validations::ClassMethods.validates_with]
13
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:11 [ActiveModel::Validations::LengthValidator#initialize]
14
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:138 [ActiveModel::Validations::LengthValidator#initialize]
15
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:108 [ActiveModel::Validations::LengthValidator#initialize]
16
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:110 [ActiveModel::Validations::LengthValidator#initialize]
17
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:24 [ActiveModel::Validations::LengthValidator#check_validity!]
18
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:38 [ActiveModel::Validations::LengthValidator#check_validity!]
19
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:143 [ActiveModel::Validations::LengthValidator#initialize]
20
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:22 [ActiveModel::Validations::LengthValidator#initialize]
21
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:90 [User._validators]
22
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154 [ActiveModel::Validations::ClassMethods.validate]
23
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:175 [ActiveModel::Validations::ClassMethods.validate]
24
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:98 [ActiveModel::Validations::ClassMethods.validates_with]
25
+ R vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb:21 [ActiveRecord::Validations::ClassMethods.validates_length_of]
26
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:75 [ActiveModel::Validations::HelperMethods.validates_confirmation_of]
27
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:7 [ActiveModel::Validations::HelperMethods._merge_attributes]
28
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:12 [ActiveModel::Validations::HelperMethods._merge_attributes]
29
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:81 [ActiveModel::Validations::ClassMethods.validates_with]
30
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:6 [ActiveModel::Validations::ConfirmationValidator#initialize]
31
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:138 [ActiveModel::Validations::ConfirmationValidator#initialize]
32
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:108 [ActiveModel::Validations::ConfirmationValidator#initialize]
33
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:110 [ActiveModel::Validations::ConfirmationValidator#initialize]
34
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:165 [ActiveModel::EachValidator#check_validity!]
35
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:166 [ActiveModel::EachValidator#check_validity!]
36
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:143 [ActiveModel::Validations::ConfirmationValidator#initialize]
37
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:21 [ActiveModel::Validations::ConfirmationValidator#setup!]
38
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:29 [ActiveModel::Validations::ConfirmationValidator#setup!]
39
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:9 [ActiveModel::Validations::ConfirmationValidator#initialize]
40
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:90 [User._validators]
41
+ C vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154 [ActiveModel::Validations::ClassMethods.validate]
42
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:175 [ActiveModel::Validations::ClassMethods.validate]
43
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:98 [ActiveModel::Validations::ClassMethods.validates_with]
44
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:77 [ActiveModel::Validations::HelperMethods.validates_confirmation_of]
45
+ R vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:82 [ActiveModel::SecurePassword::ClassMethods.has_secure_password]
46
+
47
+ Result: [ActiveModel::Validations::ConfirmationValidator]
@@ -0,0 +1,395 @@
1
+ Generated by [trace_location](https://github.com/yhirano55/trace_location) at 2019-06-08 01:28:44 +0900
2
+
3
+ <details open>
4
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:55</summary>
5
+
6
+ ##### ActiveModel::SecurePassword::ClassMethods.has_secure_password
7
+
8
+ ```ruby
9
+ def has_secure_password(options = {})
10
+ # Load bcrypt gem only when has_secure_password is used.
11
+ # This is to avoid ActiveModel (and by extension the entire framework)
12
+ # being dependent on a binary library.
13
+ begin
14
+ require "bcrypt"
15
+ rescue LoadError
16
+ $stderr.puts "You don't have bcrypt installed in your application. Please add it to your Gemfile and run bundle install"
17
+ raise
18
+ end
19
+
20
+ include InstanceMethodsOnActivation
21
+
22
+ if options.fetch(:validations, true)
23
+ include ActiveModel::Validations
24
+
25
+ # This ensures the model has a password by checking whether the password_digest
26
+ # is present, so that this works with both new and existing records. However,
27
+ # when there is an error, the message is added to the password attribute instead
28
+ # so that the error message will make sense to the end-user.
29
+ validate do |record|
30
+ record.errors.add(:password, :blank) unless record.password_digest.present?
31
+ end
32
+
33
+ validates_length_of :password, maximum: ActiveModel::SecurePassword::MAX_PASSWORD_LENGTH_ALLOWED
34
+ validates_confirmation_of :password, allow_blank: true
35
+ end
36
+ end
37
+ # called from app/models/user.rb:3
38
+ ```
39
+ </details>
40
+ <details open>
41
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154</summary>
42
+
43
+ ##### ActiveModel::Validations::ClassMethods.validate
44
+
45
+ ```ruby
46
+ def validate(*args, &block)
47
+ options = args.extract_options!
48
+
49
+ if args.all? { |arg| arg.is_a?(Symbol) }
50
+ options.each_key do |k|
51
+ unless VALID_OPTIONS_FOR_VALIDATE.include?(k)
52
+ raise ArgumentError.new("Unknown key: #{k.inspect}. Valid keys are: #{VALID_OPTIONS_FOR_VALIDATE.map(&:inspect).join(', ')}. Perhaps you meant to call `validates` instead of `validate`?")
53
+ end
54
+ end
55
+ end
56
+
57
+ if options.key?(:on)
58
+ options = options.dup
59
+ options[:on] = Array(options[:on])
60
+ options[:if] = Array(options[:if])
61
+ options[:if].unshift ->(o) {
62
+ !(options[:on] & Array(o.validation_context)).empty?
63
+ }
64
+ end
65
+
66
+ set_callback(:validate, *args, options, &block)
67
+ end
68
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:75
69
+ ```
70
+ </details>
71
+ <details open>
72
+ <summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb:19</summary>
73
+
74
+ ##### ActiveRecord::Validations::ClassMethods.validates_length_of
75
+
76
+ ```ruby
77
+ def validates_length_of(*attr_names)
78
+ validates_with LengthValidator, _merge_attributes(attr_names)
79
+ end
80
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:79
81
+ ```
82
+ </details>
83
+ <details open>
84
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:7</summary>
85
+
86
+ ##### ActiveModel::Validations::HelperMethods._merge_attributes
87
+
88
+ ```ruby
89
+ def _merge_attributes(attr_names)
90
+ options = attr_names.extract_options!.symbolize_keys
91
+ attr_names.flatten!
92
+ options[:attributes] = attr_names
93
+ options
94
+ end
95
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb:20
96
+ ```
97
+ </details>
98
+ <details open>
99
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:81</summary>
100
+
101
+ ##### ActiveModel::Validations::ClassMethods.validates_with
102
+
103
+ ```ruby
104
+ def validates_with(*args, &block)
105
+ options = args.extract_options!
106
+ options[:class] = self
107
+
108
+ args.each do |klass|
109
+ validator = klass.new(options, &block)
110
+
111
+ if validator.respond_to?(:attributes) && !validator.attributes.empty?
112
+ validator.attributes.each do |attribute|
113
+ _validators[attribute.to_sym] << validator
114
+ end
115
+ else
116
+ _validators[nil] << validator
117
+ end
118
+
119
+ validate(validator, options)
120
+ end
121
+ end
122
+ # called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/validations/length.rb:20
123
+ ```
124
+ </details>
125
+ <details open>
126
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:11</summary>
127
+
128
+ ##### ActiveModel::Validations::LengthValidator#initialize
129
+
130
+ ```ruby
131
+ def initialize(options)
132
+ if range = (options.delete(:in) || options.delete(:within))
133
+ raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
134
+ options[:minimum], options[:maximum] = range.min, range.max
135
+ end
136
+
137
+ if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
138
+ options[:minimum] = 1
139
+ end
140
+
141
+ super
142
+ end
143
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:86
144
+ ```
145
+ </details>
146
+ <details open>
147
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:138</summary>
148
+
149
+ ##### ActiveModel::Validations::LengthValidator#initialize
150
+
151
+ ```ruby
152
+ def initialize(options)
153
+ if range = (options.delete(:in) || options.delete(:within))
154
+ raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
155
+ options[:minimum], options[:maximum] = range.min, range.max
156
+ end
157
+
158
+ if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
159
+ options[:minimum] = 1
160
+ end
161
+
162
+ super
163
+ end
164
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:21
165
+ ```
166
+ </details>
167
+ <details open>
168
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:108</summary>
169
+
170
+ ##### ActiveModel::Validations::LengthValidator#initialize
171
+
172
+ ```ruby
173
+ def initialize(options)
174
+ if range = (options.delete(:in) || options.delete(:within))
175
+ raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
176
+ options[:minimum], options[:maximum] = range.min, range.max
177
+ end
178
+
179
+ if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
180
+ options[:minimum] = 1
181
+ end
182
+
183
+ super
184
+ end
185
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:141
186
+ ```
187
+ </details>
188
+ <details open>
189
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/length.rb:24</summary>
190
+
191
+ ##### ActiveModel::Validations::LengthValidator#check_validity!
192
+
193
+ ```ruby
194
+ def check_validity!
195
+ keys = CHECKS.keys & options.keys
196
+
197
+ if keys.empty?
198
+ raise ArgumentError, "Range unspecified. Specify the :in, :within, :maximum, :minimum, or :is option."
199
+ end
200
+
201
+ keys.each do |key|
202
+ value = options[key]
203
+
204
+ unless (value.is_a?(Integer) && value >= 0) || value == Float::INFINITY || value.is_a?(Symbol) || value.is_a?(Proc)
205
+ raise ArgumentError, ":#{key} must be a nonnegative Integer, Infinity, Symbol, or Proc"
206
+ end
207
+ end
208
+ end
209
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:142
210
+ ```
211
+ </details>
212
+ <details open>
213
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154</summary>
214
+
215
+ ##### ActiveModel::Validations::ClassMethods.validate
216
+
217
+ ```ruby
218
+ def validate(*args, &block)
219
+ options = args.extract_options!
220
+
221
+ if args.all? { |arg| arg.is_a?(Symbol) }
222
+ options.each_key do |k|
223
+ unless VALID_OPTIONS_FOR_VALIDATE.include?(k)
224
+ raise ArgumentError.new("Unknown key: #{k.inspect}. Valid keys are: #{VALID_OPTIONS_FOR_VALIDATE.map(&:inspect).join(', ')}. Perhaps you meant to call `validates` instead of `validate`?")
225
+ end
226
+ end
227
+ end
228
+
229
+ if options.key?(:on)
230
+ options = options.dup
231
+ options[:on] = Array(options[:on])
232
+ options[:if] = Array(options[:if])
233
+ options[:if].unshift ->(o) {
234
+ !(options[:on] & Array(o.validation_context)).empty?
235
+ }
236
+ end
237
+
238
+ set_callback(:validate, *args, options, &block)
239
+ end
240
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:96
241
+ ```
242
+ </details>
243
+ <details open>
244
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:75</summary>
245
+
246
+ ##### ActiveModel::Validations::HelperMethods.validates_confirmation_of
247
+
248
+ ```ruby
249
+ def validates_confirmation_of(*attr_names)
250
+ validates_with ConfirmationValidator, _merge_attributes(attr_names)
251
+ end
252
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/secure_password.rb:80
253
+ ```
254
+ </details>
255
+ <details open>
256
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb:7</summary>
257
+
258
+ ##### ActiveModel::Validations::HelperMethods._merge_attributes
259
+
260
+ ```ruby
261
+ def _merge_attributes(attr_names)
262
+ options = attr_names.extract_options!.symbolize_keys
263
+ attr_names.flatten!
264
+ options[:attributes] = attr_names
265
+ options
266
+ end
267
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:76
268
+ ```
269
+ </details>
270
+ <details open>
271
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:81</summary>
272
+
273
+ ##### ActiveModel::Validations::ClassMethods.validates_with
274
+
275
+ ```ruby
276
+ def validates_with(*args, &block)
277
+ options = args.extract_options!
278
+ options[:class] = self
279
+
280
+ args.each do |klass|
281
+ validator = klass.new(options, &block)
282
+
283
+ if validator.respond_to?(:attributes) && !validator.attributes.empty?
284
+ validator.attributes.each do |attribute|
285
+ _validators[attribute.to_sym] << validator
286
+ end
287
+ else
288
+ _validators[nil] << validator
289
+ end
290
+
291
+ validate(validator, options)
292
+ end
293
+ end
294
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:76
295
+ ```
296
+ </details>
297
+ <details open>
298
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:6</summary>
299
+
300
+ ##### ActiveModel::Validations::ConfirmationValidator#initialize
301
+
302
+ ```ruby
303
+ def initialize(options)
304
+ super({ case_sensitive: true }.merge!(options))
305
+ setup!(options[:class])
306
+ end
307
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:86
308
+ ```
309
+ </details>
310
+ <details open>
311
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:138</summary>
312
+
313
+ ##### ActiveModel::Validations::ConfirmationValidator#initialize
314
+
315
+ ```ruby
316
+ def initialize(options)
317
+ super({ case_sensitive: true }.merge!(options))
318
+ setup!(options[:class])
319
+ end
320
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:7
321
+ ```
322
+ </details>
323
+ <details open>
324
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:108</summary>
325
+
326
+ ##### ActiveModel::Validations::ConfirmationValidator#initialize
327
+
328
+ ```ruby
329
+ def initialize(options)
330
+ super({ case_sensitive: true }.merge!(options))
331
+ setup!(options[:class])
332
+ end
333
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:141
334
+ ```
335
+ </details>
336
+ <details open>
337
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:165</summary>
338
+
339
+ ##### ActiveModel::EachValidator#check_validity!
340
+
341
+ ```ruby
342
+ def check_validity!
343
+ end
344
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validator.rb:142
345
+ ```
346
+ </details>
347
+ <details open>
348
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:21</summary>
349
+
350
+ ##### ActiveModel::Validations::ConfirmationValidator#setup!
351
+
352
+ ```ruby
353
+ def setup!(klass)
354
+ klass.send(:attr_reader, *attributes.map do |attribute|
355
+ :"#{attribute}_confirmation" unless klass.method_defined?(:"#{attribute}_confirmation")
356
+ end.compact)
357
+
358
+ klass.send(:attr_writer, *attributes.map do |attribute|
359
+ :"#{attribute}_confirmation" unless klass.method_defined?(:"#{attribute}_confirmation=")
360
+ end.compact)
361
+ end
362
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb:8
363
+ ```
364
+ </details>
365
+ <details open>
366
+ <summary>vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations.rb:154</summary>
367
+
368
+ ##### ActiveModel::Validations::ClassMethods.validate
369
+
370
+ ```ruby
371
+ def validate(*args, &block)
372
+ options = args.extract_options!
373
+
374
+ if args.all? { |arg| arg.is_a?(Symbol) }
375
+ options.each_key do |k|
376
+ unless VALID_OPTIONS_FOR_VALIDATE.include?(k)
377
+ raise ArgumentError.new("Unknown key: #{k.inspect}. Valid keys are: #{VALID_OPTIONS_FOR_VALIDATE.map(&:inspect).join(', ')}. Perhaps you meant to call `validates` instead of `validate`?")
378
+ end
379
+ end
380
+ end
381
+
382
+ if options.key?(:on)
383
+ options = options.dup
384
+ options[:on] = Array(options[:on])
385
+ options[:if] = Array(options[:if])
386
+ options[:if].unshift ->(o) {
387
+ !(options[:on] & Array(o.validation_context)).empty?
388
+ }
389
+ end
390
+
391
+ set_callback(:validate, *args, options, &block)
392
+ end
393
+ # called from vendor/bundle/gems/activemodel-5.2.3/lib/active_model/validations/with.rb:96
394
+ ```
395
+ </details>