Class: FieldMaskBuilder::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/field_mask_builder/engine.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fields) ⇒ Engine

Returns a new instance of Engine.

Parameters:

  • fields (Symbol | String | Hash | Array)


12
13
14
# File 'lib/field_mask_builder/engine.rb', line 12

def initialize(fields)
  @fields = fields
end

Class Method Details

.build(fields) ⇒ <String>

Parameters:

  • fields (Symbol | String | Hash | Array)

Returns:

  • (<String>)


6
7
8
# File 'lib/field_mask_builder/engine.rb', line 6

def build(fields)
  Engine.new(fields).build
end

Instance Method Details

#build<String>

Returns:

  • (<String>)


17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/field_mask_builder/engine.rb', line 17

def build
  r = []
  Helper.to_array(@fields).each do |f|
    case f
    when Symbol, String
      r.push(f.to_s)
    when Hash
      r += to_field_mask_paths(f)
    else
      raise "f must be Symbol or String or Hash, but got #{f}"
    end
  end
  r
end