Class: Supa::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/supa/builder.rb

Constant Summary collapse

COMMANDS_WITH_DEFAULT_INTERFACE =
%w(attribute virtual object namespace collection append).freeze

Instance Method Summary collapse

Constructor Details

#initialize(subject, representer:, tree:) ⇒ Builder

Returns a new instance of Builder.



5
6
7
8
9
# File 'lib/supa/builder.rb', line 5

def initialize(subject, representer:, tree:)
  @subject = subject
  @representer = representer
  @tree = tree
end

Instance Method Details

#attributes(*names, **options) ⇒ Object



24
25
26
27
28
# File 'lib/supa/builder.rb', line 24

def attributes(*names, **options)
  Supa::Commands::Attributes.new(
    @subject, representer: @representer, tree: @tree, name: names, options: options
  ).represent
end

#to_hashObject



30
31
32
# File 'lib/supa/builder.rb', line 30

def to_hash
  @tree.to_hash
end

#to_jsonObject



34
35
36
# File 'lib/supa/builder.rb', line 34

def to_json
  Oj.dump(to_hash, mode: :strict)
end