Exception: Graphiti::Errors::AttributeError

Inherits:
Base
  • Object
show all
Defined in:
lib/graphiti/errors.rb

Direct Known Subclasses

InvalidAttributeAccess, UnknownAttribute

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource, name, flag, **opts) ⇒ AttributeError

Returns a new instance of AttributeError.



306
307
308
309
310
311
# File 'lib/graphiti/errors.rb', line 306

def initialize(resource, name, flag, **opts)
  @resource = resource
  @name = name
  @flag = flag
  @request = opts[:request] || false
end

Instance Attribute Details

#existsObject (readonly)

Returns the value of attribute exists.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def exists
  @exists
end

#flagObject (readonly)

Returns the value of attribute flag.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def flag
  @flag
end

#guardObject (readonly)

Returns the value of attribute guard.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def guard
  @guard
end

#nameObject (readonly)

Returns the value of attribute name.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def name
  @name
end

#requestObject (readonly)

Returns the value of attribute request.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def request
  @request
end

#resourceObject (readonly)

Returns the value of attribute resource.



299
300
301
# File 'lib/graphiti/errors.rb', line 299

def resource
  @resource
end

Instance Method Details

#actionObject



313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
# File 'lib/graphiti/errors.rb', line 313

def action
  if @request
    {
      sortable: "sort on",
      filterable: "filter on",
      readable: "read",
      writable: "write",
    }[@flag]
  else
    {
      sortable: "add sort",
      filterable: "add filter",
      readable: "read",
      writable: "write",
    }[@flag]
  end
end

#messageObject



340
341
342
# File 'lib/graphiti/errors.rb', line 340

def message
  "#{resource_name}: Tried to #{action} attribute #{@name.inspect}"
end

#resource_nameObject



331
332
333
334
335
336
337
338
# File 'lib/graphiti/errors.rb', line 331

def resource_name
  name = if @resource.is_a?(Graphiti::Resource)
    @resource.class.name
  else
    @resource.name
  end
  name || "AnonymousResourceClass"
end