Module: PostJson::SettingsMethods::ClassMethods
- Defined in:
- lib/post_json/concerns/settings_methods.rb
Instance Method Summary collapse
- #create_dynamic_index_milliseconds_threshold ⇒ Object
- #create_dynamic_index_milliseconds_threshold=(millisecs) ⇒ Object
- #created_at_attribute_name ⇒ Object
- #created_at_attribute_name=(attribute_name) ⇒ Object
- #include_version_number ⇒ Object
- #include_version_number=(value) ⇒ Object
- #meta ⇒ Object
- #meta=(hash) ⇒ Object
- #new? ⇒ Boolean
- #persisted? ⇒ Boolean
- #persisted_settings ⇒ Object
- #read_settings_attribute(attribute_name) ⇒ Object
- #reload_settings! ⇒ Object
- #settings ⇒ Object
- #updated_at_attribute_name ⇒ Object
- #updated_at_attribute_name=(attribute_name) ⇒ Object
- #use_dynamic_index ⇒ Object
- #use_dynamic_index=(value) ⇒ Object
- #use_timestamps ⇒ Object (also: #record_timestamps)
- #use_timestamps=(value) ⇒ Object (also: #record_timestamps=)
- #version_attribute_name ⇒ Object
- #version_attribute_name=(attribute_name) ⇒ Object
- #write_settings_attribute(attribute_name, value) ⇒ Object
Instance Method Details
#create_dynamic_index_milliseconds_threshold ⇒ Object
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_name ⇒ Object
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_number ⇒ Object
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 |
#meta ⇒ Object
51 52 53 |
# File 'lib/post_json/concerns/settings_methods.rb', line 51 def HashWithIndifferentAccess.new(read_settings_attribute('meta')) end |
#meta=(hash) ⇒ Object
55 56 57 |
# File 'lib/post_json/concerns/settings_methods.rb', line 55 def (hash) write_settings_attribute('meta', HashWithIndifferentAccess.new(hash)) end |
#new? ⇒ Boolean
24 25 26 |
# File 'lib/post_json/concerns/settings_methods.rb', line 24 def new? settings.new_record? end |
#persisted? ⇒ Boolean
28 29 30 |
# File 'lib/post_json/concerns/settings_methods.rb', line 28 def persisted? settings.persisted? end |
#persisted_settings ⇒ Object
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 |
#settings ⇒ Object
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_name ⇒ Object
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_index ⇒ Object
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_timestamps ⇒ Object Also known as: record_timestamps
59 60 61 |
# File 'lib/post_json/concerns/settings_methods.rb', line 59 def 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 (value) write_settings_attribute('use_timestamps', value) end |
#version_attribute_name ⇒ Object
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 |