Module: PaperTrail::Human

Defined in:
lib/paper_trail/human.rb,
lib/paper_trail/human/railtie.rb,
lib/paper_trail/human/version.rb,
lib/paper_trail/human/configuration.rb,
lib/paper_trail/human/core/timeline.rb,
lib/paper_trail/human/core/presenter.rb,
lib/paper_trail/human/ports/resolver.rb,
lib/paper_trail/human/core/batch_presenter.rb,
lib/paper_trail/human/core/field_formatter.rb,
lib/paper_trail/human/core/change_extractor.rb,
lib/paper_trail/human/core/event_translator.rb,
lib/paper_trail/human/adapters/resolvers/date.rb,
lib/paper_trail/human/adapters/resolvers/enum.rb,
lib/paper_trail/human/adapters/resolvers/text.rb,
lib/paper_trail/human/adapters/formatters/html.rb,
lib/paper_trail/human/adapters/formatters/text.rb,
lib/paper_trail/human/adapters/resolvers/custom.rb,
lib/paper_trail/human/adapters/resolvers/number.rb,
lib/paper_trail/human/adapters/resolvers/boolean.rb,
lib/paper_trail/human/adapters/resolvers/relation.rb,
lib/generators/paper_trail/human/install_generator.rb,
lib/paper_trail/human/adapters/formatters/markdown.rb

Defined Under Namespace

Modules: Adapters, Core, Ports, VersionExtension Classes: Configuration, Error, InstallGenerator, ModelConfig, Railtie

Constant Summary collapse

VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.configurationObject



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

def configuration
  @configuration || MUTEX.synchronize { @configuration ||= Configuration.new }
end

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

Yields:



42
43
44
# File 'lib/paper_trail/human.rb', line 42

def configure
  yield(configuration)
end

.format(version, only: nil, except: nil, as: nil) ⇒ Object



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

def format(version, only: nil, except: nil, as: nil)
  result = Core::Presenter.new(configuration).call(version, only: only, except: except)
  as ? formatter(as).call(result) : result
end

.format_collection(versions, only: nil, except: nil, as: nil) ⇒ Object



55
56
57
58
# File 'lib/paper_trail/human.rb', line 55

def format_collection(versions, only: nil, except: nil, as: nil)
  results = Core::BatchPresenter.new(configuration).call(versions, only: only, except: except)
  as ? results.map { |r| formatter(as).call(r) } : results
end

.reset_configuration!Object



46
47
48
# File 'lib/paper_trail/human.rb', line 46

def reset_configuration!
  MUTEX.synchronize { @configuration = Configuration.new }
end