Module: Her::Model::Parse::ClassMethods

Defined in:
lib/her/model/parse.rb

Instance Method Summary collapse

Instance Method Details

#include_root_in_json(value, options = {}) ⇒ Object

Return or change the value of ‘include_root_in_json`

Examples:

class User
  include Her::Model
  include_root_in_json true
end


90
91
92
93
# File 'lib/her/model/parse.rb', line 90

def include_root_in_json(value, options = {})
  @_her_include_root_in_json = value
  @_her_include_root_in_json_format = options[:format]
end

#parse_root_in_json(value, options = {}) ⇒ Object

Return or change the value of ‘parse_root_in_json`

Examples:

class User
  include Her::Model
  parse_root_in_json true
end

class User
  include Her::Model
  parse_root_in_json true, format: :active_model_serializers
end

class User
  include Her::Model
  parse_root_in_json true, format: :json_api
end


112
113
114
115
# File 'lib/her/model/parse.rb', line 112

def parse_root_in_json(value, options = {})
  @_her_parse_root_in_json = value
  @_her_parse_root_in_json_format = options[:format]
end

#request_new_object_on_build(value = nil) ⇒ Object

Return or change the value of ‘request_new_object_on_build`

Examples:

class User
  include Her::Model
  request_new_object_on_build true
end


124
125
126
# File 'lib/her/model/parse.rb', line 124

def request_new_object_on_build(value = nil)
  @_her_request_new_object_on_build = value
end

#root_element(value = nil) ⇒ Object

Return or change the value of ‘root_element`. Always defaults to the base name of the class.

Examples:

class User
  include Her::Model
  parse_root_in_json true
  root_element :huh
end

user = User.find(1) # { :huh => { :id => 1, :name => "Tobias" } }
user.name # => "Tobias"


139
140
141
142
143
144
145
146
147
148
149
# File 'lib/her/model/parse.rb', line 139

def root_element(value = nil)
  if value.nil?
    if json_api_format?
      @_her_root_element ||= self.name.split("::").last.pluralize.underscore.to_sym
    else
      @_her_root_element ||= self.name.split("::").last.underscore.to_sym
    end
  else
    @_her_root_element = value.to_sym
  end
end