Class: SequenceLogo::PredefinedLogo
- Inherits:
-
Object
- Object
- SequenceLogo::PredefinedLogo
- Defined in:
- lib/sequence_logo/data_models/predefined_logo.rb
Instance Attribute Summary collapse
-
#direct_image ⇒ Object
readonly
Returns the value of attribute direct_image.
-
#reverse_image ⇒ Object
readonly
Returns the value of attribute reverse_image.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ PredefinedLogo
constructor
A new instance of PredefinedLogo.
- #length ⇒ Object
- #name ⇒ Object
- #render(canvas_factory) ⇒ Object
- #revcomp ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ PredefinedLogo
Returns a new instance of PredefinedLogo.
4 5 6 7 8 9 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 4 def initialize( = {}) @direct_image = [:direct_image] @reverse_image = [:reverse_image] @name = [:name] @length = [:length] end |
Instance Attribute Details
#direct_image ⇒ Object (readonly)
Returns the value of attribute direct_image.
3 4 5 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 3 def direct_image @direct_image end |
#reverse_image ⇒ Object (readonly)
Returns the value of attribute reverse_image.
3 4 5 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 3 def reverse_image @reverse_image end |
Instance Method Details
#length ⇒ Object
11 12 13 14 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 11 def length raise 'Length not defined' unless @length @length end |
#name ⇒ Object
16 17 18 19 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 16 def name raise 'Name not defined' unless @name @name end |
#render(canvas_factory) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 25 def render(canvas_factory) layers = Magick::ImageList.new layers.put_image_at(@direct_image, 0, 0) layers.unshift Magick::Image.new(@direct_image.columns, @direct_image.rows, canvas_factory.background_fill) layers.flatten_images end |
#revcomp ⇒ Object
21 22 23 |
# File 'lib/sequence_logo/data_models/predefined_logo.rb', line 21 def revcomp PredefinedLogo.new(direct_image: @reverse_image, reverse_image: @direct_image, name: @name, length: @length) end |