Sha256: 2cc17723277c38946285639561fd11c3b750b80d4396ed86237dd2b01a44de0a
Contents?: true
Size: 787 Bytes
Versions: 2
Compression:
Stored size: 787 Bytes
Contents
module Sprig class Directive attr_reader :attributes def initialize(args) @attributes = begin case when args.is_a?(Hash) args when args < ActiveRecord::Base { :class => args } else raise ArgumentError, argument_error_message end end end def klass @klass ||= attributes.fetch(:class) { raise ArgumentError, argument_error_message } end def options @options ||= attributes.except(:class) end def datasource @datasource ||= Source.new(klass.to_s.tableize, options) end private def argument_error_message 'Sprig::Directive must be instantiated with an '\ 'ActiveRecord subclass or a Hash with :class defined' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sprig-0.1.1 | lib/sprig/directive.rb |
sprig-0.1.0 | lib/sprig/directive.rb |