Sha256: 883eb2ea9a9e6fd5b2a675a4ac5836d1c00101f5c870ec3625f303ca7bdcc94c

Contents?: true

Size: 616 Bytes

Versions: 8

Compression:

Stored size: 616 Bytes

Contents

module JSONAPIonify::Api
  module Resource::Builders
    class FieldsBuilder < BaseBuilder

      attr_reader :context, :instance, :example_id
      delegate :action_name, :fields, to: :context
      delegate :type, to: :resource, prefix: true

      def initialize(resource, instance:, context:, example_id:)
        super(resource)
        @instance = instance
        @context = context
        @example_id = example_id
      end

      def resource_fields
        fields && fields[resource_type]
      end

      def build
        resource_fields.nil? ? build_default : build_sparce
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jsonapionify-0.12.8 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.7 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.5 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.4 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.3 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.2 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.1 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.12.0 lib/jsonapionify/api/resource/builders/fields_builder.rb