Module: WEEL::HashExt

Included in:
ManipulateHash, ReadHash, ReadOnlyHash
Defined in:
lib/weel.rb

Overview

}}}

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/weel.rb', line 67

def method_missing(name,*args)
  if args.empty? && @__weel_values.key?(name)
    @__weel_values[name]
  elsif args.empty? && @__weel_values.key?(name.to_s)
    @__weel_values[name.to_s]
  elsif name.to_s[-1..-1] == "=" && args.length == 1
    temp = name.to_s[0..-2]
    @__weel_values[temp.to_sym] = args[0]
  elsif name.to_s == "[]=" && args.length == 2
    @__weel_values[args[0]] = args[1]
  elsif name.to_s == "[]" && args.length == 1
    @__weel_values[args[0]]
  else
    nil
  end
end

Instance Method Details

#any?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/weel.rb', line 55

def any?
  @__weel_values&.any?
end

#empty?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/weel.rb', line 59

def empty?
  @__weel_values.nil? || @__weel_values.empty?
end

#to_json(*args) ⇒ Object



63
64
65
# File 'lib/weel.rb', line 63

def to_json(*args)
  @__weel_values.nil? ? '{}' : @__weel_values.to_json(*args)
end