Sha256: de733dea67f8b906e4ae48bcd07004597fa22cf5de62837991e2d04748a59bd0

Contents?: true

Size: 605 Bytes

Versions: 5

Compression:

Stored size: 605 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[resource_type] || {}
      end

      def build
        fields.nil? ? build_default : build_sparce
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jsonapionify-0.11.8 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.11.7 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.11.6 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.11.5 lib/jsonapionify/api/resource/builders/fields_builder.rb
jsonapionify-0.11.0 lib/jsonapionify/api/resource/builders/fields_builder.rb