Sha256: 2019466b18f7f5f64c55db2d8aebdd21da664dd59c415773b43f8e789cf7eafc
Contents?: true
Size: 794 Bytes
Versions: 3
Compression:
Stored size: 794 Bytes
Contents
# frozen_string_literal: true module Servitium class ScopedAttributes attr_reader :context, :store, :validation_context def initialize(context, store, validation_context = nil) @context = context @store = store @validation_context = validation_context end def attribute(name, *args) store << name.to_s context.send(:attribute, name, *args) end def validates(name, options = {}) options[:on] ||= validation_context if validation_context context.send(:validates, name, options) end def validate(name, options = {}, &block) options[:on] ||= validation_context if validation_context context.send(:validate, name, options, &block) end def call(block) instance_exec(&block) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
servitium-1.3.0 | lib/servitium/scoped_attributes.rb |
servitium-1.2.28 | lib/servitium/scoped_attributes.rb |
servitium-1.2.20 | lib/servitium/scoped_attributes.rb |