Module: Letters

Defined in:
lib/letters/diff.rb,
lib/letters/patch.rb,
lib/letters/config.rb,
lib/letters/helpers.rb,
lib/letters/version.rb,
lib/letters/core_ext.rb,
lib/letters/nil_error.rb,
lib/letters/kill_error.rb,
lib/letters/empty_error.rb,
lib/letters/time_formats.rb,
lib/letters/assertion_error.rb

Defined Under Namespace

Modules: Config, CoreExt, Helpers Classes: AssertionError, EmptyError, KillError, NilError

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.config(&block) ⇒ Object



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

def self.config(&block)
  Letters::Config.class_eval(&block)
end

.defaultsObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/letters/config.rb', line 4

def self.defaults
  defaults = {
    a: { error_class: Letters::AssertionError },
    d1: { dup: false },
    d2: { format: "ap" },
    f: { format: "yaml", name: "log" },
    k: { max: 0 },
    l: { level: "info", format: "yaml" },
    o: { format: "ap", stream: $stdout },
    t: { time_format: "millis" }
  }

  defaults.tap do |hash|
    hash.default_proc = lambda {|h, k| h[k] = Hash.new }
  end
end

.defaults_with(letter, opts = {}) ⇒ Object



25
26
27
# File 'lib/letters/config.rb', line 25

def self.defaults_with(letter, opts={})
  defaults[letter].merge(user_defaults[letter]).merge(opts)
end

.object_for_diffObject



6
7
8
# File 'lib/letters/diff.rb', line 6

def self.object_for_diff
  @@object if defined?(@@object)
end

.object_for_diff=(object) ⇒ Object



2
3
4
# File 'lib/letters/diff.rb', line 2

def self.object_for_diff=(object)
  @@object = object
end

.patch!(obj) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/letters/patch.rb', line 4

def self.patch!(obj)
  case obj
  when Class
    obj.instance_eval do
      include Letters::CoreExt
    end
  when Object
    obj.extend Letters::CoreExt
  end
end

.reset_config!Object



29
30
31
# File 'lib/letters/config.rb', line 29

def self.reset_config!
  user_defaults.clear
end

.user_defaultsObject



21
22
23
# File 'lib/letters/config.rb', line 21

def self.user_defaults
  @user_defaults ||= Hash.new {|h, k| h[k] = Hash.new }
end