Module: ForestLiana::Collection::ClassMethods
- Defined in:
- lib/forest_liana/collection.rb
Instance Attribute Summary collapse
-
#active_record_class ⇒ Object
writeonly
Sets the attribute active_record_class.
-
#collection_name ⇒ Object
Returns the value of attribute collection_name.
-
#is_read_only ⇒ Object
Returns the value of attribute is_read_only.
-
#is_searchable ⇒ Object
Returns the value of attribute is_searchable.
Instance Method Summary collapse
- #action(name, opts = {}) ⇒ Object
- #collection(collection_name, opts = {}) ⇒ Object
- #field(name, opts, &block) ⇒ Object
- #has_many(name, opts, &block) ⇒ Object
Instance Attribute Details
#active_record_class=(value) ⇒ Object
Sets the attribute active_record_class
5 6 7 |
# File 'lib/forest_liana/collection.rb', line 5 def active_record_class=(value) @active_record_class = value end |
#collection_name ⇒ Object
Returns the value of attribute collection_name.
6 7 8 |
# File 'lib/forest_liana/collection.rb', line 6 def collection_name @collection_name end |
#is_read_only ⇒ Object
Returns the value of attribute is_read_only.
7 8 9 |
# File 'lib/forest_liana/collection.rb', line 7 def is_read_only @is_read_only end |
#is_searchable ⇒ Object
Returns the value of attribute is_searchable.
8 9 10 |
# File 'lib/forest_liana/collection.rb', line 8 def is_searchable @is_searchable end |
Instance Method Details
#action(name, opts = {}) ⇒ Object
16 17 18 19 |
# File 'lib/forest_liana/collection.rb', line 16 def action(name, opts = {}) opts[:name] = name model.actions << ForestLiana::Model::Action.new(opts) end |
#collection(collection_name, opts = {}) ⇒ Object
10 11 12 13 14 |
# File 'lib/forest_liana/collection.rb', line 10 def collection(collection_name, opts = {}) self.collection_name = collection_name.to_s self.is_read_only = opts[:read_only] || false self.is_searchable = opts[:is_searchable] || true end |
#field(name, opts, &block) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/forest_liana/collection.rb', line 21 def field(name, opts, &block) model.fields << opts.merge({ field: name, :'is-searchable' => false }) if serializer_name ForestLiana::UserSpace.const_get(serializer_name).class_eval do attribute(name, &block) end end end |
#has_many(name, opts, &block) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/forest_liana/collection.rb', line 31 def has_many(name, opts, &block) model.fields << opts.merge({ field: name, :'is-searchable' => false, type: ['String'] }) if serializer_name ForestLiana::UserSpace.const_get(serializer_name).class_eval do has_many(name, name: name) end end end |