module Nidyx::Common
Constants
- CLASS_SUFFIX
- IGNORED_KEYS
Public Instance Methods
class_name(prefix, key)
click to toggle source
# File lib/nidyx/common.rb, line 12 def class_name(prefix, key) if key && prefix prefix + key.camelize + CLASS_SUFFIX elsif prefix prefix + CLASS_SUFFIX else CLASS_SUFFIX end end
class_name_from_path(prefix, path, schema)
click to toggle source
# File lib/nidyx/common.rb, line 22 def class_name_from_path(prefix, path, schema) override = object_at_path(path, schema)[NAME_OVERRIDE_KEY] return class_name(prefix, override.camelize) if override name = "" path.each_index do |idx| # skip ignored keys such as "properties" in the name next if IGNORED_KEYS.include?(path[idx]) # skip the last key if we are using an override next if override && (idx == path.length - 1) obj = object_at_path(path[0..idx], schema) if obj[NAME_OVERRIDE_KEY] name << obj[NAME_OVERRIDE_KEY].camelize else name << path[idx].camelize end end # append the override name to the end if present name << override.camelize if override class_name(prefix, name) end
object_at_path(path, schema)
click to toggle source
# File lib/nidyx/common.rb, line 46 def object_at_path(path, schema) obj = schema begin path.each { |p| obj = obj[p] } rescue raise NoObjectAtPathError, path end raise NoObjectAtPathError, path unless obj obj end