class RubyLint::MethodCall::AssignMember
The AssignMember
class is used for evaluating object member assignments. This includes the following types of assignments:
-
Array index assignments
-
Hash key assignments
Public Instance Methods
evaluate(arguments, context, block = nil)
click to toggle source
@see Base#evaluate
# File lib/ruby-lint/method_call/assign_member.rb, line 14 def evaluate(arguments, context, block = nil) return if context.frozen? *members, values = arguments member_values = prepare_values(values) members.each do |member| member = create_member(member.value.to_s, member_values.shift) context.add_definition(member) end end
Private Instance Methods
create_member(name, value)
click to toggle source
@param [String] name @param [Mixed] value @return [RubyLint::Definition::RubyObject]
# File lib/ruby-lint/method_call/assign_member.rb, line 34 def create_member(name, value) return Definition::RubyObject.new( :name => name, :type => :member, :value => value ) end
prepare_values(values)
click to toggle source
@param [Array] values @return [Array]
# File lib/ruby-lint/method_call/assign_member.rb, line 46 def prepare_values(values) if values and values.array? member_values = values.list(:member).map(&:value) elsif values member_values = [values] end return member_values end