cb_list 0.0.2 → 0.0.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
  SHA1:
3
- metadata.gz: 509350e60ddb8943a83c53b997b30569708a89d9
4
- data.tar.gz: 958deed67447791d9553faf99bb6b1bede7b14f8
3
+ metadata.gz: a695c725ec93aab7d324ed85fe8cf5af06507a8d
4
+ data.tar.gz: c36dfa502ad589ebc2c38697801ceabc9e53293a
5
5
  SHA512:
6
- metadata.gz: 7ae73ec07b439c5025c4c725e5e29c546e25c00b0bf3b22893dde2198b87aa8afb7249797521fe0e2966ff2ace764d8e69a2a8fca3e7cb0a9be411e44374e9e7
7
- data.tar.gz: efaa82e4da650aa0e85fda4445f405aea29654970694fbf77e82b6b6ea26c4ca3be76cd70de4e0b48656c072d44408f48da0c5d75e93d0baa5281f8ecb318411
6
+ metadata.gz: 56c5281a599b5cdd2ac21f62d0b14340a671fd2f5cc25035c492f3d71b0dfa2c68e7f1f7c7af3ef3d29b4dbdba1d63748cfd56c00b6bf4023ca1664cd8f1eaf5
7
+ data.tar.gz: 388262299b0914d699274d6bd77e757d2e61e480d2d7660bc795771b3ec249ab9e0f9d1d3bb055b0e69bf31c61ba574b7b0ab29b6b93eb2e739bbc8fc8c439db
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CbList
2
- List ActiveRecord callbacks for a given Class
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/cb_list.svg)](https://badge.fury.io/rb/cb_list)
4
+ [![Code Climate](https://codeclimate.com/github/zoki/cb_list/badges/gpa.svg)](https://codeclimate.com/github/zoki/cb_list)
5
+
6
+
7
+ List Active Record callbacks for a given class
3
8
 
4
9
 
5
10
  ## Installation
@@ -7,7 +12,7 @@ List ActiveRecord callbacks for a given Class
7
12
  Add this line to your application's Gemfile:
8
13
 
9
14
  ```ruby
10
- gem 'cb_list'
15
+ gem 'cb_list', group: :development
11
16
  ```
12
17
 
13
18
  And then execute:
@@ -24,6 +29,180 @@ Display callbacks for Post model:
24
29
  $ bin/rails ar:callbacks:show[Post]
25
30
 
26
31
 
32
+ ### Example
33
+
34
+ $ bin/rails ar:callbacks:show[Spree::Product]
35
+
36
+ # Spree::Product Active Record Callbacks
37
+ #
38
+ # 1. INITIALIZE
39
+ # ====================
40
+ #
41
+ # after_initialize
42
+ # --------------------
43
+ # 1. ensure_master
44
+ # 2. build_first_node
45
+ # 3. on_initialize
46
+ #
47
+ # 2. FIND
48
+ # ====================
49
+ #
50
+ # after_find
51
+ # --------------------
52
+ # Empty
53
+ #
54
+ # 3. TOUCH
55
+ # ====================
56
+ #
57
+ # after_touch
58
+ # --------------------
59
+ # 1. touch_taxons
60
+ #
61
+ # 4. VALIDATION
62
+ # ====================
63
+ #
64
+ # before_validation
65
+ # --------------------
66
+ # 1. set_slug
67
+ # 2. normalize_slug
68
+ # 3. validate_master
69
+ # 4. set_translation
70
+ #
71
+ # after_validation
72
+ # --------------------
73
+ # 1. unset_slug_if_invalid
74
+ # 2. _ensure_no_duplicate_errors
75
+ # 3. reflect_errors_messages
76
+ #
77
+ # 5. SAVE
78
+ # ====================
79
+ #
80
+ # before_save
81
+ # --------------------
82
+ # 1. autosave_associated_records_for_tax_category
83
+ # 2. autosave_associated_records_for_shipping_category
84
+ # 3. set_nodes_default_locale_and_fallback
85
+ # 4. before_save_collection_association
86
+ #
87
+ # after_save
88
+ # --------------------
89
+ # 1. create_slug
90
+ # 2. run_touch_callbacks
91
+ # 3. update_pg_search_documents
92
+ #
93
+ # around_save
94
+ # --------------------
95
+ # Empty
96
+ #
97
+ # 6. CREATE
98
+ # ====================
99
+ #
100
+ # before_create
101
+ # --------------------
102
+ # Empty
103
+ #
104
+ # after_create
105
+ # --------------------
106
+ # 1. autosave_associated_records_for_slugs
107
+ # 2. autosave_associated_records_for_product_option_types
108
+ # 3. autosave_associated_records_for_option_types
109
+ # 4. autosave_associated_records_for_product_properties
110
+ # 5. autosave_associated_records_for_properties
111
+ # 6. autosave_associated_records_for_variant_property_rules
112
+ # 7. autosave_associated_records_for_variant_property_rule_values
113
+ # 8. autosave_associated_records_for_variant_property_rule_conditions
114
+ # 9. autosave_associated_records_for_classifications
115
+ # 10. autosave_associated_records_for_taxons
116
+ # 11. autosave_associated_records_for_product_promotion_rules
117
+ # 12. autosave_associated_records_for_promotion_rules
118
+ # 13. autosave_associated_records_for_master
119
+ # 14. autosave_associated_records_for_variants
120
+ # 15. autosave_associated_records_for_variants_including_master
121
+ # 16. autosave_associated_records_for_prices
122
+ # 17. autosave_associated_records_for_stock_items
123
+ # 18. autosave_associated_records_for_line_items
124
+ # 19. autosave_associated_records_for_orders
125
+ # 20. autosave_associated_records_for_variant_images
126
+ # 21. build_variants_from_option_values_hash
127
+ # 22. autosave_associated_records_for_nodes
128
+ # 23. autosave_associated_records_for_translations
129
+ #
130
+ # around_create
131
+ # --------------------
132
+ # Empty
133
+ #
134
+ # 7. UPDATE
135
+ # ====================
136
+ #
137
+ # before_update
138
+ # --------------------
139
+ # Empty
140
+ #
141
+ # after_update
142
+ # --------------------
143
+ # 1. autosave_associated_records_for_slugs
144
+ # 2. autosave_associated_records_for_product_option_types
145
+ # 3. autosave_associated_records_for_option_types
146
+ # 4. autosave_associated_records_for_product_properties
147
+ # 5. autosave_associated_records_for_properties
148
+ # 6. autosave_associated_records_for_variant_property_rules
149
+ # 7. autosave_associated_records_for_variant_property_rule_values
150
+ # 8. autosave_associated_records_for_variant_property_rule_conditions
151
+ # 9. autosave_associated_records_for_classifications
152
+ # 10. autosave_associated_records_for_taxons
153
+ # 11. autosave_associated_records_for_product_promotion_rules
154
+ # 12. autosave_associated_records_for_promotion_rules
155
+ # 13. autosave_associated_records_for_master
156
+ # 14. autosave_associated_records_for_variants
157
+ # 15. autosave_associated_records_for_variants_including_master
158
+ # 16. autosave_associated_records_for_prices
159
+ # 17. autosave_associated_records_for_stock_items
160
+ # 18. autosave_associated_records_for_line_items
161
+ # 19. autosave_associated_records_for_orders
162
+ # 20. autosave_associated_records_for_variant_images
163
+ # 21. autosave_associated_records_for_nodes
164
+ # 22. autosave_associated_records_for_translations
165
+ #
166
+ # around_update
167
+ # --------------------
168
+ # Empty
169
+ #
170
+ # 8. DESTROY
171
+ # ====================
172
+ #
173
+ # before_destroy
174
+ # --------------------
175
+ # 1. #<Proc:0x007feb7a908cc0@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
176
+ # 2. #<Proc:0x007feb7a8f1890@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
177
+ # 3. #<Proc:0x007feb7a8d9768@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
178
+ # 4. #<Proc:0x007feb7a8c5a10@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
179
+ # 5. #<Proc:0x007feb7a888ea8@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
180
+ # 6. #<Proc:0x007feb7a86caa0@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
181
+ # 7. #<Proc:0x007feb793cf9a8@/Users/zzabcic/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.2/lib/active_record/associations/builder/association.rb:140 (lambda)>
182
+ #
183
+ # after_destroy
184
+ # --------------------
185
+ # 1 punch_slug
186
+ #
187
+ # around_destroy
188
+ # --------------------
189
+ # Empty
190
+ #
191
+ # 9. COMMIT
192
+ # ====================
193
+ #
194
+ # after_commit
195
+ # --------------------
196
+ # Empty
197
+ #
198
+ # 10. ROLLBACK
199
+ # ====================
200
+ #
201
+ # after_rollback
202
+ # --------------------
203
+ # Empty
204
+
205
+
27
206
  ## Development
28
207
 
29
208
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/cb_list.gemspec CHANGED
@@ -9,15 +9,15 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Zoran Žabčić"]
10
10
  spec.email = ["zoran@effectiva.hr"]
11
11
 
12
- spec.summary = %q{List activerecord callbacks.}
13
- spec.description = %q{List activerecord callbacks for a given class.}
12
+ spec.summary = %q{List Active Record callbacks.}
13
+ spec.description = %q{List Active Record callbacks for a given class.}
14
14
  spec.homepage = "https://github.com/zoki/cb_list"
15
15
  spec.license = "MIT"
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
18
  # to allow pushing to a single host or delete this section to allow pushing to any host.
19
19
  if spec.respond_to?(:metadata)
20
- # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
20
+ # spec.metadata['allowed_push_host'] = "http://mygemserver.com"
21
21
  else
22
22
  raise "RubyGems 2.0 or newer is required to protect against " \
23
23
  "public gem pushes."
data/lib/cb_list.rb CHANGED
@@ -7,13 +7,15 @@ module CbList
7
7
  def self.show klass
8
8
  klass = klass.constantize if klass.is_a? String
9
9
  names = ActiveRecord::Callbacks::CALLBACKS.map { |cb| cb.to_s.split('_').last }.uniq
10
+ delimiter_1 = "=" * 20
11
+ delimiter_2 = "-" * 20
10
12
 
11
- print_out "#{klass.name} ActiveRecord Callbacks".red
13
+ print_out "#{klass.name} Active Record Callbacks".red
12
14
 
13
15
  names.each.with_index(1) do |name, name_index|
14
16
  print_out
15
17
  print_out "#{name_index}. #{name.upcase}".light_blue
16
- print_out ("=" * 20).light_blue
18
+ print_out delimiter_1.light_blue
17
19
 
18
20
  ActiveSupport::Callbacks::CALLBACK_FILTER_TYPES.each do |kind|
19
21
  kind_name = "#{kind}_#{name}".to_sym
@@ -22,30 +24,28 @@ module CbList
22
24
  if ActiveRecord::Callbacks::CALLBACKS.include?(kind_name)
23
25
  print_out
24
26
  print_out "#{kind_name}".blue
25
- print_out ("-" * 20).blue
27
+ print_out delimiter_2.blue
26
28
  kind_callbacks.each.with_index(1) do |callback, callback_index|
27
- print_out "#{callback_index} #{callback.raw_filter}".green
29
+ print_out "#{callback_index}. #{callback.raw_filter}".green
28
30
  end.presence || print_out("Empty")
29
31
  end
30
32
  end
31
33
  end
32
34
  end
33
35
 
34
- private
35
-
36
- def self.print_out str=nil
37
- prefix = "# "
38
- result = str ? prefix + str : prefix
39
- puts result
40
- end
36
+ def self.print_out str=nil
37
+ prefix = "# "
38
+ result = str ? prefix + str : prefix
39
+ puts result
40
+ end
41
41
 
42
- def self.name_callbacks_for klass, name
43
- klass.public_send("_#{name}_callbacks")
44
- end
42
+ def self.name_callbacks_for klass, name
43
+ klass.public_send("_#{name}_callbacks")
44
+ end
45
45
 
46
- def self.name_kind_callbacks_for klass, name, kind
47
- name_callbacks = name_callbacks_for(klass, name).select { |name_callback| name_callback.kind.eql?(kind) }
48
- name_callbacks.reverse! if kind == :after
49
- name_callbacks
50
- end
46
+ def self.name_kind_callbacks_for klass, name, kind
47
+ name_callbacks = name_callbacks_for(klass, name).select { |name_callback| name_callback.kind.eql?(kind) }
48
+ name_callbacks.reverse! if kind == :after
49
+ name_callbacks
50
+ end
51
51
  end
@@ -1,3 +1,3 @@
1
1
  module CbList
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb_list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zoran Žabčić
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-17 00:00:00.000000000 Z
11
+ date: 2017-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '5.0'
97
- description: List activerecord callbacks for a given class.
97
+ description: List Active Record callbacks for a given class.
98
98
  email:
99
99
  - zoran@effectiva.hr
100
100
  executables: []
@@ -138,5 +138,5 @@ rubyforge_project:
138
138
  rubygems_version: 2.6.11
139
139
  signing_key:
140
140
  specification_version: 4
141
- summary: List activerecord callbacks.
141
+ summary: List Active Record callbacks.
142
142
  test_files: []