Method: Flydata::Helper::Config.config_param

Defined in:
lib/flydata/helper/config_parser.rb

.config_param(name, format, option = {}) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/flydata/helper/config_parser.rb', line 95

def config_param(name, format, option = {})
  method_name = name.to_s
  key = option[:key] || name
  default_value = option[:default]

  case option[:type]
  when :scheduled_actions
    define_method(method_name) do |action_name|
      Config.convert_format(format, fetch_scheduled_actions_conf(
        action_name, key, default_value))
    end
  else
    define_method(method_name) do
      def_val = if default_value.respond_to?(:call)
                  default_value.call(self)
                else
                  default_value
                end
      Config.convert_format(format, self[key] || def_val)
    end
  end
end