Sha256: 09e814c7e74975e518e40245eb05f3033339eb86eddea1bf10f6618a8c5b704c

Contents?: true

Size: 459 Bytes

Versions: 14

Compression:

Stored size: 459 Bytes

Contents

module Xot


  module Setter

    def set(*args)
      first = args.shift
      if first.kind_of? Hash
        first.each {|name, value| set_value__ name, value}
      else
        set_value__ first, *args
      end
    end

    private

      def set_value__(name, *values)
        raise ArgumentError, "set '#{values}' to '#{name}'" if
          !name || name.empty? || values.empty?
        __send__ "#{name}=", *values
      end

  end# Setter


end# Xot

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
xot-0.3.3 lib/xot/setter.rb
xot-0.3.2 lib/xot/setter.rb
xot-0.3.1 lib/xot/setter.rb
xot-0.3 lib/xot/setter.rb
xot-0.2.1 lib/xot/setter.rb
xot-0.2 lib/xot/setter.rb
xot-0.1.42 lib/xot/setter.rb
xot-0.1.41 lib/xot/setter.rb
xot-0.1.40 lib/xot/setter.rb
xot-0.1.39 lib/xot/setter.rb
xot-0.1.38 lib/xot/setter.rb
xot-0.1.37 lib/xot/setter.rb
xot-0.1.36 lib/xot/setter.rb
xot-0.1.35 lib/xot/setter.rb