Class: Lolcommits::Plugin::Glitch

Inherits:
Base
  • Object
show all
Defined in:
lib/lolcommits/plugin/glitch.rb

Constant Summary collapse

DEFAULT_GLITCH_LEVEL =
7
DEFAULT_GLITCH_CHANCE =
100
COMPOSITE_OPERATORS =
[
  Magick::AddCompositeOp,
  Magick::AtopCompositeOp,
  Magick::BumpmapCompositeOp,
  Magick::ColorBurnCompositeOp,
  Magick::ColorDodgeCompositeOp,
  Magick::ColorizeCompositeOp,
  Magick::HardLightCompositeOp,
  Magick::HueCompositeOp,
  Magick::InCompositeOp,
  Magick::LightenCompositeOp,
  Magick::LinearBurnCompositeOp,
  Magick::LinearDodgeCompositeOp,
  Magick::LinearLightCompositeOp,
  Magick::LuminizeCompositeOp,
  Magick::MultiplyCompositeOp,
  Magick::PegtopLightCompositeOp,
  Magick::PinLightCompositeOp,
  Magick::PlusCompositeOp,
  Magick::ReplaceCompositeOp,
  Magick::SaturateCompositeOp,
  Magick::SoftLightCompositeOp,
  Magick::VividLightCompositeOp,
  Magick::XorCompositeOp,
]

Instance Method Summary collapse

Instance Method Details

#default_optionsObject



52
53
54
55
56
57
# File 'lib/lolcommits/plugin/glitch.rb', line 52

def default_options
  {
    glitch_level: DEFAULT_GLITCH_LEVEL,
    glitch_probability: DEFAULT_GLITCH_CHANCE,
  }
end

#run_post_captureObject



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/lolcommits/plugin/glitch.rb', line 39

def run_post_capture
  images = Magick::Image.read(runner.lolcommit_path)
  glitch_image = image = images.first

  wax_poetic
  if rand(100) < config_option(:glitch_probability)
    debug "Glitching #{width(image)} x #{height(image)} #{config_option(:glitch_level)} times"
    glitch_image = glitch_image(image)
  end

  glitch_image.write runner.lolcommit_path
end

#valid_configuration?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/lolcommits/plugin/glitch.rb', line 59

def valid_configuration?
  !@configuration.nil? && !@configuration[:glitch_level].nil?
end