Sha256: 9d70219e56e9f276ae0a6d04f88b6c2348ae3610399d5f870564bb9f01e6248e

Contents?: true

Size: 455 Bytes

Versions: 2

Compression:

Stored size: 455 Bytes

Contents

require 'forwardable'

module Husky

  class Entity
    extend Forwardable

    class << self

      def fields(*field_names)
        field_names.each do |field_name|
          def_delegators :_data, field_name
          def_delegators :_data, "#{field_name}="
        end
      end

      def wrap(items)
        items.map { |item| new(item) }
      end

    end

    attr_reader :_data

    def initialize(_data)
      @_data = _data
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
husky-0.4.1 lib/husky/entity.rb
husky-0.4.0 lib/husky/entity.rb