class Spout::Models::Record
Base class for spout variables, forms, and domains that are read from JSON files
Public Class Methods
find_by_id(id)
click to toggle source
Only returns records with zero json errors, nil otherwise
# File lib/spout/models/record.rb, line 13 def find_by_id(id) file_name = Dir.glob(expected_path(id), File::FNM_CASEFOLD).first variable = new(file_name, dictionary_root) (variable.errors.size > 0 ? nil : variable) end
Private Class Methods
dictionary_root()
click to toggle source
# File lib/spout/models/record.rb, line 33 def dictionary_root FileUtils.pwd end
expected_filename(id)
click to toggle source
# File lib/spout/models/record.rb, line 25 def expected_filename(id) "#{id.to_s.downcase}.json" end
expected_path(id)
click to toggle source
# File lib/spout/models/record.rb, line 29 def expected_path(id) File.join(dictionary_root, record_folder, "**", expected_filename(id)) end
record_folder()
click to toggle source
# File lib/spout/models/record.rb, line 21 def record_folder "#{name.split('::').last.to_s.downcase}s" end