Module: ApiScaffold::Generators::GeneratorHelpers
- Included in:
- ApiScaffoldGenerator
- Defined in:
- lib/generators/api_scaffold/generator_helpers.rb
Instance Method Summary collapse
- #apipie_installed? ⇒ Boolean
- #apipie_param(attribute_name) ⇒ Object
- #attributes_hash ⇒ Object
- #attributes_string ⇒ Object
- #error_serializer_created? ⇒ Boolean
- #fixture_name ⇒ Object
- #fixture_replacement ⇒ Object
- #gem_available?(gem_name) ⇒ Boolean
- #prefix ⇒ Object
- #prefixed_class_name ⇒ Object
- #prefixed_controller_class_name ⇒ Object
- #prefixed_url(resource) ⇒ Object
- #test_framework ⇒ Object
Instance Method Details
#apipie_installed? ⇒ Boolean
25 26 27 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 25 def apipie_installed? File.exists? File.join(destination_root, "config/initializers/apipie.rb") end |
#apipie_param(attribute_name) ⇒ Object
65 66 67 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 65 def apipie_param(attribute_name) "param :#{attribute_name}, String, 'TODO: #{attribute_name} descrption'" end |
#attributes_hash ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 53 def attributes_hash return {} if attributes_names.empty? attributes_names.map do |name| if %w(password password_confirmation).include?(name) && attributes.any?(&:password_digest?) ["#{name}", "'secret'"] else ["#{name}", "@#{singular_table_name}.#{name}"] end end.sort.to_h end |
#attributes_string ⇒ Object
49 50 51 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 49 def attributes_string attributes_hash.map { |k, v| "#{k}: #{v}" }.join(", ") end |
#error_serializer_created? ⇒ Boolean
29 30 31 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 29 def error_serializer_created? File.exists? File.join(destination_root, "app/serializers/error_serializer.rb") end |
#fixture_name ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 41 def fixture_name if mountable_engine? (namespace_dirs + [table_name]).join("_") else table_name end end |
#fixture_replacement ⇒ Object
37 38 39 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 37 def fixture_replacement Rails.application.config.generators.[:rails][:fixture_replacement] end |
#gem_available?(gem_name) ⇒ Boolean
21 22 23 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 21 def gem_available?(gem_name) Gem::Specification::find_all_by_name(gem_name).any? end |
#prefix ⇒ Object
5 6 7 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 5 def prefix "v#{options[:api_version]}" end |
#prefixed_class_name ⇒ Object
9 10 11 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 9 def prefixed_class_name "Api::#{prefix.capitalize}::#{class_name}" end |
#prefixed_controller_class_name ⇒ Object
13 14 15 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 13 def prefixed_controller_class_name "Api::#{prefix.capitalize}::#{controller_class_name}" end |
#prefixed_url(resource) ⇒ Object
17 18 19 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 17 def prefixed_url(resource) ['api', prefix, resource, 'url'].join('_') end |
#test_framework ⇒ Object
33 34 35 |
# File 'lib/generators/api_scaffold/generator_helpers.rb', line 33 def test_framework Rails.application.config.generators.[:rails][:test_framework] end |