module XapixClient
Constants
- VERSION
Attributes
autoloaded_models[RW]
configuration[RW]
Public Class Methods
autoload_models()
click to toggle source
# File lib/xapix_client.rb, line 12 def self.autoload_models Schema.includes(:schema_relationships).map do |schema| model_name = schema[:id].classify resource_class = Class.new(Resource) do schema.attributes.except(:id, :type).each do |name, data_type| property(name.to_sym, type: data_type.to_sym) end relations_by_cardinality = schema.schema_relationships.group_by(&:cardinality) (relations_by_cardinality['to_one'] || {}).each do |schema_relationship| has_one(schema_relationship.name.to_sym, class_name: schema_relationship.referenced_endpoint_name.classify) end (relations_by_cardinality['to_many'] || {}).each do |schema_relationship| has_many(schema_relationship.name.to_sym, class_name: schema_relationship.referenced_endpoint_name.classify) end end Object.const_set(model_name, resource_class) resource_class end end
configure() { |configuration| ... }
click to toggle source
# File lib/xapix_client/config.rb, line 13 def self.configure self.configuration ||= Configuration.new yield(configuration) self.autoloaded_models = configuration.autoload_models ? autoload_models : [] end