Class: Develoz::Generators::ConcernsGenerator
- Inherits:
-
Base
- Object
- Rails::Generators::Base
- Base
- Develoz::Generators::ConcernsGenerator
show all
- Defined in:
- lib/generators/develoz/concerns/concerns_generator.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#add_gem, #app_class, #app_name, #append_env, #apply_template, #ensure_gitignore, #inject_once, #insert_route, #migration_exists?, next_migration_timestamp
Class Method Details
.source_root ⇒ Object
8
9
10
|
# File 'lib/generators/develoz/concerns/concerns_generator.rb', line 8
def self.source_root
File.expand_path("templates", __dir__)
end
|
Instance Method Details
#create_concern_specs ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/generators/develoz/concerns/concerns_generator.rb', line 31
def create_concern_specs
template "spec/models/concerns/searchable_concern_spec.rb.tt", "spec/models/concerns/searchable_concern_spec.rb"
template "spec/models/concerns/optimized_finders_spec.rb.tt", "spec/models/concerns/optimized_finders_spec.rb"
template "spec/models/concerns/transitionable_spec.rb.tt", "spec/models/concerns/transitionable_spec.rb"
template "spec/models/concerns/configurable_spec.rb.tt", "spec/models/concerns/configurable_spec.rb"
template "spec/models/configuration_spec.rb.tt", "spec/models/configuration_spec.rb"
end
|
#create_concerns ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/generators/develoz/concerns/concerns_generator.rb', line 12
def create_concerns
template "app/models/concerns/searchable_concern.rb.tt", "app/models/concerns/searchable_concern.rb"
template "app/models/concerns/optimized_finders.rb.tt", "app/models/concerns/optimized_finders.rb"
template "app/models/concerns/transitionable.rb.tt", "app/models/concerns/transitionable.rb"
template "app/models/concerns/configurable.rb.tt", "app/models/concerns/configurable.rb"
template "app/models/configuration.rb.tt", "app/models/configuration.rb"
end
|
#create_migrations ⇒ Object
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/generators/develoz/concerns/concerns_generator.rb', line 20
def create_migrations
unless migration_exists?("add_status_transitions")
template "db/migrate/add_status_transitions.rb.tt",
"db/migrate/#{next_migration_timestamp}_add_status_transitions.rb"
end
return if migration_exists?("create_configurations")
template "db/migrate/create_configurations.rb.tt",
"db/migrate/#{next_migration_timestamp}_create_configurations.rb"
end
|
#inject_into_application_record ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/generators/develoz/concerns/concerns_generator.rb', line 39
def inject_into_application_record
inject_once(
into: "app/models/application_record.rb",
content: " extend SearchableConcern\n include Configurable\n include OptimizedFinders",
after: "primary_abstract_class\n"
)
end
|