module Opencrx::Model::Map

Public Class Methods

model_to_opencrx_key(klass) click to toggle source
# File lib/opencrx/model/map.rb, line 15
def model_to_opencrx_key(klass)
  "#{BASE_KEY}.#{demodulized_class_name(klass)}"
end
model_to_opencrx_query(klass) click to toggle source
# File lib/opencrx/model/map.rb, line 19
def model_to_opencrx_query(klass)
  model_to_opencrx_key(klass).gsub(/\./, ':')
end
opencrx_key_to_model(key) click to toggle source
# File lib/opencrx/model/map.rb, line 7
def opencrx_key_to_model(key)
  unless key.match(/^#{BASE_KEY}\.(.*)$/)
    raise "Unexpected key #{key}"
  end
  target_class_name = $1
  ActiveSupport::Inflector.safe_constantize("::Opencrx::Model::#{target_class_name}")
end

Private Class Methods

demodulized_class_name(klass) click to toggle source
# File lib/opencrx/model/map.rb, line 25
def demodulized_class_name(klass)
  ActiveSupport::Inflector.demodulize klass
end