5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'app/models/concerns/enjoy/connectable.rb', line 5
def enjoy_connectable_field (name = :connected_pages, opts = {})
class_name = opts.delete(:class_name)
class_name ||= "Enjoy::Page"
routes_namespace = opts.delete(:routes_namespace)
routes_namespace ||= :main_app
autocreate_page = opts.delete(:autocreate_page)
autocreate_page = true if autocreate_page.nil?
has_many name, as: :connectable, class_name: "Enjoy::Page"
class_eval " def routes_namespace\n :\#{routes_namespace}\n end\n EVAL\n\n if autocreate_page\n attr_accessor :enjoy_connectable_autocreate_page\n _name_attr = Enjoy.config.localize ? \"name_translations\" : \"name\"\n class_eval <<-EVAL\n after_create do\n if self.enjoy_connectable_autocreate_page\n _p = \#{class_name}.new\n _p.\#{_name_attr} = self.\#{_name_attr}\n _p.connectable = self\n _p.save\n end\n end\n EVAL\n end\nend\n"
|