Module: PostJson::SettingsMethods::ClassMethods

Defined in:
lib/post_json/concerns/settings_methods.rb

Instance Method Summary collapse

Instance Method Details

#create_dynamic_index_milliseconds_thresholdObject



110
111
112
# File 'lib/post_json/concerns/settings_methods.rb', line 110

def create_dynamic_index_milliseconds_threshold
  read_settings_attribute('create_dynamic_index_milliseconds_threshold')
end

#create_dynamic_index_milliseconds_threshold=(millisecs) ⇒ Object



114
115
116
# File 'lib/post_json/concerns/settings_methods.rb', line 114

def create_dynamic_index_milliseconds_threshold=(millisecs)
  write_settings_attribute('create_dynamic_index_milliseconds_threshold', millisecs)
end

#created_at_attribute_nameObject



70
71
72
# File 'lib/post_json/concerns/settings_methods.rb', line 70

def created_at_attribute_name
  read_settings_attribute('created_at_attribute_name')
end

#created_at_attribute_name=(attribute_name) ⇒ Object



74
75
76
# File 'lib/post_json/concerns/settings_methods.rb', line 74

def created_at_attribute_name=(attribute_name)
  write_settings_attribute('created_at_attribute_name', attribute_name)
end

#include_version_numberObject



86
87
88
# File 'lib/post_json/concerns/settings_methods.rb', line 86

def include_version_number
  read_settings_attribute('include_version_number')
end

#include_version_number=(value) ⇒ Object



90
91
92
# File 'lib/post_json/concerns/settings_methods.rb', line 90

def include_version_number=(value)
  write_settings_attribute('include_version_number', value)
end

#metaObject



51
52
53
# File 'lib/post_json/concerns/settings_methods.rb', line 51

def meta
  HashWithIndifferentAccess.new(read_settings_attribute('meta'))
end

#meta=(hash) ⇒ Object



55
56
57
# File 'lib/post_json/concerns/settings_methods.rb', line 55

def meta=(hash)
  write_settings_attribute('meta', HashWithIndifferentAccess.new(hash))
end

#new?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/post_json/concerns/settings_methods.rb', line 24

def new?
  settings.new_record?
end

#persisted?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/post_json/concerns/settings_methods.rb', line 28

def persisted?
  settings.persisted?
end

#persisted_settingsObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/post_json/concerns/settings_methods.rb', line 10

def persisted_settings
  if settings.new_record?
    existing = ModelSettings.by_collection(collection_name).first
    if existing
      updates = settings.changes.inject({}) {|result, (k,v)| result[k] = v[1]; result}
      existing.update_attributes(updates)
      @settings = existing
    else
      settings.save!
    end
  end
  settings
end

#read_settings_attribute(attribute_name) ⇒ Object



37
38
39
40
# File 'lib/post_json/concerns/settings_methods.rb', line 37

def read_settings_attribute(attribute_name)
  attribute_name = attribute_name.to_s
  settings[attribute_name]
end

#reload_settings!Object



32
33
34
35
# File 'lib/post_json/concerns/settings_methods.rb', line 32

def reload_settings!
  @settings = nil
  settings
end

#settingsObject



6
7
8
# File 'lib/post_json/concerns/settings_methods.rb', line 6

def settings
  @settings ||= ModelSettings.by_collection(collection_name).first_or_initialize(collection_name: collection_name)
end

#updated_at_attribute_nameObject



78
79
80
# File 'lib/post_json/concerns/settings_methods.rb', line 78

def updated_at_attribute_name
  read_settings_attribute('updated_at_attribute_name')
end

#updated_at_attribute_name=(attribute_name) ⇒ Object



82
83
84
# File 'lib/post_json/concerns/settings_methods.rb', line 82

def updated_at_attribute_name=(attribute_name)
  write_settings_attribute('updated_at_attribute_name', attribute_name)
end

#use_dynamic_indexObject



102
103
104
# File 'lib/post_json/concerns/settings_methods.rb', line 102

def use_dynamic_index
  read_settings_attribute('use_dynamic_index')
end

#use_dynamic_index=(value) ⇒ Object



106
107
108
# File 'lib/post_json/concerns/settings_methods.rb', line 106

def use_dynamic_index=(value)
  write_settings_attribute('use_dynamic_index', value)
end

#use_timestampsObject Also known as: record_timestamps



59
60
61
# File 'lib/post_json/concerns/settings_methods.rb', line 59

def use_timestamps
  read_settings_attribute('use_timestamps')
end

#use_timestamps=(value) ⇒ Object Also known as: record_timestamps=



63
64
65
# File 'lib/post_json/concerns/settings_methods.rb', line 63

def use_timestamps=(value)
  write_settings_attribute('use_timestamps', value)
end

#version_attribute_nameObject



94
95
96
# File 'lib/post_json/concerns/settings_methods.rb', line 94

def version_attribute_name
  read_settings_attribute('version_attribute_name')
end

#version_attribute_name=(attribute_name) ⇒ Object



98
99
100
# File 'lib/post_json/concerns/settings_methods.rb', line 98

def version_attribute_name=(attribute_name)
  write_settings_attribute('version_attribute_name', attribute_name)
end

#write_settings_attribute(attribute_name, value) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/post_json/concerns/settings_methods.rb', line 42

def write_settings_attribute(attribute_name, value)
  attribute_name = attribute_name.to_s
  if settings[attribute_name] != value
    settings[attribute_name] = value 
    settings.save! 
  end
  value
end