Class: BrainDamage::ViewsGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/brain_damage/lib/views/views_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(resource) ⇒ ViewsGenerator

Returns a new instance of ViewsGenerator.



6
7
8
9
10
11
12
# File 'lib/generators/brain_damage/lib/views/views_generator.rb', line 6

def initialize(resource)
  @schemas = []
  @views = {}
  @resource = resource

  add_schema :custom
end

Instance Method Details

#add_schema(name) {|schema| ... } ⇒ Object

Yields:

  • (schema)


17
18
19
20
21
22
23
24
25
26
# File 'lib/generators/brain_damage/lib/views/views_generator.rb', line 17

def add_schema(name)
  schema = BrainDamage::ViewSchemas::Factory.create name, @resource
  @schemas << schema
  yield schema if block_given?
  schema.ensure_views_descriptions

  schema.views.each do |name, object|
    @views[name] = object unless @views[name]
  end
end

#generateObject



14
15
# File 'lib/generators/brain_damage/lib/views/views_generator.rb', line 14

def generate
end

#viewsObject



28
29
30
# File 'lib/generators/brain_damage/lib/views/views_generator.rb', line 28

def views
  @views.values
end