module SimplifyApi::ClassMethods
Public Instance Methods
attribute(attr, type = Object, **args)
click to toggle source
# File lib/simplify_api/simplify_api.rb, line 13 def attribute(attr, type = Object, **args) raise ArgumentError, "Duplicate attribute #{attr}." if attributes[attr] if type.class == Array args[:default] = [] unless args[:default] args[:array_type] = type[0] end args[:mandatory] ||= false args[:default] ||= nil unless args[:default].class == FalseClass attributes[attr] = { name: attr.to_s, type: { Class => type, Array => Array }[type.class] || Object, params: args } attr end