Module: Drakkon::Images::CLI
- Defined in:
- lib/drakkon/lib/images/cli.rb
Overview
General Entry Point For Images Subcommand
Class Method Summary collapse
-
.menu ⇒ Object
rubocop:enable Metrics/CyclomaticComplexity.
- .prompt ⇒ Object
- .run!(args = []) ⇒ Object
-
.start(cmd, args) ⇒ Object
rubocop:disable Metrics/CyclomaticComplexity.
Class Method Details
.menu ⇒ Object
rubocop:enable Metrics/CyclomaticComplexity
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/drakkon/lib/images/cli.rb', line 45 def self. prompt.select('Image Helpers:', filter: true, per_page: 20) do || .choice name: 'Listing; Filter', value: :list .choice name: 'Biggest: Find largest dimensions', value: :biggest .choice name: 'Convert alpha to white', value: :white .choice name: 'Resize WxH', value: :resize .choice name: 'Scale', value: :scale .choice name: 'Shift (Splice/Gravity)', value: :shift .choice name: 'Roll', value: :roll .choice name: 'Flip/Flop', value: :flip_flop .choice name: 'Rotate', value: :rotate .choice name: 'Canvas (Change/Retain)', value: :canvas .choice name: 'Desaturate (Grey Colorspace)', value: :desaturate .choice name: 'Blur', value: :blur .choice name: 'Split SpriteSheet (split)', value: :split .choice name: 'Create SpriteSheet (combine)', value: :combine .choice name: 'Trim Transparency (trim)', value: :trim .choice name: 'Gif Split (gif_split)', value: :gif_split .choice name: 'Sepia', value: :sepia .choice name: 'Modulate', value: :modulate .choice name: 'TextToImage', value: :text_to_image .choice name: 'Index (Re-run Index)', value: :index .choice name: 'exit', value: :exit end rescue TTY::Reader::InputInterrupt exit 0 end |
.prompt ⇒ Object
73 74 75 |
# File 'lib/drakkon/lib/images/cli.rb', line 73 def self.prompt TTY::Prompt.new(active_color: :cyan, interrupt: :exit) end |
.run!(args = []) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/drakkon/lib/images/cli.rb', line 5 def self.run!(args = []) args ||= [] cmd = if args.empty? nil else args.shift.to_sym end start(cmd, args) end |
.start(cmd, args) ⇒ Object
rubocop:disable Metrics/CyclomaticComplexity
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/drakkon/lib/images/cli.rb', line 16 def self.start(cmd, args) case cmd when :list then Images::List.run!(args) when :biggest then Images::Biggest.run!(args) when :white then Images::White.run!(args) when :resize then Images::Resize.run!(args) when :shift then Images::Shift.run!(args) when :roll then Images::Roll.run!(args) when :scale then Images::Scale.run!(args) when :flip_flop then Images::FlipFlop.run!(args) when :rotate then Images::Rotate.run!(args) when :canvas then Images::Canvas.run!(args) when :blur then Images::Blur.run!(args) when :split then Images::SplitSpriteSheet.run!(args) when :combine then Images::SpriteSheetCombine.run!(args) when :trim then Images::Trim.run!(args) when :gif_split then Images::GifSplit.run!(args) when :sepia then Images::Sepia.run!(args) when :modulate then Images::Modulate.run!(args) when :bulk_rename then Images::BulkRename.run!(args) when :text_to_image then Images::TextToImage.run!(args) when :index then Images::Index.run!(force: true) when :exit then exit(0) else start(, args) end end |