Sha256: 54d7690428651a0e30e859c00014d94e9714aba96c852ba40249069d00618440

Contents?: true

Size: 766 Bytes

Versions: 1

Compression:

Stored size: 766 Bytes

Contents

module TaskHelper
  class Record < Base
    data_member :app_id, :entity_id, :approved, :values

    def self.find(id, database_id:)
      if response = get(route: "apps/#{database_id}/dtypes/#{id}.json")
        new response['record'] if response['record']
      end
    end

    def initialize(args = {}, form: nil, **params)
      @form = form
      super(args.merge(params))
    end

    def form
      @form ||= Form.find(database: app_id, form: entity_id)
    end

    def fields
      form.fields
    end

    def [](field_name)
      pretty_values[field_name]
    end

    def pretty_values
      @pretty_values ||= values.each_with_object({}) do |(k,v), r|
        field = fields.find { |f| f.id == k }
        r[field.name] = v
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
task_helper-0.0.3 lib/task_helper/record.rb