Sha256: 524d2b5299b16874b3a7ba4c7014c5885ceb50f1023e7a6468155fb79e47245a
Contents?: true
Size: 916 Bytes
Versions: 1
Compression:
Stored size: 916 Bytes
Contents
module AxleAttributes module Conversions def self.included(base) if base.is_a? Class base.class_eval do cattr_accessor :target_class def self.use_target_class(target_class) self.target_class = target_class end end else base.class_eval do mattr_accessor :target_class def self.use_target_class(target_class) self.target_class = target_class end end end end class ConversionError < RuntimeError; end module_function def to_definition(*args) case args.first when AxleAttributes::Definition args.first when String target_class.attributes[args.first] || AxleAttributes::NullDefinition.new(target_class, args.first) else raise ConversionError.new "Can't convert #{args}.inspect to Field" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
axle_attributes-1.13.2 | lib/axle_attributes/conversions.rb |