Class: Insup
- Inherits:
-
Object
show all
- Defined in:
- lib/insup.rb,
lib/insup/version.rb
Defined Under Namespace
Modules: Console, Exceptions
Classes: Git, Insales, Settings, TrackedFile, Tracker, Uploader
Constant Summary
collapse
- VERSION =
'0.2'
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(base, settings) ⇒ Insup
Returns a new instance of Insup.
14
15
16
17
|
# File 'lib/insup.rb', line 14
def initialize(base, settings)
@settings = settings
@base = base
end
|
Class Method Details
.create_insup_file(dir = nil) ⇒ Object
Initializes a directory with a default .insup file
20
21
22
23
24
|
# File 'lib/insup.rb', line 20
def self.create_insup_file(dir = nil)
dir ||= Dir.getwd
template_file = File.join(File.dirname(File.expand_path(__FILE__)), '../insup.template')
FileUtils.cp(template_file, File.join(dir, '.insup'))
end
|
.logger ⇒ Object
10
11
12
|
# File 'lib/insup.rb', line 10
def self.logger
@logger
end
|
.logger=(val) ⇒ Object
5
6
7
8
|
# File 'lib/insup.rb', line 5
def self.logger=(val)
@logger = val
Insup::Insales.logger = @logger
end
|
Instance Method Details
#changes ⇒ Object
78
79
80
|
# File 'lib/insup.rb', line 78
def changes
tracker.changes
end
|
#commit(files = nil) ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/insup.rb', line 41
def commit(files = nil)
if files.nil? || files.empty?
list = changes
else
list = files.map do |f|
mode = File.exist?(f) ? TrackedFile::MODIFIED : TrackedFile::DELETED
TrackedFile.new(f, mode)
end
end
list.each do |file|
uploader.process_file(file)
end
end
|
#files(options = {}) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/insup.rb', line 30
def files(options = {})
files = case options[:mode]
when nil
tracker.tracked_files
when :all
tracker.all_files
when :ignored
tracker.ignored_files
end
end
|
#insales ⇒ Object
74
75
76
|
# File 'lib/insup.rb', line 74
def insales
@insales ||= Insales.new(@settings)
end
|
#listen ⇒ Object
82
83
84
85
86
87
88
89
90
|
# File 'lib/insup.rb', line 82
def listen
@listener = Listener.new(@base, @settings)
@listener.listen do |changes|
changes.each do |change|
uploader.process_file(change)
end
end
end
|
#stop_listening ⇒ Object
92
93
94
|
# File 'lib/insup.rb', line 92
def stop_listening
@listener.stop
end
|
#tracked_locations ⇒ Object
26
27
28
|
# File 'lib/insup.rb', line 26
def tracked_locations
@settings.tracked_locations
end
|
#tracker ⇒ Object
65
66
67
68
69
70
71
72
|
# File 'lib/insup.rb', line 65
def tracker
@tracker ||= if tracker_conf = @settings.tracker
klass = Insup::Tracker.find_tracker(tracker_conf['class']) || Object::const_get(tracker_conf['class'])
klass.new(@base, @settings)
else
Tracker::SimpleTracker.new(@settings)
end
end
|
#uploader ⇒ Object
56
57
58
59
60
61
62
63
|
# File 'lib/insup.rb', line 56
def uploader
@uploader ||= if uploader_conf = @settings.uploader
klass = Insup::Uploader.find_uploader(uploader_conf['class']) || Object::const_get(uploader_conf['class'])
klass.new(@settings)
else
Uploader::Dummy.new(@settings)
end
end
|