module Her::Model::ORM::ClassMethods

Public Instance Methods

destroy_existing(id, params={}) click to toggle source

Destroy an existing resource

@example

User.destroy_existing(1)
# Called via DELETE "/users/1"
# File lib/her/model/orm.rb, line 163
def destroy_existing(id, params={})
  request(params.merge(_method: :delete, _path: build_request_path(params.merge(id: id)))) do |parsed_data|
    new(parse(parsed_data[:data]))
  end
end
include_root_in_json(value=nil) click to toggle source

Return or change the value of ‘include_root_in_json`

# File lib/her/model/orm.rb, line 178
def include_root_in_json(value=nil)
  return @include_root_in_json if value.nil?
  @include_root_in_json = value
end
new_collection(parsed_data) click to toggle source

Initialize a collection of resources with raw data from an HTTP request

@param [Array] parsed_data

# File lib/her/model/orm.rb, line 132
def new_collection(parsed_data)
  Her::Model::ORM.initialize_collection(self, parsed_data)
end
parse(data) click to toggle source

Parse data before assigning it to a resource

@param [Hash] data

# File lib/her/model/orm.rb, line 139
def parse(data)
  if parse_root_in_json
    parse_root_in_json == true ? data[root_element.to_sym] : data[parse_root_in_json]
  else
    data
  end
end
parse_root_in_json(value=nil) click to toggle source

Return or change the value of ‘parse_root_in`

# File lib/her/model/orm.rb, line 184
def parse_root_in_json(value=nil)
  return @parse_root_in_json if value.nil?
  @parse_root_in_json = value
end
save_existing(id, params) click to toggle source

Save an existing resource and return it

@example

@user = User.save_existing(1, { fullname: "Tobias Fünke" })
# Called via PUT "/users/1"
# File lib/her/model/orm.rb, line 152
def save_existing(id, params)
  resource = new(params.merge(id: id))
  resource.save
  resource
end
setter_method_names() click to toggle source

@private

# File lib/her/model/orm.rb, line 170
def setter_method_names
  @setter_method_names ||= instance_methods.inject(Set.new) do |memo, method_name|
    memo << method_name.to_s if method_name.to_s.end_with?('=')
    memo
  end
end