class Contentful::Configuration

Attributes

assets_dir[R]
collections_dir[R]
config[R]
data_dir[R]
db[R]
drupal_base_url[R]
drupal_content_types[R]
entries_dir[R]
space_id[R]

Public Class Methods

new(settings) click to toggle source
# File lib/configuration.rb, line 16
def initialize(settings)
  @config = settings
  validate_required_parameters
  @data_dir = config['data_dir']
  @collections_dir = "#{data_dir}/collections"
  @entries_dir = "#{data_dir}/entries"
  @assets_dir = "#{data_dir}/assets"
  @space_id = config['space_id']
  @drupal_content_types = JSON.parse(File.read(config['drupal_content_types_json']), symbolize_names: true).with_indifferent_access
  @drupal_base_url = config['drupal_base_url']
  @db = adapter_setup
end

Public Instance Methods

adapter_setup() click to toggle source
# File lib/configuration.rb, line 41
def adapter_setup
  Sequel.connect(:adapter => config['adapter'], :user => config['user'], :host => config['host'], :database => config['database'], :password => config['password'])
end
define_adapter() click to toggle source
# File lib/configuration.rb, line 35
def define_adapter
  %w(adapter user host database).each do |param|
    fail ArgumentError, "Set database connection parameters [adapter, host, database, user, password]. Missing the '#{param}' parameter! Password is optional. Check README!" unless config[param]
  end
end
validate_required_parameters() click to toggle source
# File lib/configuration.rb, line 29
def validate_required_parameters
  fail ArgumentError, 'Set PATH to data_dir, the destination for all generated files. Check README' if config['data_dir'].nil?
  fail ArgumentError, 'Set PATH to drupal_content_types_json. File with Drupal database structure. View README' if config['drupal_content_types_json'].nil?
  define_adapter
end