Class: Wraith::CLI

Inherits:
Thor
  • Object
show all
Includes:
Logging, Thor::Actions
Defined in:
lib/wraith/cli.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Logging

#logger, logger

Instance Attribute Details

#config_nameObject

Returns the value of attribute config_name.



19
20
21
# File 'lib/wraith/cli.rb', line 19

def config_name
  @config_name
end

Class Method Details

.source_rootObject



21
22
23
# File 'lib/wraith/cli.rb', line 21

def self.source_root
  File.expand_path("../../../", __FILE__)
end

Instance Method Details

#capture(config, multi = false) ⇒ Object



119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/wraith/cli.rb', line 119

def capture(config, multi = false)
  within_acceptable_limits do
    logger.info Wraith::Validate.new(config).validate("capture")
    reset_shots(config)
    setup_folders(config)
    save_images(config)
    crop_images(config)
    compare_images(config)
    generate_thumbnails(config)
    generate_gallery(config, multi)
  end
end

#compare_images(config_name) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/wraith/cli.rb', line 92

def compare_images(config_name)
  within_acceptable_limits do
    logger.info "COMPARING IMAGES"
    compare = Wraith::CompareImages.new(config_name)
    compare.compare_images
  end
end

#copy_base_images(config_name) ⇒ Object



66
67
68
69
70
71
# File 'lib/wraith/cli.rb', line 66

def copy_base_images(config_name)
  within_acceptable_limits do
    copy = Wraith::FolderManager.new(config_name)
    copy.copy_base_images
  end
end

#crop_images(config_name) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/wraith/cli.rb', line 83

def crop_images(config_name)
  within_acceptable_limits do
    logger.info "CROPPING IMAGES"
    crop = Wraith::CropImages.new(config_name)
    crop.crop_images
  end
end


110
111
112
113
114
115
116
# File 'lib/wraith/cli.rb', line 110

def generate_gallery(config_name, multi = false)
  within_acceptable_limits do
    logger.info "GENERATING GALLERY"
    gallery = Wraith::GalleryGenerator.new(config_name, multi)
    gallery.generate_gallery
  end
end

#generate_thumbnails(config_name) ⇒ Object



101
102
103
104
105
106
107
# File 'lib/wraith/cli.rb', line 101

def generate_thumbnails(config_name)
  within_acceptable_limits do
    logger.info "GENERATING THUMBNAILS"
    thumbs = Wraith::Thumbnails.new(config_name)
    thumbs.generate_thumbnails
  end
end

#history(config) ⇒ Object



143
144
145
146
147
148
149
150
151
# File 'lib/wraith/cli.rb', line 143

def history(config)
  within_acceptable_limits do
    logger.info Wraith::Validate.new(config).validate("history")
    reset_shots(config)
    setup_folders(config)
    save_images(config)
    Wraith::FolderManager.new(config).copy_old_shots
  end
end

#infoObject



169
170
171
# File 'lib/wraith/cli.rb', line 169

def info
  list_debug_information
end

#latest(config) ⇒ Object



154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/wraith/cli.rb', line 154

def latest(config)
  within_acceptable_limits do
    logger.info Wraith::Validate.new(config).validate("latest")
    reset_shots(config)
    setup_folders(config)
    save_images(config, true)
    copy_base_images(config)
    crop_images(config)
    compare_images(config)
    generate_thumbnails(config)
    generate_gallery(config)
  end
end

#multi_capture(filelist) ⇒ Object



133
134
135
136
137
138
139
140
# File 'lib/wraith/cli.rb', line 133

def multi_capture(filelist)
  within_acceptable_limits do
    config_array = IO.readlines(filelist)
    config_array.each do |config|
      capture(config.chomp, true)
    end
  end
end

#reset_shots(config_name) ⇒ Object



50
51
52
53
54
55
# File 'lib/wraith/cli.rb', line 50

def reset_shots(config_name)
  within_acceptable_limits do
    reset = Wraith::FolderManager.new(config_name)
    reset.clear_shots_folder
  end
end

#save_images(config_name, history = false) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/wraith/cli.rb', line 74

def save_images(config_name, history = false)
  within_acceptable_limits do
    logger.info "SAVING IMAGES"
    save_images = Wraith::SaveImages.new(config_name, history)
    save_images.save_images
  end
end

#setupObject



33
34
35
36
37
38
# File 'lib/wraith/cli.rb', line 33

def setup
  within_acceptable_limits do
    directory("templates/configs", "configs")
    directory("templates/javascript", "javascript")
  end
end

#setup_folders(config_name) ⇒ Object



58
59
60
61
62
63
# File 'lib/wraith/cli.rb', line 58

def setup_folders(config_name)
  within_acceptable_limits do
    create = Wraith::FolderManager.new(config_name)
    create.create_folders
  end
end

#spider(config) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/wraith/cli.rb', line 41

def spider(config)
  within_acceptable_limits do
    logger.info Wraith::Validate.new(config, { imports_must_resolve: false }).validate("spider")
    spider = Wraith::Spider.new(config)
    spider.crawl
  end
end

#validate(config_name) ⇒ Object



26
27
28
29
30
# File 'lib/wraith/cli.rb', line 26

def validate(config_name)
  within_acceptable_limits do
    logger.info Wraith::Validate.new(config_name).validate
  end
end

#versionObject



175
176
177
# File 'lib/wraith/cli.rb', line 175

def version
  logger.info Wraith::VERSION
end