class MarketoChef::Configuration
Store and validate Marketo client configuration data
Constants
- FIELDS
Attributes
campaign_id[RW]
client_id[RW]
client_secret[RW]
host[R]
Public Class Methods
new(config = {})
click to toggle source
# File lib/marketo_chef/configuration.rb, line 25 def initialize(config = {}) return unless config.any? config.map { |k, v| send("#{k}=", v) if FIELDS.include?(k) } end
Public Instance Methods
host=(value)
click to toggle source
# File lib/marketo_chef/configuration.rb, line 31 def host=(value) value = value.sub('mktoapi', 'mktorest') match = %r{https?:\/\/(.+)}.match(value) @host = match ? match[1] : value end
validate()
click to toggle source
# File lib/marketo_chef/configuration.rb, line 39 def validate missing = ->(f) { !instance_variable_defined?(:"@#{f}") } bomb = ->(f) { raise "Required Marketo configuration undefined: #{f}" } FIELDS.select(&missing).map(&bomb) end