Sha256: 94456445e69e1ad711c91202113db7b5b850fbd71a1cc0378cd40d18bda2ef2c

Contents?: true

Size: 546 Bytes

Versions: 1

Compression:

Stored size: 546 Bytes

Contents

require 'pineapples/setting'

module Pineapples
  module Settings
    def settings
      @settings
    end

    def setting(name, opts)
      raw_setting = Pineapples::Setting.new(name, opts)

      @settings ||= {}

      self.settings[name] = raw_setting

      define_method name do
        self.settings[name].value
      end

      define_method :"#{name}=" do |value|
        self.settings[name].value = value
      end

      define_method :"#{name}?" do
        value = self.send(name)
        value.present?
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pineapples-0.3.345 lib/pineapples/settings.rb