module Pipekit::FieldRepository
Public Instance Methods
find_label(field:, id:)
click to toggle source
# File lib/pipekit/field_repository.rb, line 14 def find_label(field:, id:) find_values(field) .find(raise_label_not_found(field, id)) { |value| value["id"] == id.to_i } .fetch("label", "") end
find_values(field)
click to toggle source
# File lib/pipekit/field_repository.rb, line 20 def find_values(field) find_by(name: field).fetch("options", [], choose_first_value: false) end
get_by_key(key)
click to toggle source
# File lib/pipekit/field_repository.rb, line 5 def get_by_key(key) key = Config.field_id(parent_resource, key) search_fields("key", key) end
get_by_name(name)
click to toggle source
# File lib/pipekit/field_repository.rb, line 10 def get_by_name(name) search_fields("name", name) end
Private Instance Methods
parent_resource()
click to toggle source
# File lib/pipekit/field_repository.rb, line 37 def parent_resource resource.pluralized.chomp("Fields") end
raise_label_not_found(field, id)
click to toggle source
# File lib/pipekit/field_repository.rb, line 26 def raise_label_not_found(field, id) -> { raise LabelNotFoundError.new(field, id) } end
search_fields(field_element, value)
click to toggle source
# File lib/pipekit/field_repository.rb, line 30 def search_fields(field_element, value) result = request.get.select { |element| element[field_element] == value } raise ResourceNotFoundError.new("#{parent_resource}Field searching by element #{field_element} for #{value} could not be found") if result.empty? result end