Sha256: 6671e4c5c17b30f399aabb8782371f24c2ed3f389b6087c9635e29fd91d7cfbf

Contents?: true

Size: 909 Bytes

Versions: 12

Compression:

Stored size: 909 Bytes

Contents

def attr_limited_regex_accessor(symbol, regex)
    class_eval %{
        def #{symbol}
            @#{symbol}
        end

        def #{symbol}=(new_value)
            if new_value != nil && new_value !~ #{regex}
                raise "invalid #{symbol} format"
            end

            @#{symbol} = new_value
        end
    }
end

def attr_private_limited_regex_accessor(symbol, regex)
    class_eval %{
        def #{symbol}
            @#{symbol}
        end

        private def #{symbol}=(new_value)
            if new_value != nil && new_value !~ #{regex}
                raise "invalid #{symbol} format"
            end

            @#{symbol} = new_value
        end
    }
end

def attr_private_accessor(symbol)
    class_eval %{
        private def #{symbol}
            @#{symbol}
        end

        private def #{symbol}=(new_value)
            @#{symbol} = new_value
        end
    }
end

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
shnaider_code-2.0.4 lib/source/attr_limited_regex_accessor.rb
shnaider_code-2.0.3 lib/source/attr_limited_regex_accessor.rb
shnaider_code-2.0.2 lib/source/attr_limited_regex_accessor.rb
shnaider_code-2.0.1 lib/source/attr_limited_regex_accessor.rb
shnaider_code-2.0.0 lib/source/attr_limited_regex_accessor.rb
Web_rubbish_code-1.0.2 lib/source/attr_limited_regex_accessor.rb
Web_rubbish_code-1.0.1 lib/source/attr_limited_regex_accessor.rb
Web_rubbish_code-1.0.0 lib/source/attr_limited_regex_accessor.rb
mc_delta-1.0.0 lib/source/attr_limited_regex_accessor.rb
mc_delta-0.9.0 lib/source/attr_limited_regex_accessor.rb
mc_delta-0.8.0 lib/source/attr_limited_regex_accessor.rb
mc_delta-0.7.0 lib/source/attr_limited_regex_accessor.rb