Sha256: d8599bf451a990038b54cf9a61b2766c84153c6123efe9f58e1a1e0b21068ba3
Contents?: true
Size: 889 Bytes
Versions: 2
Compression:
Stored size: 889 Bytes
Contents
require "hashme/version" # External dependencies require "active_model" require "active_model/naming" require "active_model/serialization" require "active_support/core_ext" require "active_support/json" # Local dependencies require "hashme/attributes" require "hashme/castable" require "hashme/casted_array" require "hashme/properties" require "hashme/property" module Hashme extend ActiveSupport::Concern include ActiveModel::Validations included do include Castable include Attributes include Properties # Eventually! include Validations end def initialize(attrs = {}) # Use the `Properties` module's `#set_attribtues` method set_attributes(attrs) end module ClassMethods # Little help. Equivalent to new.tap def build(*attrs) instance = self.new(*attrs) yield instance if block_given? instance end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hashme-0.1.1 | lib/hashme.rb |
hashme-0.1.0 | lib/hashme.rb |