Sha256: 8cbebae1bc00342269d0ae96fca018b80b80980eaab487aac12c1accd5128e16

Contents?: true

Size: 500 Bytes

Versions: 3

Compression:

Stored size: 500 Bytes

Contents

module Medie
  module Linked
    def links
      links = fetch("link", [])
      links = [links] unless links.kind_of? Array
      @type_to_use.new(links)
    end

    def __normalize__(value)
      case value
      when Hash
        value.extend(Methodize).extend(Linked).use_link_type(@type_to_use)
      when Array
        value.map { |v| __normalize__(v) }
      else
        value
      end
      value
    end

    def use_link_type(type)
      @type_to_use = type
      self
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
medie-1.0.0 lib/medie/linked.rb
medie-1.0.0.beta4 lib/medie/linked.rb
medie-1.0.0.beta3 lib/medie/linked.rb