module DistrictCn::ActAsAreaField::ActiveRecord

Public Instance Methods

act_as_area_field(*attributes) click to toggle source
# File lib/district_cn/act_as_area_field.rb, line 5
      def act_as_area_field(*attributes)
        define_attribute_methods unless attribute_methods_generated?

        attributes.each do |attribute|
          class_eval <<-EVAL
              alias_method :_#{attribute}, :#{attribute}
              def #{attribute}
                val = _#{attribute}
                return val if val.blank?

                unless @_#{attribute} && val.eql?(@_#{attribute}.value)
                  @_#{attribute} = DistrictCn.code(val) 
                end
                @_#{attribute}
              end
          EVAL
        end
      end