annotate 2.6.3 → 3.2.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,127 @@
1
+ module AnnotateModels
2
+ # This module provides module method to get file paths.
3
+ module FilePatterns
4
+ # Controller files
5
+ CONTROLLER_DIR = File.join('app', 'controllers')
6
+
7
+ # Active admin registry files
8
+ ACTIVEADMIN_DIR = File.join('app', 'admin')
9
+
10
+ # Helper files
11
+ HELPER_DIR = File.join('app', 'helpers')
12
+
13
+ # File.join for windows reverse bar compat?
14
+ # I dont use windows, can`t test
15
+ UNIT_TEST_DIR = File.join('test', 'unit')
16
+ MODEL_TEST_DIR = File.join('test', 'models') # since rails 4.0
17
+ SPEC_MODEL_DIR = File.join('spec', 'models')
18
+
19
+ FIXTURE_TEST_DIR = File.join('test', 'fixtures')
20
+ FIXTURE_SPEC_DIR = File.join('spec', 'fixtures')
21
+
22
+ # Other test files
23
+ CONTROLLER_TEST_DIR = File.join('test', 'controllers')
24
+ CONTROLLER_SPEC_DIR = File.join('spec', 'controllers')
25
+ REQUEST_SPEC_DIR = File.join('spec', 'requests')
26
+ ROUTING_SPEC_DIR = File.join('spec', 'routing')
27
+
28
+ # Object Daddy http://github.com/flogic/object_daddy/tree/master
29
+ EXEMPLARS_TEST_DIR = File.join('test', 'exemplars')
30
+ EXEMPLARS_SPEC_DIR = File.join('spec', 'exemplars')
31
+
32
+ # Machinist http://github.com/notahat/machinist
33
+ BLUEPRINTS_TEST_DIR = File.join('test', 'blueprints')
34
+ BLUEPRINTS_SPEC_DIR = File.join('spec', 'blueprints')
35
+
36
+ # Factory Bot https://github.com/thoughtbot/factory_bot
37
+ FACTORY_BOT_TEST_DIR = File.join('test', 'factories')
38
+ FACTORY_BOT_SPEC_DIR = File.join('spec', 'factories')
39
+
40
+ # Fabrication https://github.com/paulelliott/fabrication.git
41
+ FABRICATORS_TEST_DIR = File.join('test', 'fabricators')
42
+ FABRICATORS_SPEC_DIR = File.join('spec', 'fabricators')
43
+
44
+ # Serializers https://github.com/rails-api/active_model_serializers
45
+ SERIALIZERS_DIR = File.join('app', 'serializers')
46
+ SERIALIZERS_TEST_DIR = File.join('test', 'serializers')
47
+ SERIALIZERS_SPEC_DIR = File.join('spec', 'serializers')
48
+
49
+ class << self
50
+ def generate(root_directory, pattern_type, options)
51
+ case pattern_type
52
+ when 'test' then test_files(root_directory)
53
+ when 'fixture' then fixture_files(root_directory)
54
+ when 'scaffold' then scaffold_files(root_directory)
55
+ when 'factory' then factory_files(root_directory)
56
+ when 'serializer' then serialize_files(root_directory)
57
+ when 'additional_file_patterns'
58
+ [options[:additional_file_patterns] || []].flatten
59
+ when 'controller'
60
+ [File.join(root_directory, CONTROLLER_DIR, '%PLURALIZED_MODEL_NAME%_controller.rb')]
61
+ when 'admin'
62
+ [
63
+ File.join(root_directory, ACTIVEADMIN_DIR, '%MODEL_NAME%.rb'),
64
+ File.join(root_directory, ACTIVEADMIN_DIR, '%PLURALIZED_MODEL_NAME%.rb')
65
+ ]
66
+ when 'helper'
67
+ [File.join(root_directory, HELPER_DIR, '%PLURALIZED_MODEL_NAME%_helper.rb')]
68
+ else
69
+ []
70
+ end
71
+ end
72
+
73
+ private
74
+
75
+ def test_files(root_directory)
76
+ [
77
+ File.join(root_directory, UNIT_TEST_DIR, '%MODEL_NAME%_test.rb'),
78
+ File.join(root_directory, MODEL_TEST_DIR, '%MODEL_NAME%_test.rb'),
79
+ File.join(root_directory, SPEC_MODEL_DIR, '%MODEL_NAME%_spec.rb')
80
+ ]
81
+ end
82
+
83
+ def fixture_files(root_directory)
84
+ [
85
+ File.join(root_directory, FIXTURE_TEST_DIR, '%TABLE_NAME%.yml'),
86
+ File.join(root_directory, FIXTURE_SPEC_DIR, '%TABLE_NAME%.yml'),
87
+ File.join(root_directory, FIXTURE_TEST_DIR, '%PLURALIZED_MODEL_NAME%.yml'),
88
+ File.join(root_directory, FIXTURE_SPEC_DIR, '%PLURALIZED_MODEL_NAME%.yml')
89
+ ]
90
+ end
91
+
92
+ def scaffold_files(root_directory)
93
+ [
94
+ File.join(root_directory, CONTROLLER_TEST_DIR, '%PLURALIZED_MODEL_NAME%_controller_test.rb'),
95
+ File.join(root_directory, CONTROLLER_SPEC_DIR, '%PLURALIZED_MODEL_NAME%_controller_spec.rb'),
96
+ File.join(root_directory, REQUEST_SPEC_DIR, '%PLURALIZED_MODEL_NAME%_spec.rb'),
97
+ File.join(root_directory, ROUTING_SPEC_DIR, '%PLURALIZED_MODEL_NAME%_routing_spec.rb')
98
+ ]
99
+ end
100
+
101
+ def factory_files(root_directory)
102
+ [
103
+ File.join(root_directory, EXEMPLARS_TEST_DIR, '%MODEL_NAME%_exemplar.rb'),
104
+ File.join(root_directory, EXEMPLARS_SPEC_DIR, '%MODEL_NAME%_exemplar.rb'),
105
+ File.join(root_directory, BLUEPRINTS_TEST_DIR, '%MODEL_NAME%_blueprint.rb'),
106
+ File.join(root_directory, BLUEPRINTS_SPEC_DIR, '%MODEL_NAME%_blueprint.rb'),
107
+ File.join(root_directory, FACTORY_BOT_TEST_DIR, '%MODEL_NAME%_factory.rb'), # (old style)
108
+ File.join(root_directory, FACTORY_BOT_SPEC_DIR, '%MODEL_NAME%_factory.rb'), # (old style)
109
+ File.join(root_directory, FACTORY_BOT_TEST_DIR, '%TABLE_NAME%.rb'), # (new style)
110
+ File.join(root_directory, FACTORY_BOT_SPEC_DIR, '%TABLE_NAME%.rb'), # (new style)
111
+ File.join(root_directory, FACTORY_BOT_TEST_DIR, '%PLURALIZED_MODEL_NAME%.rb'), # (new style)
112
+ File.join(root_directory, FACTORY_BOT_SPEC_DIR, '%PLURALIZED_MODEL_NAME%.rb'), # (new style)
113
+ File.join(root_directory, FABRICATORS_TEST_DIR, '%MODEL_NAME%_fabricator.rb'),
114
+ File.join(root_directory, FABRICATORS_SPEC_DIR, '%MODEL_NAME%_fabricator.rb')
115
+ ]
116
+ end
117
+
118
+ def serialize_files(root_directory)
119
+ [
120
+ File.join(root_directory, SERIALIZERS_DIR, '%MODEL_NAME%_serializer.rb'),
121
+ File.join(root_directory, SERIALIZERS_TEST_DIR, '%MODEL_NAME%_serializer_test.rb'),
122
+ File.join(root_directory, SERIALIZERS_SPEC_DIR, '%MODEL_NAME%_serializer_spec.rb')
123
+ ]
124
+ end
125
+ end
126
+ end
127
+ end