Sha256: 0b859779970ed98b2210617068615e7ee83dfde6c0dde1333c45663a15b9c2e1
Contents?: true
Size: 984 Bytes
Versions: 2
Compression:
Stored size: 984 Bytes
Contents
# encoding: utf-8 module PagesCore module Localizable class Configuration def initialize(attributes = nil) @attributes = attributes end def attribute(attribute_name, options = {}) attribute_table[attribute_name.to_sym] = options end def attributes attribute_table.merge(dictionary_attributes) end def dictionary(dict) dictionaries << dict end def attribute?(attribute) attributes.keys.include?(attribute) end private def dictionaries @dictionaries ||= [] end def dictionary_attributes dictionaries.map(&:call).inject({}) do |attrs, list| attrs.merge(hashify(list)) end end def hashify(list) return list if list.is_a?(Hash) list.each_with_object({}) do |e, a| a[e] = {} end end def attribute_table @attributes ||= {} end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.4.3 | lib/pages_core/localizable/configuration.rb |
pages_core-3.4.2 | lib/pages_core/localizable/configuration.rb |