segfault-larch 1.0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,50 @@
1
+ module Larch
2
+
3
+ class Logger
4
+ attr_reader :level, :output
5
+
6
+ LEVELS = {
7
+ :fatal => 0,
8
+ :error => 1,
9
+ :warn => 2,
10
+ :info => 3,
11
+ :debug => 4,
12
+ :insane => 5
13
+ }
14
+
15
+ def initialize(level = :info, output = $stdout)
16
+ self.level = level.to_sym
17
+ self.output = output
18
+ end
19
+
20
+ def const_missing(name)
21
+ return LEVELS[name] if LEVELS.key?(name)
22
+ raise NameError, "uninitialized constant: #{name}"
23
+ end
24
+
25
+ def method_missing(name, *args)
26
+ return log(name, *args) if LEVELS.key?(name)
27
+ raise NoMethodError, "undefined method: #{name}"
28
+ end
29
+
30
+ def level=(level)
31
+ raise ArgumentError, "invalid log level: #{level}" unless LEVELS.key?(level)
32
+ @level = level
33
+ end
34
+
35
+ def log(level, msg)
36
+ return true if LEVELS[level] > LEVELS[@level] || msg.nil? || msg.empty?
37
+ @output.puts "[#{Time.new.strftime('%b %d %H:%M:%S')}] [#{level}] #{msg}"
38
+ true
39
+
40
+ rescue => e
41
+ false
42
+ end
43
+
44
+ def output=(output)
45
+ raise ArgumentError, "output must be an instance of class IO" unless output.is_a?(IO)
46
+ @output = output
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,9 @@
1
+ module Larch
2
+ APP_NAME = 'Larch'
3
+ APP_VERSION = '1.0.2.3'
4
+ APP_AUTHOR = 'Ryan Grove'
5
+ APP_EMAIL = 'ryan@wonko.com'
6
+ APP_URL = 'http://github.com/rgrove/larch/'
7
+ APP_COPYRIGHT = 'Copyright (c) 2009 Ryan Grove <ryan@wonko.com>. All ' <<
8
+ 'rights reserved.'
9
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: segfault-larch
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2.3
5
+ platform: ruby
6
+ authors:
7
+ - Ryan Grove
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-08-22 00:00:00 -07:00
13
+ default_executable: larch
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: highline
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 1.5.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: sequel
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 3.3.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: sqlite3-ruby
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.5
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: trollop
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: "1.13"
54
+ version:
55
+ description:
56
+ email: ryan@wonko.com
57
+ executables:
58
+ - larch
59
+ extensions: []
60
+
61
+ extra_rdoc_files: []
62
+
63
+ files:
64
+ - HISTORY
65
+ - LICENSE
66
+ - README.rdoc
67
+ - bin/larch
68
+ - lib/larch/config.rb
69
+ - lib/larch/db/account.rb
70
+ - lib/larch/db/mailbox.rb
71
+ - lib/larch/db/message.rb
72
+ - lib/larch/db/migrate/001_create_schema.rb
73
+ - lib/larch/errors.rb
74
+ - lib/larch/imap/mailbox.rb
75
+ - lib/larch/imap.rb
76
+ - lib/larch/logger.rb
77
+ - lib/larch/version.rb
78
+ - lib/larch.rb
79
+ has_rdoc: false
80
+ homepage: http://github.com/rgrove/larch/
81
+ post_install_message:
82
+ rdoc_options: []
83
+
84
+ require_paths:
85
+ - lib
86
+ required_ruby_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 1.8.6
91
+ version:
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: "0"
97
+ version:
98
+ requirements: []
99
+
100
+ rubyforge_project:
101
+ rubygems_version: 1.2.0
102
+ signing_key:
103
+ specification_version: 3
104
+ summary: Larch syncs messages from one IMAP server to another. Awesomely.
105
+ test_files: []
106
+