Sha256: f0b0684beaf27310ff1439da7c95a2237f5f24aff6ae0c4b0e1378ca026afe94
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 KB
Contents
module Cassandra::Mapper::Utility class Config extend DelegateKeys delegate_keys 'dsl.options', :key, :subkey, :types, :before_insert, :after_insert, :after_remove, :before_remove attr_reader :dsl def initialize(&block) @dsl = DSL.new &block end class DSL attr_reader :options def initialize(&block) @options = { types: {}, before_insert: [], after_insert: [], after_remove: [], before_remove: [] } instance_eval &block end def key(*fields) @options[:key] = fields end def subkey(*fields) @options[:subkey] = fields end def type(field, type) @options[:types][field] = type end def before_insert(&block) @options[:before_insert].push block end def before_remove(&block) @options[:before_remove].push block end def after_insert(&block) @options[:after_insert].push block end def after_remove(&block) @options[:after_remove].push block end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cassandra-mapper-0.2 | lib/cassandra/mapper/utility/config.rb |
cassandra-mapper-0.1 | lib/cassandra/mapper/utility/config.rb |