Sha256: c1e6ba17ec51a7cc7fa38b2ec0829936c94b40b0ac66e69ec1021ab69d746e9a
Contents?: true
Size: 974 Bytes
Versions: 2
Compression:
Stored size: 974 Bytes
Contents
# frozen_string_literal: true module Loaf class Configuration VALID_ATTRIBUTES = [ :locales_path, :crumb_length, :capitalize, :match ].freeze attr_accessor(*VALID_ATTRIBUTES) DEFAULT_LOCALES_PATH = '/' DEFAULT_STYLE_CLASSES = 'selected' DEFAULT_CRUMB_LENGTH = 30 DEFAULT_LAST_CRUMB_LINKED = false DEFAULT_CAPITALIZE = false DEFAULT_MATCH = :inclusive DEFAULT_ROOT = true # Setup this configuration # # @api public def initialize(attributes = {}) VALID_ATTRIBUTES.each do |attr| default = self.class.const_get("DEFAULT_#{attr.to_s.upcase}") attr_value = attributes.fetch(attr) { default } send("#{attr}=", attr_value) end end # Convert all properties into hash # # @return [Hash] # # @api public def to_hash VALID_ATTRIBUTES.reduce({}) { |acc, k| acc[k] = send(k); acc } end end # Configuration end # Loaf
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
loaf-0.7.0 | lib/loaf/configuration.rb |
loaf-0.6.2 | lib/loaf/configuration.rb |