kostyantyn/hydra_attribute

View on GitHub
lib/hydra_attribute/configuration.rb

Summary

Maintainability
A
20 mins
Test Coverage
module HydraAttribute
  class Configuration
    def self.add_setting(name, default_value)
      attr_writer name

      class_eval <<-EOS, __FILE__, __LINE__ + 1
        def #{name}
          @#{name} = #{default_value} unless defined?(@#{name})
          @#{name}
        end

        def #{name}?
          #{name}.present?
        end
      EOS
    end
  end
end