Class: RubyAem::Resources::ConfigProperty

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_aem/resources/config_property.rb

Overview

ConfigProperty class contains API calls related to managing an AEM config property.

Instance Method Summary collapse

Constructor Details

#initialize(client, name, type, value) ⇒ Object

Initialise a config property

Parameters:

  • client

    RubyAem::Client

  • name

    the property's name

  • type

    the property's type, e.g. Boolean

  • value

    the property's value, e.g. true



27
28
29
30
31
32
33
34
# File 'lib/ruby_aem/resources/config_property.rb', line 27

def initialize(client, name, type, value)
  @client = client
  @call_params = {
    name: name,
    type: type,
    value: value
  }
end

Instance Method Details

#create(run_mode, config_node_name) ⇒ Object

Create a new config property.

Parameters:

  • run_mode

    AEM run mode: author or publish

  • @param

    config_node_name the node name of a given OSGI config

Returns:

  • RubyAem::Result



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ruby_aem/resources/config_property.rb', line 41

def create(run_mode, config_node_name)
  name = RubyAem::Swagger.property_to_parameter(@call_params[:name])
  type_hint_prefix = name.gsub(/^_/, '')

  @call_params[:run_mode] = run_mode
  @call_params[:config_node_name] = config_node_name
  @call_params[name.to_sym] = @call_params[:value]
  @call_params["#{type_hint_prefix}_type_hint".to_sym] = @call_params[:type]

  config_name = Swagger.config_node_name_to_config_name(config_node_name)
  @client.call(self.class, __callee__.to_s.concat(config_name.downcase.gsub(/\s+/, '')), @call_params)
end