class McBlocky::DSL::Selector
Public Class Methods
new(name, **kwargs)
click to toggle source
# File lib/mcblocky/dsl/selector.rb, line 3 def initialize(name, **kwargs) @name = name if kwargs[:loc] loc = kwargs[:loc] raise ArgumentError, "Relative locations are not allowed in selectors" if loc.is_relative? kwargs[:x] = loc.x kwargs[:y] = loc.y kwargs[:z] = loc.z kwargs.delete :loc end @args = kwargs end
Public Instance Methods
[](**args)
click to toggle source
# File lib/mcblocky/dsl/selector.rb, line 16 def [](**args) Selector.new(@name, @args.merge(args)) end
to_s()
click to toggle source
# File lib/mcblocky/dsl/selector.rb, line 20 def to_s if @args.empty? @name else pairs = @args.map{|k,v| "#{k}=#{v}"} "#{@name}[#{pairs.join(',')}]" end end