module JsonApiResource::Conversions
Public Instance Methods
ApiErrors(*args)
click to toggle source
# File lib/json_api_resource/conversions.rb, line 3 def ApiErrors(*args) case args.first when ActiveModel::Errors then args.first when Hash then args.first when Array then { base: args } when String then { base: [args] } when NilClass then { base: [[]]} else raise TypeError, "Cannot convert #{ args.inspect} to Error" end end
ApiResource(klass, *args)
click to toggle source
# File lib/json_api_resource/conversions.rb, line 47 def ApiResource(klass, *args) case args.first when klass then args.first when Hash then klass.new(args.first) when klass.client_class then klass.new(args.first.attributes) when Array then args.first.map { |attr| ApiResource(klass, attr) } else raise TypeError, "Cannot convert #{ args.inspect} to #{klass}" end end
Boolean(*args)
click to toggle source
# File lib/json_api_resource/conversions.rb, line 30 def Boolean(*args) case args.first when FalseClass then args.first when TrueClass then args.first when String if %w(true 1).include?(args.first.downcase) true elsif %w(false 0).include?(args.first.downcase) false else raise TypeError, "Cannot convert #{ args.inspect} to Boolean" end when Integer then args.first != 0 else raise TypeError, "Cannot convert #{ args.inspect} to Boolean" end end
Date(*args)
click to toggle source
# File lib/json_api_resource/conversions.rb, line 14 def Date(*args) case args.first when String then Date.parse(args.first) when Date then args.first else raise TypeError, "Cannot convert #{ args.inspect} to Date" end end
DateTime(*args)
click to toggle source
# File lib/json_api_resource/conversions.rb, line 22 def DateTime(*args) case args.first when String then DateTime.parse(args.first) when DateTime then args.first else raise TypeError, "Cannot convert #{ args.inspect} to DateTime" end end