Sha256: f71b68bfd05c40be30aee8a430a113c9f607d416b4ee9f8058129b3f5db16101

Contents?: true

Size: 429 Bytes

Versions: 5

Compression:

Stored size: 429 Bytes

Contents

# frozen_string_literal: true

module UsdaFdc
  module Configurable
    def configure
      yield(self)
    end

    def define_setting(name, default = nil)
      instance_variable_set("@#{name}", default)

      define_singleton_method("#{name}=") do |value|
        instance_variable_set("@#{name}", value)
      end

      define_singleton_method(name) do
        instance_variable_get("@#{name}")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
usda_fdc-0.2.2 lib/usda_fdc/helpers/configurable.rb
usda_fdc-0.2.1 lib/usda_fdc/helpers/configurable.rb
usda_fdc-0.2.0 lib/usda_fdc/helpers/configurable.rb
usda_fdc-0.1.1 lib/usda_fdc/helpers/configurable.rb
usda_fdc-0.1.0 lib/usda_fdc/helpers/configurable.rb