Sha256: 5b76d56bac807c02774d389c00fa3a6ae033d63e79c6fac5f66736992d9aac46

Contents?: true

Size: 788 Bytes

Versions: 1

Compression:

Stored size: 788 Bytes

Contents

require 'virtus'
require 'securerandom'
require 'active_support'
require 'active_model'

require 'soulless/accessors'
require 'soulless/associations'
require 'soulless/dirty'
require 'soulless/inheritance'
require 'soulless/model'
require 'soulless/validations'
require 'soulless/version'

module Soulless
  I18n.load_path += Dir.glob('lib/soulless/locale/*.{rb,yml}')
  
  def self.model(options = {})
    mod = Module.new
    mod.define_singleton_method :included do |object|
      object.send(:include, Virtus.model(options))
      object.send(:include, Model)
      object.send(:include, Associations)
      object.send(:include, Validations)
      object.send(:include, Dirty)
      object.send(:include, Accessors)
      object.send(:include, Inheritance)
    end
    mod
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soulless-0.5.0.rc1 lib/soulless.rb