Class: SharedSettings::UI::Actions::Setting

Inherits:
SharedSettings::UI::Action show all
Defined in:
lib/shared_settings/ui/actions/setting.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from SharedSettings::UI::Action

#initialize

Constructor Details

This class inherits a constructor from SharedSettings::UI::Action

Class Method Details

.route_regexObject



7
8
9
# File 'lib/shared_settings/ui/actions/setting.rb', line 7

def self.route_regex
  %r{\A/api/settings(/(?<setting_name>\w*))?(/destroy)?\Z}
end

Instance Method Details

#deleteObject



39
40
41
42
43
# File 'lib/shared_settings/ui/actions/setting.rb', line 39

def delete
  SharedSettings.delete(@params['setting_name'])

  [200, headers, ['']]
end

#getObject



11
12
13
14
15
# File 'lib/shared_settings/ui/actions/setting.rb', line 11

def get
  all_settings_as_json = JSON.dump(SharedSettings.all.map(&:to_h))

  [200, headers, [all_settings_as_json]]
end

#postObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/shared_settings/ui/actions/setting.rb', line 17

def post
  create_or_update_setting(
    @params['name'],
    @params['type'],
    @params['value'],
    @params['encrypted']
  )

  [201, headers, ['']]
end

#putObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/shared_settings/ui/actions/setting.rb', line 28

def put
  create_or_update_setting(
    @params['setting_name'],
    @params['type'],
    @params['value'],
    @params['encrypted']
  )

  [201, headers, ['']]
end