Top Level Namespace
Defined Under Namespace
Modules: MongoClient, SchemalessRestApi, ServerUtils
Classes: Entities, RestServer, SwaggerBuilder
Constant Summary
collapse
- SEED_FILE =
"db.json"
Instance Method Summary
collapse
Instance Method Details
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/schemaless_rest_api.rb', line 46
def
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"])) raise error_msg unless models.is_a? Array
models
end
|
#init_based_on_seed ⇒ Object
5
6
7
8
9
10
11
12
13
14
|
# File 'lib/schemaless_rest_api/seed.rb', line 5
def init_based_on_seed
return if ENV["mongodb"]
puts "Seeding db based on '#{SEED_FILE}'"
seed_data = JSON.parse(File.read(SEED_FILE))
seed_data.each do |entity, values|
Entities.models[entity.to_sym] = {} unless Entities.models[entity.to_sym]
seed_in_memory_data(entity, values)
end
end
|
#models_env_not_set ⇒ Object
42
43
44
|
# File 'lib/schemaless_rest_api.rb', line 42
def models_env_not_set
!ENV["models"] || T.must(ENV["models"]).empty?
end
|
#seed_in_memory_data(entity, values) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/schemaless_rest_api/seed.rb', line 16
def seed_in_memory_data(entity, values)
unless values.is_a? Array
SchemalessRestApi.logger.warning "Entity '#{entity}' doesn't have array, skipping"
return
end
values.each do |value|
next unless value["id"]
Entities.models[entity.to_sym][value["id"].to_s] = value
end
end
|