Class: DrawSmd::Diagram
- Inherits:
-
Object
- Object
- DrawSmd::Diagram
- Defined in:
- app/models/draw_smd/diagram.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create(title, domain) ⇒ Object
-
#initialize(path) ⇒ Diagram
constructor
A new instance of Diagram.
Constructor Details
#initialize(path) ⇒ Diagram
22 23 24 25 |
# File 'app/models/draw_smd/diagram.rb', line 22 def initialize(path) @path = File.(path, Rails.root) FileUtils.mkdir_p(@path) end |
Class Method Details
.schemas ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'app/models/draw_smd/diagram.rb', line 4 def schemas schemas = ActiveRecord::Base.connection.tables schemas.delete('schema_migrations') schemas.map! {|schema| schema.singularize.camelize} schemas = schemas.inject([]) { |arr, schema| arr << schema if state_machines?(schema) arr } schemas.sort end |
.state_machines?(schema) ⇒ Boolean
15 16 17 18 19 |
# File 'app/models/draw_smd/diagram.rb', line 15 def state_machines?(schema) Object.const_get(schema).respond_to?(:state_machines) rescue false end |
Instance Method Details
#create(title, domain) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/models/draw_smd/diagram.rb', line 27 def create(title, domain) = { path: @path, name: title } Rails.application.eager_load! StateMachine::Machine.draw(domain, ) rescue => e Rails.logger.error(e) end |