Class: SketchParameters

Inherits:
Object
  • Object
show all
Defined in:
lib/jruby_art/creators/sketch_writer.rb

Overview

The SketchParameters class knows how to format, size, title & class name

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, args:) ⇒ SketchParameters

Returns a new instance of SketchParameters.



6
7
8
9
# File 'lib/jruby_art/creators/sketch_writer.rb', line 6

def initialize(name:, args:)
  @name = name
  @args = args
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



5
6
7
# File 'lib/jruby_art/creators/sketch_writer.rb', line 5

def args
  @args
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/jruby_art/creators/sketch_writer.rb', line 5

def name
  @name
end

Instance Method Details

#class_nameObject



11
12
13
# File 'lib/jruby_art/creators/sketch_writer.rb', line 11

def class_name
  name.split('_').collect(&:capitalize).join
end

#sketch_sizeObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jruby_art/creators/sketch_writer.rb', line 20

def sketch_size
  mode = args.length == 3 ? format(', %<mode>s', mode: args[2].upcase) : ''
  return 'size 200, 200' if args.empty?

  format(
    'size %<width>d, %<height>d%<mode>s',
    width: args[0].to_i,
    height: args[1].to_i,
    mode: mode
  )
end

#sketch_titleObject



15
16
17
18
# File 'lib/jruby_art/creators/sketch_writer.rb', line 15

def sketch_title
  human = name.split('_').collect(&:capitalize).join(' ')
  format("sketch_title '%<title>s'", title: human)
end