Class: LucidWorks::Synonym

Inherits:
Object
  • Object
show all
Extended by:
ActiveModel::Naming, SimpleNaming
Includes:
ActiveModel::Conversion, ActiveModel::Validations
Defined in:
lib/lucid_works/synonym.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SimpleNaming

model_name

Constructor Details

#initialize(attributes = {}) ⇒ Synonym

Returns a new instance of Synonym.



17
18
19
20
21
22
# File 'lib/lucid_works/synonym.rb', line 17

def initialize(attributes = {})
  @id = attributes[:id]
  @collection = attributes[:collection]
  @mapping = attributes[:mapping]
  @persisted = attributes[:persisted] || false
end

Instance Attribute Details

#collectionObject (readonly)

Returns the value of attribute collection.



9
10
11
# File 'lib/lucid_works/synonym.rb', line 9

def collection
  @collection
end

#idObject (readonly)

Returns the value of attribute id.



9
10
11
# File 'lib/lucid_works/synonym.rb', line 9

def id
  @id
end

#mappingObject

Returns the value of attribute mapping.



10
11
12
# File 'lib/lucid_works/synonym.rb', line 10

def mapping
  @mapping
end

#persistedObject (readonly)

Returns the value of attribute persisted.



9
10
11
# File 'lib/lucid_works/synonym.rb', line 9

def persisted
  @persisted
end

Instance Method Details

#destroyObject



49
50
51
52
# File 'lib/lucid_works/synonym.rb', line 49

def destroy
  settings.synonym_list.delete_at(id)
  settings.save
end

#persisted?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/lucid_works/synonym.rb', line 24

def persisted?
  @persisted
end

#saveObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/lucid_works/synonym.rb', line 28

def save
  return false unless valid?
  if persisted?
    settings.synonym_list[id] = mapping
  else
    settings.synonym_list << mapping
    @id = settings.synonym_list.length - 1
  end
  settings.save
  @persisted = true
rescue
  false
end

#update_attributes(attrs_and_values) ⇒ Object



42
43
44
45
46
47
# File 'lib/lucid_works/synonym.rb', line 42

def update_attributes(attrs_and_values)
  attrs_and_values.each do |attr,value|
    self.send("#{attr}=", value)
  end
  save
end