Sha256: ddbde209694c7043ec8bbd36e4491116ec6e09cb11b24c6adcccdf3d0bf26c7a

Contents?: true

Size: 1.16 KB

Versions: 12

Compression:

Stored size: 1.16 KB

Contents

module Riddle
  class Configuration
    class Section
      def self.settings
        []
      end
      
      def valid?
        true
      end
      
      private
      
      def settings_body
        self.class.settings.select { |setting|
          !send(setting).nil?
        }.collect { |setting|
          if send(setting) == ""
            conf = "  #{setting} = "
          else
            conf = setting_to_array(setting).collect { |set|
              "  #{setting} = #{rendered_setting set}"
            }
          end
          conf.length == 0 ? nil : conf
        }.flatten.compact
      end
      
      def setting_to_array(setting)
        value = send(setting)
        case value
        when Array      then value
        when TrueClass  then [1]
        when FalseClass then [0]
        else
          [value]
        end
      end
      
      def rendered_setting(setting)
        return setting unless setting.is_a?(String)
        
        index  = 8100
        output = setting.clone
        
        while index < output.length
          output.insert(index, "\\\n")
          index += 8100
        end
        
        output
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
riddle-1.5.10 lib/riddle/configuration/section.rb
riddle-1.5.9 lib/riddle/configuration/section.rb
riddle-1.5.8 lib/riddle/configuration/section.rb
riddle-1.5.7 lib/riddle/configuration/section.rb
riddle-1.5.6 lib/riddle/configuration/section.rb
riddle-1.5.5 lib/riddle/configuration/section.rb
riddle-1.5.4 lib/riddle/configuration/section.rb
riddle-1.5.3 lib/riddle/configuration/section.rb
riddle-1.5.2 lib/riddle/configuration/section.rb
riddle-1.5.1 lib/riddle/configuration/section.rb
riddle-1.5.0 lib/riddle/configuration/section.rb
riddle-1.4.0 lib/riddle/configuration/section.rb