Class: Groupped::Settings::Group

Inherits:
Object
  • Object
show all
Extended by:
ActiveModel::Translation
Includes:
ActiveModel::Attributes, ActiveModel::Dirty, ActiveModel::Model, ActiveModel::Serializers::JSON
Defined in:
lib/groupped/settings/group.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(record) ⇒ Group

Returns a new instance of Group.



33
34
35
36
37
# File 'lib/groupped/settings/group.rb', line 33

def initialize(record)
  @settings_record = record
  super(self.class.sanitize(record.settings))
  clear_changes_information
end

Class Attribute Details

.group_nameObject

Returns the value of attribute group_name.



15
16
17
# File 'lib/groupped/settings/group.rb', line 15

def group_name
  @group_name
end

Instance Attribute Details

#settings_recordObject (readonly)

Returns the value of attribute settings_record.



31
32
33
# File 'lib/groupped/settings/group.rb', line 31

def settings_record
  @settings_record
end

Class Method Details

.attribute_namesObject



19
20
21
# File 'lib/groupped/settings/group.rb', line 19

def self.attribute_names
  attribute_types.keys
end

.load(target: nil, settings: {}) ⇒ Object



27
28
29
# File 'lib/groupped/settings/group.rb', line 27

def self.load(target: nil, settings: {})
  Groupped::Settings[self.group_name, self, target: target, settings: settings]
end

.sanitize(settings) ⇒ Object



23
24
25
# File 'lib/groupped/settings/group.rb', line 23

def self.sanitize(settings)
  Record.sanitize(settings).slice(*self.attribute_names)
end

Instance Method Details

#==(other) ⇒ Object



51
52
53
# File 'lib/groupped/settings/group.rb', line 51

def ==(other)
  group_name == other.group_name && attributes == other.attributes
end

#group_nameObject



47
48
49
# File 'lib/groupped/settings/group.rb', line 47

def group_name
  self.class.group_name
end

#saveObject



55
56
57
58
59
# File 'lib/groupped/settings/group.rb', line 55

def save
  save!
rescue StandardError => e
  false
end

#save!Object



61
62
63
64
65
66
# File 'lib/groupped/settings/group.rb', line 61

def save!
  validate!
  _save!
  clear_changes_information
  true
end

#to_hObject



39
40
41
# File 'lib/groupped/settings/group.rb', line 39

def to_h
  serializable_hash
end

#to_hashObject



43
44
45
# File 'lib/groupped/settings/group.rb', line 43

def to_hash
  serializable_hash
end