Sha256: 33c11f7239285d11c07a6c41cd54022bd18194298752b61b8e95d2ed6fa886b4

Contents?: true

Size: 607 Bytes

Versions: 12

Compression:

Stored size: 607 Bytes

Contents

# Copyright (c) 2020 Jerome Arbez-Gindre
# frozen_string_literal: true

module DefMastership
  # Change references from temporary to definitive with multiple RefChangers
  class LineModifierBase
    attr_reader :changes, :config

    def initialize
      @config = {}
      @changes = []
    end

    def method_missing(method_name, *args, &block)
      return @config[method_name] if @config[method_name]

      super
    end

    def respond_to_missing?(method_name, *args)
      @config[method_name] || super
    end

    def from_config(config)
      @config.merge!(config)
      self
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
defmastership-1.0.17 lib/defmastership/line_modifier_base.rb
defmastership-1.0.16 lib/defmastership/line_modifier_base.rb
defmastership-1.0.15 lib/defmastership/line_modifier_base.rb
defmastership-1.0.14 lib/defmastership/line_modifier_base.rb
defmastership-1.0.13 lib/defmastership/line_modifier_base.rb
defmastership-1.0.12 lib/defmastership/line_modifier_base.rb
defmastership-1.0.11 lib/defmastership/line_modifier_base.rb
defmastership-1.0.10 lib/defmastership/line_modifier_base.rb
defmastership-1.0.9 lib/defmastership/line_modifier_base.rb
defmastership-1.0.8 lib/defmastership/line_modifier_base.rb
defmastership-1.0.7 lib/defmastership/line_modifier_base.rb
defmastership-1.0.6 lib/defmastership/line_modifier_base.rb