Module: ActiveRecord::AdminpanelExtension::ClassMethods

Defined in:
lib/adminpanel/active_record/adminpanel_extension.rb

Overview

static(class) methods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.relation_field ⇒ Object



159
160
161
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 159

def self.relation_field
  'undefined_relation_field'
end

Instance Method Details



39
40
41
42
43
44
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 39

def act_as_a_gallery
  before_create :set_position
  before_destroy :rearrange_positions

  default_scope { order("position ASC")}
end

#act_as_a_gallery? ⇒ Boolean

Returns:

  • (Boolean)


155
156
157
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 155

def act_as_a_gallery?
  nil
end

#belongs_to_relationships ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 127

def belongs_to_relationships
  belongs_to_classes = []
  form_attributes.each do |fields|
  fields.each do |attribute, properties|
    if properties["type"] == "belongs_to"
      belongs_to_classes << properties["model"].classify.constantize
    end
  end
  end
  return belongs_to_classes
end

#display_attributes ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 92

def display_attributes
  display_attributes = []
  form_attributes.each do |attribute|
    attribute.each do |name, properties|
      if properties["show"].nil? || properties["show"] == "true"
        display_attributes << attribute
      end
    end
  end

  return display_attributes
end

#display_name ⇒ Object



55
56
57
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 55

def display_name
  "display_name"
end

#form_attributes ⇒ Object



46
47
48
49
50
51
52
53
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 46

def form_attributes
  [{
    "name" => {
      "type" => "text_field",
      "label" => "name"
    }
  }]
end

#get_attribute_label(field) ⇒ Object



70
71
72
73
74
75
76
77
78
79
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 70

def get_attribute_label(field)
  form_attributes.each do |attribute|
    attribute.each do |name, properties|
      if name == field
        return properties["label"]
      end
    end
  end
  return ":("
end

#get_attribute_name(field) ⇒ Object



59
60
61
62
63
64
65
66
67
68
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 59

def get_attribute_name(field)
  form_attributes.each do |attribute|
    attribute.each do |name, properties|
      if name == field
        return properties["label"]
      end
    end
  end
  return ":("
end

#get_attribute_placeholder(field) ⇒ Object



81
82
83
84
85
86
87
88
89
90
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 81

def get_attribute_placeholder(field)
  form_attributes.each do |attribute|
    attribute.each do |name, properties|
      if name == field
        return properties["placeholder"]
      end
    end
  end
  return ":("
end

#get_image_relationship ⇒ Object



116
117
118
119
120
121
122
123
124
125
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 116

def get_image_relationship
  form_attributes.each do |fields|
  fields.each do |attribute, properties|
    if properties["type"] == "adminpanel_file_field"
      return attribute
    end
  end
  end
  return false
end

#has_images? ⇒ Boolean

Returns:

  • (Boolean)


105
106
107
108
109
110
111
112
113
114
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 105

def has_images?
  form_attributes.each do |fields|
  fields.each do |attribute, properties|
    if properties["type"] == "adminpanel_file_field"
      return true
    end
  end
  end
  return false
end

#has_many_relationships ⇒ Object



139
140
141
142
143
144
145
146
147
148
149
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 139

def has_many_relationships
  has_many_classes = []
  form_attributes.each do |fields|
  fields.each do |attribute, properties|
    if properties["type"] == "has_many"
      has_many_classes << properties["model"].classify.constantize
    end
  end
  end
  return has_many_classes
end

#icon ⇒ Object



151
152
153
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 151

def icon
  "icon-truck"
end

#mount_images(relation) ⇒ Object



34
35
36
37
# File 'lib/adminpanel/active_record/adminpanel_extension.rb', line 34

def mount_images(relation)
  has_many relation, :dependent => :destroy
accepts_nested_attributes_for relation, :allow_destroy => true
end