Class: BrainDamage::ViewSchemas::Autocompletable

Inherits:
Base
  • Object
show all
Defined in:
lib/generators/brain_damage/lib/views/schemas/autocompletable.rb

Instance Attribute Summary

Attributes inherited from Base

#views

Instance Method Summary collapse

Methods inherited from Base

#find_views_names, #view_described?

Constructor Details

#initialize(resource) ⇒ Autocompletable

Returns a new instance of Autocompletable.



4
5
6
7
# File 'lib/generators/brain_damage/lib/views/schemas/autocompletable.rb', line 4

def initialize(resource)
  @resource = resource
  @views = {}
end

Instance Method Details

#describe_view(name, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/generators/brain_damage/lib/views/schemas/autocompletable.rb', line 16

def describe_view(name, options = {})
  options = {
    view_class_name: 'Base',
    template_name: "#{name.split('/').last}.html.haml",
    file_name: "#{name}.html.haml"
  }.merge options

  super name, options
end

#ensure_views_descriptionsObject



9
10
11
12
13
14
# File 'lib/generators/brain_damage/lib/views/schemas/autocompletable.rb', line 9

def ensure_views_descriptions
  ['_simple_selection', '_multiple_selection', '_links'].each do |name|
    name = "autocompletable/#{name}"
    describe_view(name) unless view_described? name
  end
end