lib/recurly/schema.rb in recurly-3.0.0.beta.1 vs lib/recurly/schema.rb in recurly-3.0.0.beta.2
- old
+ new
@@ -40,11 +40,13 @@
# @return [Request,Resource]
# @raise ArgumentError If class can't be found.
def self.get_recurly_class(type)
raise ArgumentError, "#{type.inspect} must be a symbol but is a #{type.class}" unless type.is_a?(Symbol)
- if Requests.const_defined?(type)
+ if type == :Address
+ Resources::Address
+ elsif Requests.const_defined?(type)
Requests.const_get(type)
elsif Resources.const_defined?(type)
Resources.const_get(type)
else
raise ArgumentError, "Recurly type '#{type}' is unknown"
@@ -97,9 +99,14 @@
@options.fetch(:read_only, false)
end
def recurly_class
Schema.get_recurly_class(type == Array ? options[:item_type] : type)
+ end
+
+ def is_primitive?
+ t = type == Array ? options[:item_type] : type
+ t.is_a?(Class) || t == :Boolean
end
end
private_constant :List
private_constant :Attribute