Sha256: 25f993eeca705dca53a5241f82a9ba40a55241c628412abefd3210f47c8b78d0
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true module DiverDown class Web class Metadata class SourceMetadata BLANK_MEMO = '' BLANK_RE = /\A\s*\z/ BLANK_ARRAY = [].freeze private_constant(:BLANK_MEMO) private_constant(:BLANK_RE) private_constant(:BLANK_ARRAY) attr_reader :memo, :modules # @param source_name [String] def initialize(memo: BLANK_MEMO, modules: BLANK_ARRAY) @memo = memo @modules = modules end # @param memo [String] # @return [void] def memo=(memo) @memo = memo.strip end # @param module_names [Array<String>] # @return [void] def modules=(module_names) @modules = module_names.reject do BLANK_RE.match?(_1) end.freeze end # @return [Boolean] def modules? @modules.any? end # @return [Hash] def to_h hash = {} hash[:memo] = memo unless memo == BLANK_MEMO hash[:modules] = modules unless modules.empty? hash end private def by_source_name(source_name) @store[source_name] ||= {} end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
diver_down-0.0.1.alpha14 | lib/diver_down/web/metadata/source_metadata.rb |