class ActionBlocks::ModelBuilder
Public Instance Methods
active_model_is_an_active_record_class()
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 21 def active_model_is_an_active_record_class if @active_model.class != Class errors.add(:active_model, "Must be an ActiveRecord Class") else if !@active_model.ancestors.include? ActiveRecord::Base errors.add(:active_model, "Must be an ActiveRecord Class") end end end
after_build(parent, *args)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 31 def after_build(parent, *args) # Every model has an identity field if !@fields.map(&:id).include?(:id) @dsl_delegate.identity end end
filter_reqs(record_id:, user:)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 62 def filter_reqs(record_id:, user:) [:eq, :id, record_id] end
hashify(user)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 66 def hashify(user) { key: key, type: type, name_field: name_field.try(:id), singular_name: singular_name, plural_name: plural_name } end
name_to_json(record_id:, user:)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 45 def name_to_json(record_id:, user:) select_reqs = [name_field.select_requirements] filter_reqs = [:eq, :id, record_id] engine = DataEngine.new(active_model, select_reqs: select_reqs, filter_reqs: filter_reqs) engine.first_to_json end
select_requirements(fields = nil)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 38 def select_requirements(fields = nil) sel_reqs = @fields.map(&:select_requirements) sel_reqs = sel_reqs.select { |r| fields.include? r[:field_name] } unless fields.nil? return sel_reqs end
selection_filter_reqs(record_id:, user:)
click to toggle source
# File lib/action_blocks/builders/model_builder.rb, line 52 def selection_filter_reqs(record_id:, user:) [ { base_path: [active_model, :id], predicate: :eq, related_path: [record_id] } ] end