Sha256: 8602bef367b8a243d1ed470a13b13e21556b27e79619b11d3665cbdb55324f92

Contents?: true

Size: 527 Bytes

Versions: 3

Compression:

Stored size: 527 Bytes

Contents

require_relative "models/base_coercer"

module Hexx

  # Declares the +.attr_coerced+ private class method.
  #
  # @example
  #
  #   require "hexx"
  #   require_relative "attributes/string"
  #
  #   class User
  #     extend Hexx::Models
  #     attr_coerced :name, type: ActiveSupport::Multibyte::Chars
  #   end
  #
  module Models

    private

    def attr_coerced(*names, type:)
      names.each { |name| coercer.new(self, name, type).coerce }
    end

    def coercer
      @coercer ||= BaseCoercer
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hexx-2.2.0 lib/hexx/models.rb
hexx-2.1.0 lib/hexx/models.rb
hexx-2.0.2 lib/hexx/models.rb