Module: Strobe::Resource::Collection

Extended by:
ActiveSupport::Concern
Includes:
Base
Included in:
Strobe::Resources::Account, Strobe::Resources::Application, Strobe::Resources::Assignment, Strobe::Resources::Membership, Strobe::Resources::Team, Strobe::Resources::User
Defined in:
lib/strobe/resource/collection.rb

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary

Attributes included from Base

#response

Instance Method Summary collapse

Methods included from Base

#[], #[]=, #destroy, #initialize, #key?, #merge!, #params, #params=, #persisted?, #save, #save!

Methods included from Validations

#read_attribute_for_validation, #valid_attribute?, #valid_for_given_attributes?

Instance Method Details

#idObject

Raises:

  • (NotImplementedError)


77
78
79
# File 'lib/strobe/resource/collection.rb', line 77

def id
  raise NotImplementedError
end

#keyObject



81
82
83
# File 'lib/strobe/resource/collection.rb', line 81

def key
  self.class.key.key_for(self)
end

#reload(opts = {}) ⇒ Object



89
90
91
92
93
94
95
96
97
# File 'lib/strobe/resource/collection.rb', line 89

def reload(opts = {})
  resp = Strobe.connection.get "#{self.class.resource_uri}/#{key}"
  resp.validate! if opts[:validate]

  if resp.success?
    self.params = resp.body[self.class.singular_resource_name]
    self
  end
end

#reload!(opts = {}) ⇒ Object



85
86
87
# File 'lib/strobe/resource/collection.rb', line 85

def reload!(opts = {})
  reload(opts.merge(:validate => true))
end