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/pages/connectable.rb', line 5
def enjoy_connectable_field (name = :connected_pages, opts = {})
class_name = opts.delete(:class_name)
class_name ||= "Enjoy::Pages::Page"
routes_namespace = opts.delete(:routes_namespace)
routes_namespace ||= :main_app
autocreate_page = opts.delete(:autocreate_page)
autocreate_page = false if autocreate_page.nil?
has_many name, as: :enjoy_connectable, class_name: class_name
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::Pages.config.localize ? \"name_translations\" : \"name\"\n class_eval <<-EVAL\n after_create do\n if [true, 1, \"1\", \"true\", \"t\"].include?(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"
|