Sha256: 34fad79bd13b12e99c253ed1a20334c86beb305353a05ab57514b40dc1b9b92f

Contents?: true

Size: 659 Bytes

Versions: 3

Compression:

Stored size: 659 Bytes

Contents

require File.join(File.dirname(__FILE__),"./parser")

module IceCream
  class IceCream

    def initialize(path)
      Dir.glob("#{path}/*.flavor") do |flavor_file_path|
        flavor = Parser.get_flavor flavor_file_path
        instance_name = flavor.class.to_s.downcase
        instance_variable_set("@"+instance_name, flavor)
        define_singleton_method(instance_name) do
          "@"+instance_name
        end
        define_singleton_method(instance_name+"=") do |new_value|
          "@"+instance_name = new_value
        end
      end

      def flavor flavor
        instance_variable_get ("@" + flavor.to_s).to_sym
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
icecream-0.0.4 lib/icecream/icecream.rb
icecream-0.0.3 lib/icecream/icecream.rb
icecream-0.0.2 lib/icecream/icecream.rb