Sha256: d45e3c5b805a042726f12b39f92a4a5706f5d10fb6def382f9d9695f760385ae
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true # typed: true require_relative "schemaless_rest_api/version" require_relative "schemaless_rest_api/entities" require_relative "schemaless_rest_api/swagger_builder" require_relative "schemaless_rest_api/seed" require "tapioca" require "logger" require "ougai" require "json" require "securerandom" ENV["APP_ENV"] ||= "production" ENV["base_path"] ||= "" # Global params for Schemalass REST API module SchemalessRestApi if ENV["Log"] == "structured" @logger = Ougai::Logger.new($stdout) @log_type = :ougai else @logger = Logger.new($stdout) @log_type = :basic end LOGLEVELS = %w[DEBUG INFO WARN ERROR FATAL UNKNOWN].freeze log_level ||= LOGLEVELS.index ENV.fetch("LOG_LEVEL", "INFO") @logger.level = log_level class << self # @return Logger attr_accessor :logger # @return Logger type attr_accessor :log_type end class Error < StandardError; end end def models_env_not_set !ENV["models"] || T.must(ENV["models"]).empty? end def extract_models return [] if !Entities.models.empty? && models_env_not_set error_msg = "Make 'models' environment variable an array (e.g ['model1', 'model2'])" raise "Please set 'models' ENV variable or create 'db.json'. #{error_msg}" if ENV["models"].nil? models = eval(T.must(ENV["models"])) # rubocop:disable Security/Eval raise error_msg unless models.is_a? Array models end SEED_FILE = "db.json" init_based_on_seed if File.exist? SEED_FILE extract_models.each do |model| Entities.models[model.to_sym] = {} end puts "Modelling #{Entities.models.keys}" if ENV["mongodb"] require_relative "schemaless_rest_api/mongo_client" else puts "[INFO] Using in memory storage. Pass in 'mongodb' ENV variable to store in db" end require_relative "schemaless_rest_api/rest_server"
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
schemaless_rest_api-0.7.0 | lib/schemaless_rest_api.rb |