class Grapethor::Api

Attributes

api_version[R]
app_path[R]

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/grapethor/generators/api.rb, line 14
def self.exit_on_failure?
  true
end
source_root() click to toggle source
# File lib/grapethor/generators/api.rb, line 18
def self.source_root
  File.join(__dir__, '..')
end

Public Instance Methods

create_api() click to toggle source
# File lib/grapethor/generators/api.rb, line 49
def create_api
  report("Creating new API...") do
    directory 'templates/api', app_path
    directory "templates/api_#{app_test_framework}", app_path
    insert_into_file "#{app_path}/api/base.rb",
                     "\s\s\s\smount API#{api_version}::Base\n",
                     :before => "\s\s\s\s# mount API<VERSION>::Base\n"
  end
end
parse_args_and_opts() click to toggle source
# File lib/grapethor/generators/api.rb, line 32
def parse_args_and_opts
  @api_version = version.downcase
  @app_path    = options[:path]
end
validate_target_app() click to toggle source
# File lib/grapethor/generators/api.rb, line 38
    def validate_target_app
      unless app_dir_exists?
        alert <<~MSG
                Directory '#{app_path}' does not seem to be generated by Grapethor or root application directory.\n
                Please 'cd' into application root diretory or use '--path' option.
              MSG
        exit
      end
    end

Private Instance Methods

app_dir_exists?() click to toggle source
# File lib/grapethor/generators/api.rb, line 62
def app_dir_exists?
  File.exist?("#{app_path}/api/base.rb")
end
app_name() click to toggle source
# File lib/grapethor/generators/api.rb, line 66
def app_name
  @app_name ||= config_filename(app_path)['app_name']
end
app_prefix() click to toggle source
# File lib/grapethor/generators/api.rb, line 70
def app_prefix
  @app_prefix ||= config_filename(app_path)['app_prefix']
end
app_swagger?() click to toggle source
# File lib/grapethor/generators/api.rb, line 74
def app_swagger?
  @app_swagger ||= config_filename(app_path)['app_swagger']
end
app_test_framework() click to toggle source
# File lib/grapethor/generators/api.rb, line 78
def app_test_framework
  @app_test_framework ||= config_filename(@app_path)['app_test_framework']
end