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/adapters/resolvers.rb,
lib/paper_trail/human/adapters/formatters.rb,
lib/paper_trail/human/core/batch_presenter.rb,
lib/paper_trail/human/core/field_formatter.rb,
lib/paper_trail/human/core/relation_loader.rb,
lib/paper_trail/human/core/change_extractor.rb,
lib/paper_trail/human/core/event_translator.rb,
lib/paper_trail/human/core/item_name_loader.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.4.0'

Class Method Summary collapse

Class Method Details

.configurationObject



30
31
32
# File 'lib/paper_trail/human.rb', line 30

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

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

Yields:



34
35
36
# File 'lib/paper_trail/human.rb', line 34

def configure
  yield(configuration)
end

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



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

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



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

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



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

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

.timeline(versions, group_by: :day, only: nil, except: nil) ⇒ Object



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

def timeline(versions, group_by: :day, only: nil, except: nil)
  Core::Timeline.new(configuration).call(versions, group_by: group_by, only: only, except: except)
end