Sha256: 433a0d4e84c6c574e428d9d1243f5823249c9a02ddfd399320e00cb4910cb086
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
Generators ========== Unlike processors and encoders, generators create content out of nothing, rather than modifying already existing content, for example text image generation. You can register as many generators as you like. Given a Dragonfly app app = Dragonfly[:images] we can get generated content using image = app.generate(:some_method, :some => :args) where `:some_method` is added by the configured generators. ImageMagick Generator --------------------- See {file:Imagemagick}. Custom Generators ----------------- To register a single custom generator: app.generator.add :blank_image do |colour| SomeLibrary.create_blank_image(colour) # return a String, Pathname, File or Tempfile end app.generate(:blank_image, 'red') # => 'Job' object which we can get data, etc. Or create a class like the ImageMagick one above, in which case all public methods will be counted as generator methods. class RoundedCornerGenerator def top_left_corner(opts={}) SomeLib.tlc(opts) end def bottom_right_corner(opts={}) tempfile = Tempfile.new('brc') `some_command -c #{opts[:colour]} -o #{tempfile.path}` tempfile end # ... private def my_helper_method # do stuff end end app.generator.register(RoundedCornerGenerator) app.generate(:top_left_corner, :colour => 'green') app.generate(:bottom_right_corner, :colour => 'mauve')
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
oahu-dragonfly-0.8.2 | extra_docs/Generators.md |