Class: OrdDb::Model::Factory

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/ordlite/factory.rb,
lib/ordlite/models/factory.rb,
lib/ordlite/models/forward.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.generatorsObject

use id/slug to cache generators / spritesheets - why? why not?



100
101
102
# File 'lib/ordlite/factory.rb', line 100

def self.generators
    @generators ||= {}
end

Instance Method Details

#_parse_dimension(str) ⇒ Object

e.g. convert dimension (width x height) “24x24” or “24 x 24” to [24,24]



126
127
128
# File 'lib/ordlite/factory.rb', line 126

def _parse_dimension( str )
    str.split( /x/i ).map { |str| str.strip.to_i(10) }
end

#generate(*attributes) ⇒ Object

add g shortcut alias - why? why not?



120
121
122
# File 'lib/ordlite/factory.rb', line 120

def generate( *attributes )  ## add g shortcut alias - why? why not?
    generator.generate( *attributes )
end

#generatorObject



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/ordlite/factory.rb', line 104

def generator
    generators = self.class.generators
    if generators.has_key?( id )
        generators[ id ]
    else
        ## auto-add generator on first-time/hit/demand
        width, height = _parse_dimension( dim )
        inscribes = layers.to_a  ## get layer inscribe records
        generator = FactoryGenerator.read_inscribes( *inscribes,
                                                     width: width,
                                                     height: height )
        generators[ id ] = generator
        generator                         
    end
end

#inscriberefsObject

join table (use habtm - why? why not?)



10
# File 'lib/ordlite/models/factory.rb', line 10

has_many :inscriberefs