Module: JRuby::ScalaSupport::Map::Common

Includes:
Common
Included in:
Immutable, Mutable
Defined in:
lib/jruby/scala_support.rb

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



62
63
64
65
66
67
68
69
# File 'lib/jruby/scala_support.rb', line 62

def [](key)
  value = @raw.get(key)
  if value == None
    nil
  else
    value.get.from_scala
  end
end

#as_json(options = nil) ⇒ Object



100
101
102
103
104
# File 'lib/jruby/scala_support.rb', line 100

def as_json(options=nil)
  each_with_object({}) do |(key, value), hash|
    hash[key.as_json(options)] = value.as_json(options)
  end
end

#eachObject



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/jruby/scala_support.rb', line 75

def each
  if block_given?
    @raw.foreach do |tuple|
      yield tuple._1.from_scala, tuple._2.from_scala
    end
  else
    iterator = @raw.iterator

    Enumerator.new do |yielder|
      while iterator.hasNext
        tuple = iterator.next
        yielder << [tuple._1.from_scala, tuple._2.from_scala]
      end
    end
  end
end

#has_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/jruby/scala_support.rb', line 71

def has_key?(key)
  @raw.contains(key)
end

#to_sObject



92
93
94
95
96
97
98
# File 'lib/jruby/scala_support.rb', line 92

def to_s
  first = true
  each_with_object("{") do |(key, value), str|
    first ? first = false : str << ", "
    str << "#{key}=>#{value}"
  end << "}"
end