trace_location 0.9.3 → 0.9.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>