Module: ActiveExport

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

Defined Under Namespace

Classes: Base, Configuration, Csv, Xml, Yaml

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



38
39
40
# File 'lib/active_export.rb', line 38

def [](key)
  source(key)
end

.clear!Object



42
43
44
45
# File 'lib/active_export.rb', line 42

def clear!
  @source = {}
  true
end

.configurationObject Also known as: config

Accessor for ActiveExport::Configuration



33
34
35
# File 'lib/active_export.rb', line 33

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:



28
29
30
# File 'lib/active_export.rb', line 28

def configure
  yield configuration
end

.include_source?(key) ⇒ Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/active_export.rb', line 66

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

.load!(key) ⇒ Object



47
48
49
50
# File 'lib/active_export.rb', line 47

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

.reload!Object



52
53
54
55
# File 'lib/active_export.rb', line 52

def reload!
  clear!
  load!
end

.source(key) ⇒ Object



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

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