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/after_format.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.5.0'

Class Method Summary collapse

Class Method Details

.configurationObject



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

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

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

Yields:



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

def configure
  yield(configuration)
end

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



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

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



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

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



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

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

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



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

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