Module: Letters

Defined in:
lib/letters/diff.rb,
lib/letters/kill.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.4.1"

Class Method Summary collapse

Class Method Details

.config(&block) ⇒ Object



42
43
44
# File 'lib/letters/config.rb', line 42

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: { on: 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



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

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

.global_defaultsObject



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

def self.global_defaults
  @global_defaults || {}
end

.global_defaults=(opts) ⇒ Object



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

def self.global_defaults=(opts)
  @global_defaults = opts
end

.kill_countObject



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

def self.kill_count
  @@kill_count if defined?(@@kill_count)
end

.kill_count=(count) ⇒ Object



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

def self.kill_count=(count)
  @@kill_count = count
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



37
38
39
40
# File 'lib/letters/config.rb', line 37

def self.reset_config!
  global_defaults.clear
  user_defaults.clear
end

.user_defaultsObject



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

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