class Spout::Models::Dictionary
Creates a structure that contains a dictionaries variables, domains, and forms
Attributes
app_path[RW]
domain_files[R]
domains[RW]
form_files[R]
forms[RW]
variable_files[R]
variables[RW]
Public Class Methods
new(app_path)
click to toggle source
# File lib/spout/models/dictionary.rb, line 17 def initialize(app_path) @app_path = app_path @variable_files = json_files("variables") @domain_files = json_files("domains") @form_files = json_files("forms") @variables = [] @domains = [] @forms = [] end
Public Instance Methods
load_all!()
click to toggle source
# File lib/spout/models/dictionary.rb, line 29 def load_all! load_variables! load_domains! load_forms! self end
load_domains!()
click to toggle source
# File lib/spout/models/dictionary.rb, line 40 def load_domains! load_type!("Domain") end
load_forms!()
click to toggle source
# File lib/spout/models/dictionary.rb, line 44 def load_forms! load_type!("Form") end
load_variables!()
click to toggle source
# File lib/spout/models/dictionary.rb, line 36 def load_variables! load_type!("Variable") end
Private Instance Methods
json_files(type)
click to toggle source
# File lib/spout/models/dictionary.rb, line 50 def json_files(type) Dir.glob(File.join(@app_path, type, "**", "*.json")) end
load_type!(method)
click to toggle source
# File lib/spout/models/dictionary.rb, line 54 def load_type!(method) results = instance_variable_get("@#{method.downcase}_files").collect do |file| Object.const_get("Spout::Models::#{method}").new(file, @app_path) end instance_variable_set("@#{method.downcase}s", results) end