Sha256: 4f23a013f6f41017764f26cbf3c69a87f723d19cb1fcdcdf8eb7c02109e04ec4

Contents?: true

Size: 875 Bytes

Versions: 1

Compression:

Stored size: 875 Bytes

Contents

module RXaal
  module MetadataMod
    def self.included(base)
        base.extend(ClassMethods)
     end
     module ClassMethods
       def serialize_accessor(sym)
        define_method(sym) do
          instance_variable_get("@#{sym}")
        end
        
        define_method("#{sym}=") do |v|
          instance_variable_set("@#{sym}", v)
          instance_variable_set("@serialize", true)
        end
      end
      
      def serialize_accessor_of_class(klass, *syms)
        syms.each { |sym|
          define_method(sym) do
            instance_variable_get("@#{sym}")
          end
          
        define_method("#{sym}=") do |v|
          if v.class == klass
            instance_variable_set("@#{sym}", v)
            instance_variable_set("@serialize", true)
          end
        end
        }
      end
     end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
RXAAL-0.0.1 lib/metadata_mod.rb