class ImageParadise::ImageBorder

Constants

DELETE_OUTPUT_FILE_IF_IT_EXISTS
#

DELETE_OUTPUT_FILE_IF_IT_EXISTS

#

Public Class Methods

[](i = '') click to toggle source
#

ImageParadise::ImageBorder[]

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 218
def self.[](i = '')
  new(i)
end
new( i = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 34
def initialize(
    i           = nil,
    run_already = true
  )
  reset
  set_this_image_file(i)
  run if run_already
end

Public Instance Methods

assemble_main_command() click to toggle source
#

assemble_main_command

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 193
def assemble_main_command
  @cmd = CONVERT+' '
  @cmd << input_file?+' '
  @cmd << "-bordercolor '#{colour?}' "
  @cmd << '-border '+@dimension+' '
  name_of_the_output_file = determine_name_of_the_output_file
  @cmd << name_of_the_output_file
end
cmd?() click to toggle source
#

cmd?

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 174
def cmd?
  @cmd
end
colour?() click to toggle source
#

colour?

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 55
def colour?
  @border_colour
end
determine_name_of_the_output_file() click to toggle source
#

determine_name_of_the_output_file

Use this method to determine the name of the output file that will be created de-novo.

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 158
def determine_name_of_the_output_file
  _ = name_of_the_output_file?
  if File.exist?(_) and !DELETE_OUTPUT_FILE_IF_IT_EXISTS
    # ===================================================================== #
    # In this case use a randomized name.
    # ===================================================================== #
    sample = ''
    20.times { sample << ALPHABET.sample }
    _ = 'OUTPUT_'+sample+input_file?.sub(/\.png$/,'').sub(/\.jpg$/,'')+'.png'
  end
  return _
end
input?()
Alias for: this_image_file?
input_file?()
Alias for: this_image_file?
menu(i) click to toggle source
#

menu (menu tag)

#
name_of_the_output_file?() click to toggle source
#

name_of_the_output_file?

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 148
def name_of_the_output_file?
  'OUTPUT_'+input_file?.sub(/\.png$/,'').sub(/\.jpg$/,'')+'.png'
end
Also aliased as: output_file?
output_file?()
parse_this_input(i) click to toggle source
#

parse_this_input

This method will parse the commandline options.

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 104
def parse_this_input(i)
  if i =~ /(--colour (\S{1,25}))/
    set_colour($2.to_s.dup)
    i.sub!(/#{$1.to_s}/,'')
  end
  if i =~ /(--dimension (\S{1,25}))/
    set_dimension($2.to_s.dup)
    i.sub!(/#{$1.to_s}/,'')
  end
  return i
end
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method ImageParadise::Base#reset
# File lib/image_paradise/utility_scripts/image_border.rb, line 46
def reset
  super()
  set_border_colour :random # Initialize as default border-colour.
  @dimension = '10x10'
end
run() click to toggle source
#

run (run tag)

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 205
def run
  _ = input_file?
  if File.exist? _
    assemble_main_command
    run_main_command
  else
    opn; e 'No file called '+sfile(_)+' exists.'
  end
end
run_main_command() click to toggle source
#

run_main_command

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 181
def run_main_command
  _ = cmd?
  if DELETE_OUTPUT_FILE_IF_IT_EXISTS and output_file_exists?
    File.delete(output_file?)
  end
  e _
  system _
end
set_border_colour(i = 'SkyBlue') click to toggle source
#

set_border_colour

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 126
def set_border_colour(i = 'SkyBlue')
  case i.to_s
  when 'default'
    i = 'black'
  when 'RANDOM','random'
    require 'colours' unless Object.const_defined? :Colours
    i = Colours.random_html_colour
  end
  @border_colour = i
end
Also aliased as: set_colour
set_colour(i = 'SkyBlue')
Alias for: set_border_colour
set_dimension(i) click to toggle source
#

set_dimension

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 119
def set_dimension(i)
  @dimension = i
end
set_this_image_file(i = '') click to toggle source
#

set_this_image_file

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 62
def set_this_image_file(i = '')
  i = i.join(' ').strip if i.is_a? Array
  i.squeeze!(' ')
  i = parse_this_input(i)
  i.strip!
  menu(i)
  @this_image_file = i
end
show_help() click to toggle source
#

show_help (help tag)

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 74
  def show_help
    help_string = <<-EOF

These options are available:

  image_border foobar.png --colour RANDOM --dimension 50x25

EOF
    e help_string
  end
this_image_file?() click to toggle source
#

this_image_file?

#
# File lib/image_paradise/utility_scripts/image_border.rb, line 140
def this_image_file?
  @this_image_file
end
Also aliased as: input?, input_file?