Module: ActiveExport

Defined in:
lib/active_export.rb,
lib/active_export/csv.rb,
lib/active_export/base.rb,
lib/active_export/version.rb,
lib/active_export/configuration.rb

Defined Under Namespace

Classes: Base, Configuration, Csv

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



36
37
38
# File 'lib/active_export.rb', line 36

def [](key)
  source(key)
end

.clear!Object



40
41
42
43
# File 'lib/active_export.rb', line 40

def clear!
  @source = {}
  true
end

.configurationObject Also known as: config

Accessor for ActiveExport::Configuration



31
32
33
# File 'lib/active_export.rb', line 31

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Examples:

ActiveExportconfigure do |config|
  # ActiveExport export configuration files.
  config.sources = { default: Rails.root.join('config', 'active_export.yml') }

  # see CSV.new options 
  config.default_csv_optoins = { col_sep: ',', row_sep: "\n", force_quotes: true }

  # if set 'true', ActiveExport no cached yml data. Every time load yml file.
  # if set 'false', ActiveExport cached yml data.
  config.always_reload = true # default false

  # if set 'true', not found sources[:source_name] to raise error
  config.no_source_raise_error = false # default
end

Yields:



26
27
28
# File 'lib/active_export.rb', line 26

def configure
  yield configuration
end

.include_source?(key) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/active_export.rb', line 64

def include_source?(key)
  @configuration.sources.has_key?(key)
end

.load!(key) ⇒ Object



45
46
47
48
# File 'lib/active_export.rb', line 45

def load!
  config.sources.each {|f| source(f) }
  true
end

.reload!Object



50
51
52
53
# File 'lib/active_export.rb', line 50

def reload!
  clear!
  load!
end

.source(key) ⇒ Object



55
56
57
58
59
60
61
62
# File 'lib/active_export.rb', line 55

def source(key)
  if @configuration.always_reload
    load!(key)
  else
    @sources ||= {}
    @sources[key] ||= load!(key)
  end
end