segfault-larch 1.0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+